summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.c
AgeCommit message (Collapse)Author
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@
2004-01-11new message IMSG_CTL_SHOW_NEXTHOP: request/send lost of BGP nexthops andHenning Brauer
the result of their validity check
2004-01-11The buffer changes produced some fallout in the mrt code.Claudio Jeker
Wait until all data has been written out before closing the file and fix some obvious misstakes. OK henning@
2004-01-09for IMSG_CTL_KROUTEs allow matching based on flags,Henning Brauer
add IMGS_CTL_KROUTE_ADDR to match the route for a given address ok claudio@
2004-01-09get us a stateful imsg relaying framework, and the first receiver,Henning Brauer
IMSG_CTL_KROUTE, to have the kroute structs forming the fib sent to a control socket. ok claudio@
2004-01-08rename a few functions to further clarify thingsHenning Brauer
2004-01-062004Henning Brauer
2004-01-05Big overhaul of the mrt code.Claudio Jeker
Dumping of incomming bgp messages is now possible and dumping the (not yet) filtered updates works too. Per neighbor dumps are still missing. OK henning@
2004-01-05correctly handle SIGCHLD.Henning Brauer
SIGCHLD does _not_ translate to "a child process went kaboom". waitpid() and check status; if the child exited or terminated log & quit ok claudio@
2004-01-05waitpid's return is a pid_tHenning Brauer
2004-01-05allow fib couple/decouple based on an imsg received on the control socketHenning Brauer
by the SE and passed on to the main process
2004-01-04-new imsg CTL_RELOADHenning Brauer
-upong receival in the SE forward to parent -make sending messages from SE to parent work for that (was not required before) -parent reacts to that just like a SIGHUP, reread config file
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-03change imsg_read semantics so that the number of bytes read is returned.Henning Brauer
that means that the callers can (and must) coope with closed connections themselves, what is exactly the desired behaviour.
2004-01-01listen on a AF_LOCAL socket for imsgs too.Henning Brauer
only implemented type yet is IMSG_CTL_SHOW_NEIGHBOR which sends back the struct peer for all neighbors. will be used by bgpdctl
2004-01-01now that imsg_get uses bigger buffers, one read call can put more than oneHenning Brauer
imsg into the buffer. since imsg_get by definition only returns one imsg we missed the next imsg(s) until the next poll event on the socket in question, building up a queue on that socket. didn't show up as a problem yet... factor out imsg_read, which reads into the buffer. imsg_get now entirely operates on the buffers and does not read(2) itself. make all callers cope by calling imsg_read on poll events and calling imsg_get in a loop until all imsgs are processed.
2003-12-30correctly free after buf_add/_close errs.Henning Brauer
From: Patrick Latifi <pat@eyeo.org>
2003-12-30missing free()s in error cases that (now) lead to program terminationHenning Brauer
From: Patrick Latifi <pat@eyeo.org>
2003-12-27move the fib couple/decouple to the config merge where it belongsHenning Brauer
2003-12-27keep a copy of the fd locally instead of passing it around all timeHenning Brauer
2003-12-27on reconfigure, check wether the "no fib-update" statement presence/absenceHenning Brauer
changed. if it is absent but was present before, call kroute_fib_couple if it is present but was absent before, call kroute_fib_decouple
2003-12-27implement "no fib-update" much coolerHenning Brauer
2003-12-26erm, oups, well, put back rde_pid and io_pid assignments that got lostHenning Brauer
somehow...
2003-12-26fix logging in send_nexthop_updateHenning Brauer
2003-12-26let imsg_get and imsg_compose not fatal() but return errors upstream.Henning Brauer
make the callers cope.
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-26by making kroute_dispatch_msg() and kroute_nexthop_add() return int insteadHenning Brauer
of void they can now report errors upstream and do not need to panic any more. so do that and handle the errors in bgpd.c in the vein that we at least can clean up before exit. there are no direct fatal() call in kroute.c now any more, nor any in bgpd.c after forking.
2003-12-26overhaul error handlingHenning Brauer
try to handle as much as possbile in a graceful way so taht we don't leave the kernel routing table full of our routes, for example.
2003-12-26handle kroute_init failures nicerHenning Brauer
2003-12-26improve log messageHenning Brauer
2003-12-26log nexthop status changesHenning Brauer
2003-12-26handle IMSG_NEXTHOP_DELETE as wellHenning Brauer
2003-12-26kroute_nexthop_check -> kroute_nexthop_addHenning Brauer
kroute_validate_nexthop -> kroute_nexthop_insert
2003-12-26finally marry rde and kroute parts of the nexthop verification:Henning Brauer
handle IMSG_NEXTHOP_ADD and send IMSG_NEXTHOP_UPDATE when appropriate
2003-12-25track routing table changes that are _not_ caused by bgpd itselfHenning Brauer
ok claudio@
2003-12-25kill IMSG_KROUTE_ADD as well. just send KROUTE_CHANGE requests.Henning Brauer
2003-12-25it actually makes more sense to call the merged function kroute_changeHenning Brauer
2003-12-25kroute_change is obsolete, long live kroute_addHenning Brauer
2003-12-24now that the main process can cleanup without RDE's help, we do not need theHenning Brauer
somewhat fragile IMSG_SHUTDOWN_* stuff any more. speeds shutdown up enourmously. ok claudio@
2003-12-24now that we keep track of the routes we added to the kernel we can removeHenning Brauer
them easily on shutdown without the RDE's help
2003-12-24slightly more helpfull error msgsHenning Brauer