summaryrefslogtreecommitdiff
path: root/proto/bgp/bgp.c
AgeCommit message (Collapse)Author
2011-11-07Implements protocol templates.Ondrej Zajicek
Based on the patch from Alexander V. Chernikov. Extended to support almost all protocols. Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-09-04Minor changes in BGP protocol info.Ondrej Zajicek
Shows neighbor IP and ASN even if protocol is down.
2011-08-16The generalized TTL security mechanism (RFC 5082) support.Ondrej Zajicek
Thanks to Alexander V. Chernikov for the patch.
2011-06-25Fixes output of BGP timers in 'show protocols all'.Ondrej Zajicek
2011-04-01Fixes a problem with BGP protocols and implicit router IDs.Ondrej Zajicek
2010-11-03Change default for BGP IPv6 socket to V6ONLY.Ondrej Zajicek
Also add a new option 'dual' for the old behavior.
2010-08-13Change default for handling missing link-local addresses on route servers.Ondrej Zajicek
2010-07-13Adds some options and documentation related to recursive next hops.Ondrej Zajicek
2010-07-12Implements proper multihop BGP.Ondrej Zajicek
Also does some incompatible changes to config file syntax, like removing 'via IP' from multihop option.
2010-07-05Implements hostcache and recursive next hops.Ondrej Zajicek
Hostcache is a structure for monitoring changes in a routing table that is used for routes with dynamic/recursive next hops. This is needed for proper iBGP next hop handling.
2010-05-31Disable BGP protocol when cannot open listening socket.Ondrej Zajicek
2010-05-14Handle EPIPE as a common connection close event.Ondrej Zajicek
2010-04-07Implements BGP 'show protocols' info details.Ondrej Zajicek
2010-02-21Fix configure to enable warnings and fix most of them.Ondrej Zajicek
2010-02-11Moves errno.h include.Ondrej Zajicek
2010-02-11Fixes a crash caused by missing error hook on BGP listening socket.Ondrej Zajicek
Error happened when too many BGP connections arrived in one moment (ECONNABORTED).
2010-01-03Implements MRTdump feature.Ondrej Zajicek
2009-12-14Remove bgp_as4_support variable.Ondrej Zajicek
2009-11-26Implements BGP route refresh.Ondrej Zajicek
2009-11-18Implements option that controls IPv6 BGP next hops when lladdr is missing.Ondrej Zajicek
2009-10-12Implements protocol-specific router id and updates documentation.Ondrej Zajicek
2009-10-11Workaround for stupid callback scheduler.Ondrej Zajicek
There is no reak callback scheduler and previous behavior causes bad things during hard congestion (like BGP hold timeouts). Smart callback scheduler is still missing, but main loop was changed such that it first processes all tx callbacks (which are fast enough) (but max 4* per socket) + rx callbacks for CLI, and in the second phase it processes one rx callback per socket up to four sockets (as rx callback can be slow when there are too many protocols, because route redistribution is done synchronously inside rx callback). If there is event callback ready, second phase is skipped in 90% of iterations (to speed up CLI during congestion).
2009-09-24Passive option.Ondrej Zajicek
2009-07-09Fixed bug related to reconfiguration of BGP with MD5 passwords.Ondrej Zajicek
2009-06-23Replace 'bind' option with 'listen' option.Ondrej Zajicek
To be consistent with other daemons.
2009-06-18Implements option that changes BGP listening socket parametres.Ondrej Zajicek
2009-06-07Minor BGP changes related to error wait time.Ondrej Zajicek
2009-06-06Fixes bug related to startup delay change.Ondrej Zajicek
2009-06-06Differentiate between error delay and connect/reconnect delay.Ondrej Zajicek
The difference is here to reject incoming connections in the first case.
2009-06-04Implements import route limits.Ondrej Zajicek
2009-05-31Changes pipes to transfer all routes between routing table, not just optimal ↵Ondrej Zajicek
routes.
2009-04-29Fixes BGP IPv6 link local next hop handling.Ondrej Zajicek
When sending 'third party' BGP update, Bird used bogus link local addresses instead of addresses it received before.
2009-04-28Fixes handling of 'next hop self' and 'source address' configurationOndrej Zajicek
options.
2009-03-18Better handling of AS4 optional attribute errorsOndrej Zajicek
AS4 optional attribute errors were handled by session drop (according to BGP RFC). This patch implements error handling according to new BGP AS4 draft (*) - ignoring invalid AS4 optional attributes. (*) http://www.ietf.org/internet-drafts/draft-chen-rfc4893bis-02.txt
2009-03-13Update capability handshake optionsOndrej Zajicek
Add 'capabilities' option, change default behavior to advertise ipv4, add some checks and ignore incoming capabilities when capabilities are disabled.
2008-12-24Adds support for fallback to capabilityless BGP connectOndrej Zajicek
When capability related error is received, next connect will be without capabilities. Also cease error subcodes descriptions (according to [RFC4486]) are added.
2008-12-24Fixes bug related to reconfiguration of BGP.Ondrej Zajicek
BGP keeps its copy of configuration ptr and didn't update it during reconfiguration. But old configuration is freed during reconfiguration. That leads to unnecessary reset of BGP connection during reconfiguration (old conf is corrupted and therefore different) and possibly other strange behavior.
2008-12-19Major changes to BGPOndrej Zajicek
Fixes two race conditions causing crash of Bird, several unhandled cases during BGP initialization, and some other bugs. Also changes handling of startup delay to be more useful and implement reporting of last error in 'show protocols' command.
2008-11-01Multihop BGP was completely broken, because listening socket has alwaysOndrej Zajicek
ttl 1.
2008-11-01Implementation of route server.Ondrej Zajicek
2008-10-26Implementation of an option for disabling AS4 support per BGP instance.Ondrej Zajicek
2008-10-26Implementation of route reflection for BGPOndrej Zajicek
2008-10-26Implementation of MD5 authentication of BGP sessions.Ondrej Zajicek
2008-10-26Implementation of 4B ASN support for BGPOndrej Zajicek
2004-06-05Staticized lots of local functions.Martin Mares
2004-06-05... in BGP.Martin Mares
2004-05-31Rewritten the I/O loop. All socket operations are now safe, meaning thatMartin Mares
you can delete the socket from anywhere in the hooks and nothing should break. Also, the receive/transmit buffers are now regular xmalloc()'ed buffers, not separate resources which would need shuffling around between pools. sk_close() is gone, use rfree() instead.
2004-05-31Killed a couple of unused variables.Martin Mares
We really should compile with warnings enabled.
2003-02-22Better selection of link-local NLRI addresses, at least for our ownMartin Mares
address. Need to do it better for the other neighbors -- the current solution works only if they use the standard 64+64 global addresses and the interface identifier in lower 64 bits is the same as for the link-scope addresses.
2002-11-13Added missing includes.Martin Mares