summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
AgeCommit message (Collapse)Author
2013-08-14Rewrite the internals of the RDE reload logic.Claudio Jeker
This is the first step to make bgpd reload non blocking in the RDE. It also speeds up the reload time a fair bit in some cases (mainly if you run with multiple RIBs and have larger filtersets) and it should also fix a few edge cases on reloads. Testing done by benno@, florian@ and sthen@ OK henning@ and benno@
2013-08-14no longer any need to quote macro lines with >9 args;Jason McIntyre
From: Jan Stary
2013-07-17on graceful restart, the number of prefixes could be counted wrong,Sebastian Benoit
triping max-prefix. fix it this way, at least until prefix accounting is done better. diff from florian@ ok claudio@
2013-07-10Change the way the RDE updates its peer list. The SE is now always sendingClaudio Jeker
a IMSG_SESSION_ADD message to the RDE when a peer comes up or when a reload happens. The IMSG_SESSION_ADD has the full current config of the peer and so the RDE should end up with correct values. This affects mostly maxprefix and the RIB settings. OK henning@
2013-06-14grammar. ok jmc@Mark Lumsden
2013-05-31Unfuck BGP MPLS VPNs that got broken by the last few reload related commits.Claudio Jeker
OK henning@
2013-05-30When removing "dump (all|updates)" from bgpd.conf and reloading, tellFlorian Obser
the session engine to actually stop logging. Found the hard way by benno@. with & ok benno@ input & ok claudio@
2013-05-30Add partial support to bgpd for the ttl hack with ipv6. This sends the correctStuart Henderson
ttl on outgoing packets so peer sessions can come up correctly if both sides use ttl-security, but the kernel side is not yet implemented so incoming packets aren't verified (note added to manual for this). ok henning@
2013-05-22Set the correct route priority in send_rt6msg, as done for send_rtmsg.Stuart Henderson
Fixes v6 routes being added to the kernel as RTP_DEFAULT. ok florian@ benno@
2013-05-22whitespace nitsStuart Henderson
2013-05-20D'oh, add missing break in prefix_writebuf(). Another find by blambert@Claudio Jeker
who is to shy to commit these by himself.
2013-05-20Call pt_getaddr() a bit earlier so that addr.aid is available when firstClaudio Jeker
accessed. Found by magic clang skill of blambert@
2013-05-11change mrt rib dump ReopenTimerInterval from time_t to int. IntervallsSebastian Benoit
don't need to scale to 64 bits in this universe. ok claudio@ & florian@
2013-03-20less includesTheo de Raadt
2013-03-14use after free; 33% found by llvmFlorian Obser
OK sthen@
2013-03-14correct struct in sizeof(); found by llvmFlorian Obser
OK sthen@
2013-03-11handle ECONNABORTED errors from accept(). In many code blocks they can beTheo de Raadt
ignored silently and without aborting, much like EINTR and EWOULDBLOCK are. ok's from various maintainers of these directories...
2013-03-07Implements a few missing bits for better templates support:Claudio Jeker
- on config reload also adjust the cloned neighbors so that they get the config changes as well. - clean up sessions that are 1h idle but in state active (instead of down) - add bits to allow bgpctl to destroy cloned neighbors Tested by sthen@ some time ago, OK phessler@
2013-01-17Fixup printing of rdomain configs -- add network statements and only printClaudio Jeker
the description if it is set.
2013-01-10Don't log "unknown subcode" for subcode 0 when the hold timer expires,Stuart Henderson
this is a normal condition. ok phessler@ florian@
2013-01-09Almost exactly 10 years ago, we changed the length of PF table names toPeter Hessler
32 chars. Allow bgpd to use these newfangled longer names. OK sthen@
2013-01-02man page bits for "announce restart yes" defaultFlorian Obser
ok sthen@
2012-12-01The capability parser should only return an error in extreme cases. If aClaudio Jeker
particular capability is bad, log the fact and ignore it. This may give us a chance to bring up session that have e.g. unexpected AFI,SAFI pairs in them. Also make the error messages more user friendly. OK henning@, sthen@
2012-11-15buf_* -> ibuf_* in various log entries to reflect correct function names.Kenneth R Westerback
ok claudio@
2012-11-13pasto in log messageFlorian Obser
ok henning
2012-11-13macro tweaking;Jason McIntyre
2012-11-13Allow filtering based on the NEXTHOP attribute. This allows to build rulesClaudio Jeker
like: allow from any nexthop neighbor (to allow only prefixes that use the routers IP address as nexthop). Lots of testing, input and OK florian@
2012-11-02Unstick bgpctl reload after reloading a bgpd.conf with errors.Florian Obser
ok claudio, benno
2012-10-28Change email address in copyright to one that is valid.Claudio Jeker
2012-09-26last stage of rfc changes, using consistent Rs/Re blocks, and moving theJason McIntyre
references into a STANDARDS section;
2012-09-23Enable graceful restart by default. The only way to find out if it works forClaudio Jeker
real. After discussion with sthen@, henning@ and deraadt@. It can be disabled per neighbor with "announce restart no".
2012-09-18Expose the local weight in the ctl_show_rib struct so bgpctl can print it.Claudio Jeker
OK sthen@ henning@
2012-09-18Only allow one reload request at a time in bgpd. Needed for further work.Claudio Jeker
OK sthen@, benno@, henning@
2012-09-17Unbreak. gcc 2 at least complains if a declaration is ended by two semicolons.Miod Vallat
2012-09-12Better graceful restart support (implementing more then just the EoR record).Claudio Jeker
This implements only the "Restarting Client" bits of the RFC -- in other words bgpd will keep the FIB when the client restarts but it will not do GR when restarting itself. The capability is still off by default (you need "announce restart yes" to enable it). Tested by Anders Berggren. OK sthen@
2012-08-24- rfc 5082 replaces rfc 3682; ok claudioJason McIntyre
- flesh out SEE ALSO in bgpd.8 - fix a formatting warning in relayd.conf.5
2012-08-24rfc 4456 replaces rfc 2796; ok claudioJason McIntyre
2012-08-12By default mask the reserved bits and the ext len bit in the attributeClaudio Jeker
flags field. Some systems seem to start sending bad flags around which cause session failures in bgpd. Make sure that bgpd ignores the must be zero flags correctly and ensure that they are always reset to zero when sending updates out. Reported and patch tested by Laurent CARON, OK henning@
2012-07-13Cleanup the knexthop mess and make sure we only send an update to the RDEClaudio Jeker
when there was a change in the nexthop info. Fixes massive memory consumption crashes when used with ospfd (which sometimes updates route that have not changed). Tested together with benno@ and a lot of input from Florian Obser. OK henning@
2012-07-13Make sure that set med 0 is ACTION_SET_MED and not relative. FixesClaudio Jeker
set med 0 and Hennings iBGP sessions. OK henning@
2012-07-11Limit "while(setsockopt(..SO_RCVBUF/SO_SNDBUF..))" loops to prevent themStuart Henderson
running away if the setsockopt call fails, as may happen if a peer bounces at the wrong time. OK claudio@ after tweaks to an earlier version which was OK phessler@.
2012-07-09Fix the handling of the message read buf with regard to MSG_PROCESS_LIMIT.Claudio Jeker
The read buffer was only processed when new data came in. So on quiet sessions it could take minutes until the read buffer was processed at the end of a load. Nobody realized this in the last 7.5 years. Tested by sthen@ OK henning@
2012-07-07prefered -> preferred;Jason McIntyre
2012-07-07Explain the bgpd decision process in the man page. I'm tired of lookingClaudio Jeker
at the C code over and over again. With and OK sthen@, henning@, jmc@
2012-07-04Seems like I missed to adjust the route decision code to cover the thingsClaudio Jeker
that need to be checked because of route reflection. Do this now and reference the new RR RFC in the man page. OK henning@ sthen@
2012-07-01typo in comment, s/withdrawl/withdrawal/Stuart Henderson
2012-06-19There are five main sections, not four, since routing domain support was added.Stuart Henderson
From Rod Whitworth.
2012-06-10Add error messages for BGP Finite State Machine Error subcodes as definedClaudio Jeker
in RFC 6608. OK henning@ sthen@
2012-05-27Extend the network code to allow attributes to be passed in with prefixes.Claudio Jeker
In the end this will allow anyone to use MRT table dumps to load prefixes into a bgpd instance. For example you can download the RIPE dumps and load full-feeds onto your laptop until the poor thing dies. OK henning@ sthen@
2012-05-22Flush the right networks, the dynamic ones not the static ones.Claudio Jeker
OK henning@, sthen@