summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/config.c
AgeCommit message (Collapse)Author
2009-01-26Getting the higest IP only works if the compare is done in host byte order.Claudio Jeker
Same bug as in ospfd and ospf6d. *gulp*
2007-10-13in all these programs using the same pfctl-derived parse.y, re-unify theTheo de Raadt
yylex implementation and the code which interacts with yylex. this also brings the future potential for include support to all of the parsers. in the future please do not silly modifications to one of these files without checking if you are de-unifying the code. checked by developers in all these areas.
2007-01-31Replace another strtol() with strtonum() making the error checking easierClaudio Jeker
to understand. This is modeled after bgpctl's parse_prefix function. OK henning@
2006-03-15Allow the control socket to be changed on the command line. Useful if youClaudio Jeker
need to run multiple bgpds on a single box to simulate a IX. This helped me massivly debugging error reports. OK henning@
2006-01-24introduce a second control socket, which is restricted to certain messages,Henning Brauer
nameley the show ones. needed for looking glass style applications, monitoring etc. claudio ok
2005-07-14free commitz from pascoes kitchen. fix an error messageDavid Gwynne
ok henning@
2005-03-30bgpd used to open listeners in advance in the parent and the SE pickedHenning Brauer
those it needed, closing all the others. this has some nasty races. so let the parent keep the list of listeners so it knows when it has to open a new one claudio ok, also tested by jason ackley
2005-03-28better diagnostics on bind() failureHenning Brauer
2005-03-26inet_addr("127.0.0.1") -> htonl(INADDR_LOOPBACK)Claudio Jeker
Use IN_CLASSA_NET instead of hard coded 0xff000000 OK henning@
2005-03-23Move the neighbor checking code from merge_config() to neighbor_consistent()Claudio Jeker
where it belongs. OK henning@
2005-03-15remove listener if bind() fails. no point in having a defunct listenerHenning Brauer
in the list; causes issues with upcoming changes, spotted by Jason Ackley <jason@ackley.net>, claudio ok
2004-10-01if we're opening a socket for a default listener because no "listen on"Henning Brauer
stetements were found in the config file, and one fails with EPROTONOSUPPORT (this is the case for the default ::1 listener on machines without INET6), remove that listener and move on instead of bailing out. ok claudio
2004-06-20implement file descriptor passing in the imsg/msgbuf framework, and useHenning Brauer
it to let the main process to prepare new listening sockets (socket() and bind()) on behalf of the session engine, which of course cannot bind() to ports < 1024 any more once it dropped privileges. with some help from theo, claudio ok
2004-06-06rework bgpd's handling of listening sockets. instead of one for eachHenning Brauer
supported address familiy, keep a tailq of an arbitary number of them. the new struct listen_addr contains the sockaddr and the fd. this fixes quite some nasty behaviour which was a consequence of the previous model. looks right deraadt@, and discussed with claudio
2004-05-21RFC 2796 bgp route reflector support. This is very useful in conjunctionClaudio Jeker
with templates. looks good, go for it henning@
2004-05-04remove unused var; henning okTheo de Raadt
2004-04-27do the errno ERANGE dance around a strtol; henning okTheo de Raadt
2004-03-31it is no longer required to have local-address set with tcp md5sig,Henning Brauer
so remove the check.
2004-03-17consistencyHenning Brauer
2004-03-16tcp md5sig requires that local-address is specified as well for now, soHenning Brauer
enforce it.
2004-03-03missing freeaddrinfo()Henning Brauer
From: Patrick Latifi <pat@eyeo.org> Patrick is doing an _excellent_ job in finding all these little omissions, thank you very very much!
2004-03-02flesh out the address and prefix parsing, include v6 code, but reject v6Henning Brauer
upwards, claudio ok
2004-02-26Implement "enforce neighbor-as yes|no" which is by default on for ebgpClaudio Jeker
neighbors. While doing that check also that the nexthop is valid (not class D or E and not in 127/8 range). Kill some TODO and XXX and rename the british neighbour to neighbor as used everywhere else. OK henning@
2004-02-10enforce config file secrecy (correct owner, no rights for group/world)Henning Brauer
help and ok theo
2004-02-03replace the previous hack for the internal peer id allocator (which just usedHenning Brauer
the peer's ip address as u_int32_t) by a real id allocator that tries to keep locality high. claudio ok
2004-02-01Set sane default announce types according to the peer type. For IBGP useClaudio Jeker
announce all and for EBGP use announce self. OK henning@
2004-01-30in the parse_config() -> merge_config() chain, you shall not nullHenning Brauer
conf->opts that holds some of the command line opts. repairs -n.
2004-01-28don't pfkey_setkey() from here, claudio markus okHenning Brauer
2004-01-28pfkey_setkey: sockaddr -> bgpd_addr; ok claudioMarkus Friedl
2004-01-27use a struct bgpd_addr instead of sockaddr_in for peer_config->local_addr andHenning Brauer
->remote_addr for easier multiprotocol support ok claudio@
2004-01-27use SADB_GETSPI/UPDATE for setting tcpmd5 keys; ok henningMarkus Friedl
2004-01-26first cut at tcpmd5 setup seupport from within bgpd. works so far.Henning Brauer
with help from hshoexer@ and markus@ ok claudio@ hshoexer@ markus@
2004-01-24we can use memcpy for the whole thing in merge_config now instead ofHenning Brauer
copying each and every thing on its own yes, there was a reason to do it this way once, but it vanished ok claudio@
2004-01-22use log_warnx and log_info. reclassify a few messages in the process and fixHenning Brauer
a few messages. ok claudio@
2004-01-07don't try to be smart after config reloads and try to detect wetherHenning Brauer
a session needs a reinit for the new conf to kick in. the logic is condemned to fail, and implicitly taking sessions down is BAD. after discussion with mickey@, ok claudio@
2004-01-062004Henning Brauer
2004-01-03move some session specific stuff to session.h and make the few filesHenning Brauer
that need it include that
2004-01-03decouple the peer list from bgpd_config.Henning Brauer
so many parts of bgpd are not at all interested in the session specific peer structs... allows for some further cleaning
2004-01-02whitespaceJun-ichiro itojun Hagino
2003-12-30typos from davidHenning Brauer
2003-12-27styleHenning Brauer
2003-12-27move the fib couple/decouple to the config merge where it belongsHenning Brauer
2003-12-26add option 'log updates' to log updates. ok henning@Jakob Schlyter
2003-12-26when this project started and i added the fatal() function, I made it takeHenning Brauer
the error number as parameter instead of accessing errno, because in one place the error number was not in errno but fetched from a socket. now, of course it makes much more sense to just set errno to the error number just fecthed in this one place instead of having hundreds of fatal() calls all transfer the errno round and round and round... fix this, and also provide a fatalx, which does not care for errno and doesn't invoke strerror. oh, btw, in the place where we fetch the err # from the socket, we don't call fatal anymore anyway...
2003-12-25free where it was allocated; much easier to verifyHenning Brauer
2003-12-25don't leak memory THAT obvious on reconfigureHenning Brauer
2003-12-24syscalls return -1 on err so test for == -1 instead of the < 0 found in veryHenning Brauer
few places, requested by theo
2003-12-24add option to not touch the kernel routing tableHenning Brauer
2003-12-23allow the listening address to be specified, default to INADDR_ANYHenning Brauer
should make jose@ happy
2003-12-19for our internal peer ID just use the peer's IP address for now.Henning Brauer
this collides with multiviews (which we don't have yet) and will have to be changed then, but allows us to progress much faster now. ok claudio@