summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.c
AgeCommit message (Collapse)Author
2005-07-01Switch filter_sets form SIMPLEQ to TAILQ, needed for upcomming stuff.Claudio Jeker
2005-06-29rtlabel support via filter sets. Just use "set rtlabel foobar" in filtersClaudio Jeker
network and neighbor statements and the routes are labeled accordingly. While doing that fix some mem-leaks by introducing filterset_free() and remove the free on send option of send_filterset(). This took a bit longer because we need to carefully track the rtlabel id refcnts or bad things may happen on reloads. henning@ looks fine
2005-06-09Change the "network connected|static" statements to "network inet|inet6Claudio Jeker
connected|static" so that it is possible to distinguish between IPv4 and IPv6 addresses. "network connected|static" is considered deprecated but will be supported as an alias for "network inet connected|static" for some time (one release) to simplify upgrades. This also solve a nasty crash when using "network connected". OK henning@
2005-05-27will throw claudio in a big pot of kaesefondue for repeated whitespace fuckupsHenning Brauer
2005-05-27kroute6 support, at least partially. Get it in so that Henning can clean itClaudio Jeker
up more. OK henning@
2005-05-23one more endpwentHenning Brauer
2005-04-28Support for "network connected" and "network static" -- announce allClaudio Jeker
directly connected respectively all static routes. The list is auto- matically adjusted as soon as a route changes. 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-28free rules_l if the initial config file parse failsHenning Brauer
2005-03-24fix memory leak in error paths. found with coverity prevent.Ted Unangst
ok claudio henning
2005-02-09need to send IMSG_NETWORK_DONE after sending networks and associated filterHenning Brauer
sets, otherwise local netyworks get withdrawn after config reload; misbehaviour noticed by peter.galbavy@knowtion.net, claudio ok
2005-02-02usage() is __deadHenning Brauer
pt out by Alexander v Gernler
2004-11-23Switch from a single filter_set to a linked list of sets. With this changeClaudio Jeker
it is possible to specify multiple communities. This is also the first step to better bgpd filters. OK henning@
2004-10-19allow neighbor definitions to depend on interface state.Henning Brauer
with this, if a neighbor is configured as dependent on carp0 for example, the neighbor will remain in state IDLE as long as carp0 is not master. once carp0 becomes master the session(s) depending on it immediately go to CONNECT (or ACTIVE, if they're configured passive), reducing failover time. claudio ok, with some input from ryan as well
2004-09-23after receival of a SIGCHLD reset io_pid or rde_pid, respectively, dependentHenning Brauer
on which child went away.
2004-09-16imsg API cleanup:Henning Brauer
-kill imsg_compose_pid, imsg_compose_fdpass and imsg_create_pid -extend the original imsg_compose/_create API to take pid & fd too -make imsg_compose do imsg_create + imsg_add + imsg_close instead of duplicating the code -adjust all callers to the new API ok claudio
2004-09-16malloc the imsg buffers instead of having them staticly, suggested byHenning Brauer
micskye some time ago
2004-09-15if (signalflag) { dowork(); signalflag = 0; } is a race. First clear flag,Otto Moerbeek
then call work(). ok henning@
2004-08-24use session_socket_blockmode() instead of hand-rolling roughly the sameHenning Brauer
claudio ok
2004-08-05The peer_l is not needed in the rde but still allocated, free them andClaudio Jeker
save 1k per peer. OK henning@
2004-08-03Fix mem-leak on exit. OK henning@Claudio Jeker
2004-07-28The hole dance to close a mrt file after fd passing in the parent is notClaudio Jeker
needed as the fd is closed while beeing passed. looks good henning@
2004-07-05fix a few KNF falloutsHenning Brauer
2004-07-042 more file descriptors for each RDE and SE inherited from the parentHenning Brauer
we should close
2004-07-04when getting rid of the listen_addr TAILQ after forking actually closeHenning Brauer
the file descriptors in RDE and parent process, not needed or used there
2004-07-03Switch mrt dumping to fd passing. This gives some speed up when extensiveClaudio Jeker
dumping is done. Acctually mrt dumps were broken because of the fd passing. The nice side effect is a much cleaner code, especially in the parent process. OK henning@
2004-06-20at least somewhat consistently name the TAILQ_ENTRYs... this confused meHenning Brauer
more than once
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-21Add support for dynamic announcements. Usefule to annouce temporaryClaudio Jeker
blackhole routes or to make network announcements dependent on a external state (e.g. for carp setups) OK henning@
2004-05-07add a filter option to dump prefixes learned in UPDATEs into a PF table,Damien Miller
intended for building realtime BGP blacklists (e.g. with spamd); ok claudio & henning
2004-05-03little KNF issueHenning Brauer
2004-04-29sock -> fd; ok henningTheo de Raadt
2004-04-27crud stripping; henning okTheo de Raadt
2004-04-25Remove the no longer needed configure stuff in RDE. The peer list needs noClaudio Jeker
longer to be synced between parent, SE and RDE. OK henning@
2004-03-16delay creating the control socket until after forking, but before chrootHenning Brauer
(lives in /var/run, i. e. outside chroot) and privdrop. claudio ok
2004-03-12fix the "wait for child processes to terminate" code, and move it down a bitHenning Brauer
millert ok
2004-03-11Shutdown the RDE cleanly on exit. Plug some memleaks. OK henning@Claudio Jeker
2004-03-11Free unneeded mrt lists in SE and on exit. OK henning@Claudio Jeker
2004-03-10pass a pointer to the network list as well to session_main so we can free()Henning Brauer
the members after fork
2004-03-10pass a pointer to the filter rule list to session_main() so we can free()Henning Brauer
the list entries and the head there after forking
2004-03-10free peer list on exit, claudio okHenning Brauer
2004-03-01Arrrg. Not my day. Sync printconfig with parser here too.Claudio Jeker
2004-02-19Make the code more portable. Add some missing header files and make the useClaudio Jeker
of the queue(3) makros more portable. OK henning@ some time ago.
2004-02-09print networks tooHenning Brauer
2004-02-09drain the list fluffierHenning Brauer
2004-02-09print more fluffHenning Brauer
2004-02-09move printing the config to where it belongsHenning Brauer
2004-02-07send filter rules to the RDE on reloads, help & ok claudioHenning Brauer
2004-02-06initial cut at the filtering language.Henning Brauer
structs etc to describe a rule, filter rule list management parser groks filter defs now. claudio ok, discussion & help also jakob theo