Core multipath support.
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.
Fixes IPv6 build.
Implements IGP metric comparison for BGP routes.
Adds route resolvability test.
Use link-local addresses in recursive next hops for IPv6 BGP.
Fixes a buffer overflow in TX code of IPv6 BGP.
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.
Merge several fixes suggested by Joakim Tjernlund.
Do not export empty community list attribute in BGP.
Implements BGP 'show protocols' info details.
Filter language updates; new route attributes and datatype.
- Adds bgp_originator_id and bgp_cluster_list route attributes. - Adds dotted quad filter datatype (for router IDs, used by bgp_originator_id and ospf_router_id route attributes). - Fixes pair ~ pair set matching....
Comparing cluster list length should be later in bgp_rte_better().
Many changes in (mainly) kernel syncers.
- BSD kernel syncer is now self-conscious and can learn alien routes- important bugfix in BSD kernel syncer (crash after protocol restart)- many minor changes and bugfixes in kernel syncers and neighbor cache- direct protocol does not generate host and link local routes...
Fix configure to enable warnings and fix most of them.
'rr client id' is not expression but ID (like router id).
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...
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).
Workaround for some broken BGP implementations that skip initial KEEPALIVE.
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.
Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277).
Merge branch 'ospf3' into new
Fixes export of routes with link-local gw.
Remove bgp_as4_support variable.
Implements BGP route refresh.
Implements option that controls IPv6 BGP next hops when lladdr is missing.
Show both IPv6 next hop addresses in BGP.
Implements RFC 5004 - prefer older external routes.
Implements protocol-specific router id and updates documentation.
Rename as_path_get_last/as_path_get_first to be consistent.
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...
Show bad peer AS number in log in decimal.
Fixes setting of IP addresses to route attributes (NEXT_HOP).
Fixes headers for uintptr_t (and build on NetBSD).
Fixes bug related to AS2->AS4 conversion.
Fixed bug related to reconfiguration of BGP with MD5 passwords.
Replace 'bind' option with 'listen' option.
To be consistent with other daemons.
Fixes bug in ORIGIN check.
Changes handling of AS_PATH_CONFED_* segments in AS_PATH.
Although standard says that if we receive AS_PATH_CONFED_*(and we are not a part of a confederation) segment, we shoulddrop session, nobody does that and it is unwise to do that.
Now we drop session just in case that peer ASN is in...
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.
The pipe cleanup.
Changes pipes to transfer all routes between routing table, not just optimal routes.
Fixes one recently introduced IPv6 BGP compatibility problem.
Allow 'third party' BGP updates for originated 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.
Fixes BGPv6 bug - missing endianity conversion.
Also removes code skipping SNPAs(obsoleted by newer RFCs, should be ignored).
Fixes BGPv6 bug - mandatory attributes weren't validated;
Fixe bug in BGPv6 that causes to send invalid network withdraws.
Fixes bug in BGPv6 causing crash by checking missing attributes.
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.
Added Cisco and Quagga capability workaround option.
Better handling of too long attributes
This patch extends the length for attributes from 1024 to 2048(because both AS_PATH and AS4_PATH attributes take 2+4 B per AS).
If there is not enough space for attributes, Bird skips thatroute group. Old behavior (skipping remaining attributes)...
Rate limit for most abundant log messages
Add format for BGP_AGGREGATOR attribute
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.
Proper format functions for ORIGINATOR_ID, CLUSTER_LIST
Fixes bugs in IPv6 code caused by recent commits.
Multihop BGP was completely broken, because listening socket has alwaysttl 1.
Implementation of route server.
Fix race condition that breaks BGP connections after reconfigure.
RFC says that only connections in OpenConfirm and Established stateshould participate in connection collision detection.
The current implementation leads to race condition when both sides...
Bugfixes in MULIT_EXIT_DISC attribute handling.
- Old MED handling was completely different from behavior specified in RFCs - for example they havn't been propagated to neighboring areas.
- Update tie-breaking according to RFC 4271.
- Change default value for 'default bgp_med' configuration...
Bugfix in LOCAL_PREF attribute handling.
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
The source address configuration in BGP added.
A lot of changes: - metric is 3 byte long now - summary lsa originating - more OSPF areas possible - virtual links - better E1/E2 routes handling - some bug fixes..
I have to do: - md5 auth (last mandatory item from rfc2328) - !!!!DEBUG!!!!! (mainly virtual link system has probably a lot of bugs)...
Staticized lots of local functions.
... in BGP.
ALIGN -> BIRD_ALIGN
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.
Updated a comment.
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...
Temporary fix for BGP protocol capability announcement for IPv6 mode.
Fixed length check miscalculation in IPv6 receive path.
Added missing includes.
Added missing semicolons.
Don't accept incoming connections when the neighbor is not up.
Fixes to the progdoc.
Spelling fixes to progdoc.