summaryrefslogtreecommitdiffstats
path: root/proto/bgp/bgp.c
AgeCommit message (Collapse)Author
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
2000-06-20Don't accept incoming connections when the neighbor is not up.Martin Mares
2000-06-07Fixes to the progdoc.Martin Mares
2000-06-07Spelling fixes to progdoc.Martin Mares
2000-06-04BGP documented.Martin Mares
2000-05-19BGP now reports originating AS and origin type in get_route_info().Martin Mares
2000-05-15bgp_get_status: If protocol is down, don't print BGP state.Martin Mares
2000-05-08The bgp_list is gone. Incomming connections are now handled in a muchMartin Mares
more straightforward manner by scanning the active configuration for matching protocols.
2000-05-08Link the instance to the global BGP list as soon as possible.Martin Mares
2000-05-07Setup of incoming connection is now a separate function.Martin Mares
2000-05-02Defined format specifier `%M' which behaves as `%m', but takes theMartin Mares
error code as an argument. Use it in socket hooks where we really shouldn't rely on errno containing the right value or even existing.
2000-05-02Full protocol tracing.Martin Mares
2000-04-27Handle connect errors correctly.Martin Mares