History | View | Annotate | Download (42.8 KB)
BGP: Enhanced route refresh (RFC 7313) support
Also hook feed_done is renamed to feed_end.
Rename BGP option 'start delay' to 'connect delay'
Also update log message for error-triggered startup delay.
Relax BGP neighbor parameter
Permit specifying neighbor address, AS number and port independently.Add 'interface' parameter for specifying interface for link-localsessions independently.
Thanks to Alexander V. Chernikov for the original patch.
Store protocol config size inside protocol structure
Make proto_config_new() use this info instead of supplied size.
Thanks to Alexander V. Chernikov for the patch.
Make BGP protocol instance search a separate function
Replacing GNU old-style field designator extension
Link state support in BGP.
Configurable fast shutdown of a BGP session when an interface loses link.
Integrated IP functions.
Allows to configure different remote port for BGP sessions.
Thanks to João Taveira Araújo for the original patch.
IPv4/IPv6 integrated socket code.
Fixes some minor issues in graceful restart.
Documentation (and minor fixes) for BGP graceful restart.
BGP graceful restart support.
Also significant core protocol state changes needed for that,global graceful restart recovery state and kernel proto supportfor recovery.
Merge branch 'add-path'
Fixes problem with source address selection in BGP and BFD.
Finishes add-path.
Fixes some bugs and uses generic hash implementation.
Merge branch 'master' into add-path
Enables multihop mode for IBGP by default.
This is more consistent with common usage and also with the behavior ofother implementations (Cisco, Juniper).
Also changes the default for gw mode to be based solely ondirect/multihop.
Conflicts:
filter/filter.c nest/proto.c nest/rt-table.c proto/bgp/bgp.h proto/bgp/config.Y
Minor fixes.
BFD protocol, ready for release.
Supports OSPF and BGP and also statically configured sessions.
Fixes a bug related to mixed up neighbor events in BGP.
Neighbor events related to received route next hops got mixed up withsticky neighbor node for an IP of the BGP peer. If a neighbor for a nexthop disappears, BGP session is shut down.
Fixes stuck connection during BGP session shutdown.
If TX buffers were full during BGP session shutdownthen a protocol waited indefinitely to be able tosend notification packet to close the session.
Fixes a problem with BGP neighbors, link-local addresses and locking.
Thanks to Fritz Grimpen for the bugfix.
Separate import and receive limits.
They have different behavior w.r.t. filtered routes that are kept.
Implements interface masks for choosing router id.
Router ID could be automatically determined based of subset ofifaces/addresses specified by 'router id from' option. The patch alsodoes some minor changes related to router ID reconfiguration.
Thanks to Alexander V. Chernikov for most of the work.
Changes 'rejected' to 'filtered' in one of the last patches.
Allows rejected routes to be kept and examined.
When 'import keep rejected' protocol option is activated, routesrejected by the import filter are kept in the routing table, but theyare hidden and not propagated to other protocols. It is possible toexamine them using 'show route rejected'.
Implements ADD-PATH extension for BGP.
Allows to send and receive multiple routes for one network by one BGPsession. Also contains necessary core changes to support this (routingtables accepting several routes for one network from one protocol).It needs some more cleanup before merging to the master branch.
Fixes BGP subcode during global shutdown.
Merge branch 'rt-accepted'
nest/config.Y nest/rt-table.c proto/bgp/bgp.c
Finalize RA_ACCEPTED handling.
Implements generalized export limits.
And also fixes some minor bugs in limits.
Fixes in generalized import limits.
Implements generalized import hooks.
Implement RA_ACCEPTED mode of route propagation.
Better support for multitable protocols.
The nest-protocol interaction is changed to better handle multitableprotocols. Multitable protocols now declare that by 'multitable' field,which tells nest that a protocol handles things related to proto-rtableinteraction (table locking, announce hook adding, reconfiguration of...
Assign default protocol preference via proto_config_new().
The patch from Alexander V. Chernikov.
Implements support for link-local addresses in BGP.
Thanks Matthias Schiffer for the original patch.
Allows sticky link-local neighbors.
Allows using NEF_STICKY neighbors with link-local addresses. This isused for static route nexthops, they can be specified like fe80::1%eth0.
Implements deterministic MED handling.
Thanks to Alexander V. Chernikov for many suggestions.
Implements protocol templates.
Based on the patch from Alexander V. Chernikov.Extended to support almost all protocols.Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
Minor changes in BGP protocol info.
Shows neighbor IP and ASN even if protocol is down.
The generalized TTL security mechanism (RFC 5082) support.
Fixes output of BGP timers in 'show protocols all'.
Fixes a problem with BGP protocols and implicit router IDs.
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...
Passive option.
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.
(*) http://www.ietf.org/internet-drafts/draft-chen-rfc4893bis-02.txt
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 documented.
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.