summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.c
AgeCommit message (Collapse)Author
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
2004-02-03defer free()ing the previous peer list until after parsing the config fileHenning Brauer
so in the parser we can access it. will be needed soon.
2004-01-23use log_addrHenning Brauer
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-22s/log_err/log_warn/Henning Brauer
it is like warn(3), nor err(3). so use a less confusing name.
2004-01-20check early wether user _bgpd exists so we can bail out early and nicelyHenning Brauer
prodded by theo
2004-01-17Make it possible to announce own networks. In the RDE these prefixes areClaudio Jeker
attached to a pseudo peer and inserted like all other prefixes into the RIB. OK henning@
2004-01-17allow the interfaces as bgpd sees 'em to be queried via imsgsHenning Brauer
2004-01-11use bgpd_addr in the nexthop tree; change nexthop_add/_remove accordinglyHenning Brauer
ok claudio@
2004-01-11in the nexthop imsgs use struct bgpd_addr for the data part instead ofHenning Brauer
in_addr_t ok claudio@
2004-01-11use struct bgpd_addr for nexthop and gateway in struct kroute_nexthopHenning Brauer
(and thus the nexthop messages between parent and RDE) ok claudio@