summaryrefslogtreecommitdiffstats
path: root/proto/bgp/bgp.c
AgeCommit message (Collapse)Author
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
2000-04-26IBGP fixes.Martin Mares
2000-04-26Implemented automatic restart after error with all the timers needed.Martin Mares
2000-04-26Randomize timers properly.Martin Mares
2000-04-25Support dynamic reconfiguration.Martin Mares
2000-04-25Better reporting of both local and remote errors.Martin Mares
2000-04-21LOCAL_PREF is now always present and exported over all ibgp connections [draft]Martin Mares
Allow setting of address of the local end of the TCP connection. Several bug fixes.
2000-04-19Delay fetching of router ID.Martin Mares
2000-04-19Select the right source address and don't check port numbers.Martin Mares
2000-04-10Use neighbor cache to track direct route to the peer or multihop destination.Martin Mares
Calculate next_hop properly based on the local address we get from the neighbor entry.
2000-04-10More BGP progress...Martin Mares
For Pavel: You can use bgp_path_prepend() for prepending AS numbers to AS paths.
2000-04-01Formatting of dynamic attributes (except for paths and communities whichMartin Mares
will be added soon).
2000-04-01BGP now handles incoming routes (IPv4 only).Martin Mares
2000-04-01Parsing of BGP attributes.Martin Mares
2000-03-30Basic analysis of UPDATE packets.Martin Mares
2000-03-30Connection state machine works.Martin Mares
2000-03-30More BGP. This time it connects, but the state machine still isn't complete.Martin Mares
2000-03-21Construction of BGP packets.Martin Mares
2000-03-20Started work on BGP. Wrote main part of the connection handling code.Martin Mares
2000-03-19Bare skeleton of the BGP.Martin Mares