Ondrej Zajicek
0c791f873a
BGP graceful restart support.
...
Also significant core protocol state changes needed for that,
global graceful restart recovery state and kernel proto support
for recovery.
2014-03-20 14:07:12 +01:00
Ondrej Zajicek
e7d2ac4401
Finishes add-path.
...
Fixes some bugs and uses generic hash implementation.
2013-12-01 13:49:42 +01:00
Ondrej Zajicek
736e143fa5
Merge branch 'master' into add-path
...
Conflicts:
filter/filter.c
nest/proto.c
nest/rt-table.c
proto/bgp/bgp.h
proto/bgp/config.Y
2013-11-23 11:50:34 +01:00
Ondrej Zajicek
ac57451348
Implements RFC 6608 Subcodes for BGP FSM Error.
2013-07-25 13:55:24 +02:00
Ondrej Zajicek
572c644043
Fixes a crash when mrtdump is enabled and interface goes away.
...
Thanks to Peter Christensen for the bugfix.
2013-04-29 22:08:05 +02:00
Ondrej Zajicek
8bd9b930c3
Fixes a bug in IPv6 BGP next hop processing.
...
BGP next hop attributes with empty link-local IPv6 addresses were not
handled properly.
Thanks to Sergey Popovich for the bugfix.
2013-04-16 17:40:44 +02:00
Ondrej Zajicek
094d2bdb79
Implements ADD-PATH extension for BGP.
...
Allows to send and receive multiple routes for one network by one BGP
session. Also contains necessary core changes to support this (routing
tables accepting several routes for one network from one protocol).
It needs some more cleanup before merging to the master branch.
2012-08-14 16:46:43 +02:00
Ondrej Zajicek
47c447c42e
Minor cleanups.
2012-05-11 12:10:21 +02:00
Ondrej Zajicek
ebecb6f6a1
Implements generalized import hooks.
...
Thanks to Alexander V. Chernikov for the original patch.
2012-04-15 15:28:29 +02:00
Ondrej Zajicek
3ce1714279
Fixes a new bug in BGP route ordering.
2012-01-20 16:20:03 +01:00
Ondrej Zajicek
d7f469c15c
Some minor fixes.
2012-01-09 02:41:13 +01:00
Ondrej Zajicek
53ffbff39f
Implements support for link-local addresses in BGP.
...
Thanks Matthias Schiffer for the original patch.
2012-01-08 15:31:34 +01:00
Ondrej Zajicek
61c96d7244
Fixes bug that causes crash with strange BGP updates.
2011-05-31 17:27:46 +02:00
Ondrej Zajicek
06fb60c4af
Fixes some problems in BGP error handling.
2011-03-30 01:09:18 +02:00
Ondrej Zajicek
265d06dcbc
Fixes IPv6 build.
2010-08-04 15:27:11 +02:00
Ondrej Zajicek
d1e146f2f8
Implements IGP metric comparison for BGP routes.
2010-07-31 01:04:32 +02:00
Ondrej Zajicek
1b180121a9
Use link-local addresses in recursive next hops for IPv6 BGP.
2010-07-28 11:45:35 +02:00
Ondrej Zajicek
852b7062e3
Fixes a buffer overflow in TX code of IPv6 BGP.
2010-07-22 15:09:35 +02:00
Ondrej Zajicek
087cecd0e2
Adds some options and documentation related to recursive next hops.
2010-07-13 12:48:23 +02:00
Ondrej Zajicek
9be9a26413
Implements proper multihop BGP.
...
Also does some incompatible changes to config file syntax,
like removing 'via IP' from multihop option.
2010-07-12 17:39:39 +02:00
Ondrej Zajicek
cfe34a316e
Implements hostcache and recursive next hops.
...
Hostcache is a structure for monitoring changes in a routing table that
is used for routes with dynamic/recursive next hops. This is needed for
proper iBGP next hop handling.
2010-07-05 17:50:19 +02:00
Ondrej Zajicek
475977242a
Handle EPIPE as a common connection close event.
2010-05-14 16:54:39 +02:00
Ondrej Zajicek
506fa1a73e
Merge several fixes suggested by Joakim Tjernlund.
2010-05-02 22:41:40 +02:00
Ondrej Zajicek
b8113a5e92
Implements BGP 'show protocols' info details.
2010-04-07 00:19:23 +02:00
Ondrej Zajicek
ff2857b03d
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
- min_scope check is removed, all routes have SCOPE_UNIVERSE by default
- also fixes some remaining compiler warnings
2010-02-26 10:55:58 +01:00
Ondrej Zajicek
e81b440f68
Fix configure to enable warnings and fix most of them.
2010-02-21 14:34:53 +01:00
Ondrej Zajicek
44f26560ec
Workaround for some broken BGP implementations that skip initial KEEPALIVE.
2010-02-02 10:14:21 +01:00
Ondrej Zajicek
cf31112f0d
Implements MRTdump feature.
2010-01-03 12:17:52 +01:00
Ondrej Zajicek
bf47fe4b2e
Implements BGP route refresh.
2009-11-26 20:47:59 +01:00
Ondrej Zajicek
3f9b7bfe9f
Implements option that controls IPv6 BGP next hops when lladdr is missing.
2009-11-18 20:32:36 +01:00
Ondrej Zajicek
a5bf5f781c
Show bad peer AS number in log in decimal.
2009-09-24 23:14:44 +02:00
Ondrej Zajicek
54fe0d9230
Fixes setting of IP addresses to route attributes (NEXT_HOP).
2009-09-18 13:59:04 +02:00
Ondrej Zajicek
05198c12f4
Some cleanups.
2009-08-27 19:01:04 +02:00
Ondrej Zajicek
b99d378698
Minor BGP changes related to error wait time.
2009-06-07 00:38:38 +02:00
Ondrej Zajicek
72b28a041d
Implements import route limits.
2009-06-04 13:31:09 +02:00
Ondrej Zajicek
f98e291579
The pipe cleanup.
2009-06-01 14:07:13 +02:00
Ondrej Zajicek
10ab65a8c9
Fixes one recently introduced IPv6 BGP compatibility problem.
2009-05-06 15:18:52 +02:00
Ondrej Zajicek
4827b69ff4
Fixes BGP IPv6 link local next hop handling.
...
When sending 'third party' BGP update, Bird used bogus link local
addresses instead of addresses it received before.
2009-04-29 18:58:24 +02:00
Ondrej Zajicek
ad440a570b
Fixes handling of 'next hop self' and 'source address' configuration
...
options.
2009-04-28 18:11:56 +02:00
Ondrej Zajicek
64cf11f544
Fixes BGPv6 bug - missing endianity conversion.
...
Also removes code skipping SNPAs
(obsoleted by newer RFCs, should be ignored).
2009-04-23 23:15:07 +02:00
Ondrej Zajicek
8f0c887a52
Fixe bug in BGPv6 that causes to send invalid network withdraws.
2009-04-23 14:16:05 +02:00
Ondrej Zajicek
e8ba557c7f
Update capability handshake options
...
Add 'capabilities' option, change default behavior to advertise ipv4,
add some checks and ignore incoming capabilities when capabilities
are disabled.
2009-03-13 12:49:44 +01:00
Ondrej Zajicek
e3299ab148
Added Cisco and Quagga capability workaround option.
2009-03-05 11:52:47 +01:00
Ondrej Zajicek
82a79586e5
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 that
route group. Old behavior (skipping remaining attributes)
leads to skipping required attributes and session drop.
2009-02-27 15:24:46 +01:00
Ondrej Zajicek
cb53039271
Rate limit for most abundant log messages
2009-02-26 14:23:54 +01:00
Ondrej Zajicek
165a622727
Adds support for fallback to capabilityless BGP connect
...
When capability related error is received, next connect will be
without capabilities. Also cease error subcodes descriptions
(according to [RFC4486]) are added.
2008-12-24 17:24:41 +01:00
Ondrej Zajicek
11b32d9117
Major changes to BGP
...
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-12-19 01:34:39 +01:00
Ondrej Zajicek
1389f3699f
Fixes bugs in IPv6 code caused by recent commits.
2008-11-05 21:39:04 +01:00
Ondrej Zajicek
e16466b379
Fix race condition that breaks BGP connections after reconfigure.
...
RFC says that only connections in OpenConfirm and Established state
should participate in connection collision detection.
The current implementation leads to race condition when both sides
are trying to connect at the almost same time, then both sides
receive OPEN message by different connections at the almost same
time and close the other connection. Both connections are
closed and the both sides end in start/idle or start/active
state.
2008-10-29 14:16:34 +01:00
Ondrej Zajicek
ba5ed6f3e4
Implementation of an option for disabling AS4 support per BGP instance.
2008-10-26 22:48:02 +01:00