Implements IGP metric comparison for BGP routes.
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.
Implements BGP 'show protocols' info details.
Removes phantom protocol from the pipe design.
It seems that by adding one pipe-specific exception to routeannouncement code and by adding one argument to rt_notify() callback icould completely eliminate the need for the phantom protocol instanceand therefore make the code more straightforward. It will also fix some...
Changes 'ignore communities' to 'interpret communities'.
Better handling of well-known communities.
Process well-known communities before the export filter (old behavior isto process these attributes after, which does not allow to send routewith such community) and just for routes received from other BGPprotocols. Also fixes a bug in next_hop check.
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 RFC 5004 - prefer older external routes.
Fixes headers for uintptr_t (and build on NetBSD).
Minor BGP changes related to error wait time.
Differentiate between error delay and connect/reconnect delay.
The difference is here to reject incoming connections in thefirst case.
Implements import route limits.
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.
Update capability handshake options
Add 'capabilities' option, change default behavior to advertise ipv4,add some checks and ignore incoming capabilities when capabilitiesare disabled.
Added Cisco and Quagga capability workaround option.
Rate limit for most abundant log messages
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.
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.
Proper format functions for ORIGINATOR_ID, CLUSTER_LIST
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
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...
BGP now reports originating AS and origin type in get_route_info().
The bgp_list is gone. Incomming connections are now handled in a muchmore straightforward manner by scanning the active configuration formatching protocols.
IPv6 BGP support finished. Also simplified the BGP stuff a bit.
Receive-only IPv6 BGP.
Full protocol tracing.
The `bgp_origin' attribute is now an enum.
Implemented automatic restart after error with all the timers needed.
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.
If no NLRI's are present in an UPDATE message, parse the attributes, butdon't check presence of mandatory attributes. [draft-09]
Honor standard communities (no_export, no_advertise, no_export_subconfed)when exporting routes.
Don't import/export MED and LOCAL_PREF on external links.Added real comparison of BGP routes (inspired by the Cisco one).Default local preference and default MED are now settable.Defined filter keywords for all BGP attributes we know.
Send and receive communities.
Sending of update messages works!
Created nest/a-path.c and a-set.c which should contain general operationson AS paths and community sets.
Moved as_path_prepend() there.
Pavel, please move the other functions as well.
Made last Pavel's changes compile.
Real bucket lists.
Implemented outgoing attribute cache.
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).
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.