summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/mrt.c
AgeCommit message (Collapse)Author
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-11Move all struct in_addr to either struct bgpd_addr or in_addr_t whicheverClaudio Jeker
is more appropriate. The rde uses now in most cases struct bgpd_addr. OK henning@
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-10RDE update generation. First we queue all updates and withdraws on a perClaudio Jeker
peer basis. A queue runner will dequeue and package those messages to valid bgp UPDATE messages and send them to the SE. Not yet done is per peer type attribute handling (like aspath prepends and nexthop modifications) and the queue runner could be a tad smarter. All in all this gives us a good starting point for the missing parts. OK henning@
2004-01-07Duh. Fixing stupid braino. OK henning@Claudio Jeker
2004-01-06Free buf on error and correct of by one in strlcpy.Claudio Jeker
From Patrick Latifi <pat at eyeo.org> OK henning@
2004-01-062004 OK henning@Claudio Jeker
2004-01-06Fix reopening of dump files.Claudio Jeker
OK henning@
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-01conf -> mconfHenning Brauer
causes a conflicht with upcoming changes
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-26In the mrt state machine one state was forgotten. This caused the parentClaudio Jeker
process to quit it a fatal buf_close error message. Noticed and reported by jakob@ OK henning@
2003-12-25free where it was allocated; much easier to verifyHenning Brauer
2003-12-24handle write() returning 0 correctly, adjust the msgbuf API appropriately,Henning Brauer
and make all callers cope.
2003-12-23spacingTheo de Raadt
2003-12-21wrap read & write buffers for imsgs into a struct.Henning Brauer
finally gives us read buffers per pipe instead of per process, eleminating a possible race. also gets us a real imsg_init() that does all the boring init work
2003-12-21overhaul the write buffering code.Henning Brauer
introduce msgbuf API and bundle all info needed for the write buffers in a struct msgbuf. also switch to a write queue per handled connection (each bgp session, each pipe) instead of one big one. fixes some subtle problems and is overall nicer. ok claudio@
2003-12-21yet more from the castathon; most aspath functions where accessing non-Claudio Jeker
aligned memory (u_int16_t) therefor crashed the RDE on my sparc64. All buffer specific functions use now void * instead of u_char * so most cast are now history. Tested on sparc64 and i386. OK henning@
2003-12-20knf. OK henning@Claudio Jeker
2003-12-20let buf_add take void *data instead of u_char *data and save a zillionHenning Brauer
evil casts
2003-12-20few missing break; in default: cases in switch; one noticed by tedu@Henning Brauer
2003-12-19knf & 64-bit cleanup; henning okTheo de Raadt
2003-12-17welcome, bgpdHenning Brauer
started by me some time ago with moral support from theo, the proceeded up to the point where the session engine worked correctly. claudio jeker joined then and did a lot of work in the RDE. it is not particulary usefull as application right now as parts are still missing but is imported to enable more people to work on it. status: BGP sessions get established fine, OPEN messages and then KEEPALIVEs exchanged etc. session FSM works fine; NOTIFICATIONs are handled fine, and all connection drops etc I provoked get handled fine. Incoming UPDATE messgages are parsed well and the data entered to the RIB, the decision process is not yet there, neither is outgoing UPDATEs or sync to the kernel routing table. not connected to the builds yet.