Change default for BGP IPv6 socket to V6ONLY.
Also add a new option 'dual' for the old behavior.
Change default for handling missing link-local addresses on route servers.
Adds some options and documentation related to recursive next hops.
Implements proper multihop BGP.
Also does some incompatible changes to config file syntax,like removing 'via IP' from multihop option.
Implements hostcache and recursive next hops.
Hostcache is a structure for monitoring changes in a routing table thatis used for routes with dynamic/recursive next hops. This is needed forproper iBGP next hop handling.
Disable BGP protocol when cannot open listening socket.
Handle EPIPE as a common connection close event.
Implements BGP 'show protocols' info details.
Fix configure to enable warnings and fix most of them.
Moves errno.h include.
Fixes a crash caused by missing error hook on BGP listening socket.
Error happened when too many BGP connections arrived in one moment(ECONNABORTED).
Implements MRTdump feature.
Remove bgp_as4_support variable.
Implements BGP route refresh.
Implements option that controls IPv6 BGP next hops when lladdr is missing.
Implements protocol-specific router id and updates documentation.
Workaround for stupid callback scheduler.
There is no reak callback scheduler and previous behavior causesbad things during hard congestion (like BGP hold timeouts).
Smart callback scheduler is still missing, but main loop waschanged such that it first processes all tx callbacks (which...
Fixed bug related to reconfiguration of BGP with MD5 passwords.
Replace 'bind' option with 'listen' option.
To be consistent with other daemons.
Implements option that changes BGP listening socket parametres.
Minor BGP changes related to error wait time.
Fixes bug related to startup delay change.
Differentiate between error delay and connect/reconnect delay.
The difference is here to reject incoming connections in thefirst case.
Implements import route limits.
Changes pipes to transfer all routes between routing table, not just optimal routes.
Fixes BGP IPv6 link local next hop handling.
When sending 'third party' BGP update, Bird used bogus link localaddresses instead of addresses it received before.
Fixes handling of 'next hop self' and 'source address' configurationoptions.
Better handling of AS4 optional attribute errors
AS4 optional attribute errors were handled by sessiondrop (according to BGP RFC). This patch implementserror handling according to new BGP AS4 draft (*) - ignoring invalid AS4 optional attributes.
Update capability handshake options
Add 'capabilities' option, change default behavior to advertise ipv4,add some checks and ignore incoming capabilities when capabilitiesare disabled.
Adds support for fallback to capabilityless BGP connect
When capability related error is received, next connect will bewithout capabilities. Also cease error subcodes descriptions(according to [RFC4486]) are added.
Fixes bug related to reconfiguration of BGP.
BGP keeps its copy of configuration ptr and didn't update it duringreconfiguration. But old configuration is freed during reconfiguration.That leads to unnecessary reset of BGP connection during reconfiguration...
Major changes to BGP
Fixes two race conditions causing crash of Bird, several unhandledcases during BGP initialization, and some other bugs. Also changeshandling of startup delay to be more useful and implementreporting of last error in 'show protocols' command.
Multihop BGP was completely broken, because listening socket has alwaysttl 1.
Implementation of route server.
Implementation of an option for disabling AS4 support per BGP instance.
Implementation of route reflection for BGP
Implementation of MD5 authentication of BGP sessions.
Implementation of 4B ASN support for BGP
Staticized lots of local functions.
... in BGP.
Rewritten the I/O loop. All socket operations are now safe, meaning thatyou 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....
Killed a couple of unused variables.
We really should compile with warnings enabled.
Better selection of link-local NLRI addresses, at least for our ownaddress. Need to do it better for the other neighbors -- the currentsolution works only if they use the standard 64+64 global addressesand the interface identifier in lower 64 bits is the same as for the...
Added missing includes.
Don't accept incoming connections when the neighbor is not up.
Fixes to the progdoc.
Spelling fixes to progdoc.
BGP now reports originating AS and origin type in get_route_info().
bgp_get_status: If protocol is down, don't print BGP state.
The bgp_list is gone. Incomming connections are now handled in a muchmore straightforward manner by scanning the active configuration formatching protocols.
Link the instance to the global BGP list as soon as possible.
Setup of incoming connection is now a separate function.
Defined format specifier `%M' which behaves as `%m', but takes theerror code as an argument.
Use it in socket hooks where we really shouldn't rely on errno containingthe right value or even existing.
Full protocol tracing.
Handle connect errors correctly.
Implemented automatic restart after error with all the timers needed.
Randomize timers properly.
Support dynamic reconfiguration.
Better reporting of both local and remote errors.
LOCAL_PREF is now always present and exported over all ibgp connections [draft]
Allow setting of address of the local end of the TCP connection.
Several bug fixes.
Delay fetching of router ID.
Select the right source address and don't check port numbers.
Use neighbor cache to track direct route to the peer or multihop destination.
Calculate next_hop properly based on the local address we get from theneighbor entry.
More BGP progress...
For Pavel: You can use bgp_path_prepend() for prepending AS numbers to AS paths.
Formatting of dynamic attributes (except for paths and communities whichwill be added soon).
BGP now handles incoming routes (IPv4 only).
Parsing of BGP attributes.
Basic analysis of UPDATE packets.
Connection state machine works.
More BGP. This time it connects, but the state machine still isn't complete.
Construction of BGP packets.
Started work on BGP. Wrote main part of the connection handling code.
Bare skeleton of the BGP.