| Branch: | Revision:

iof-bird-daemon / proto / bgp @ ae80a2de

# Date Author Comment
ae80a2de 06/08/2015 12:24 AM Pavel Tvrdík

unsigned [int] -> uint

d924d5a5 03/31/2015 10:10 PM Ondrej Zajicek

BGP: Fixes serious bug in TX handling

Under some circumstances and heavy load, TX could be postponed
until the session fails with hold timer expired.

Thanks to Javor Kliachev for making the bug reproductible.

2eadd36f 03/29/2015 07:24 PM Ondrej Zajicek

BGP: AS-wide unique router ID (RFC 6286) support

RFC 6286 relaxed rules for router IDs, allowing EBGP sessions between
routers with the same ID (but different ASN).

9aed29e6 03/29/2015 04:29 PM Ondrej Zajicek

BGP: Enhanced route refresh (RFC 7313) support

Also hook feed_done is renamed to feed_end.

509aab5d 03/02/2015 09:58 AM Ondrej Zajicek

Fixes serious bug in BGP add-path

Temporary rta is reused in BGP, while rta_lookup() breaks it.

Thanks to Alexander Chernikov for analysing the problem.

6cf72d7a 02/22/2015 04:21 PM Ondrej Zajicek

Rename BGP option 'start delay' to 'connect delay'

Also update log message for error-triggered startup delay.

a1beb8f3 02/22/2015 12:50 PM Ondrej Zajicek

Relax BGP neighbor parameter

Permit specifying neighbor address, AS number and port independently.
Add 'interface' parameter for specifying interface for link-local
sessions independently.

Thanks to Alexander V. Chernikov for the original patch.

2bbc3083 02/21/2015 08:08 PM Ondrej Zajicek

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.

374917ad 02/21/2015 07:55 PM Ondrej Zajicek

Make BGP protocol instance search a separate function

Thanks to Alexander V. Chernikov for the patch.

4a591d4b 02/21/2015 06:31 PM Pavel Tvrdik

Replacing GNU old-style field designator extension

dfc7a6c6 02/21/2015 11:24 AM Ondrej Zajicek

Fixes potential alignment bug in BGP.

Thanks to Andrew ( for the bug report.

523f020b 02/21/2015 11:15 AM Ondrej Zajicek

Link state support in BGP.

Configurable fast shutdown of a BGP session when an interface loses link.

88a183c6 10/24/2014 09:11 AM Ondrej Zajicek

Integrated IP functions.

1123e707 10/02/2014 10:52 AM Ondrej Zajicek

Implements token bucket filter for rate limiting.

dcde7ae5 10/02/2014 10:52 AM Ondrej Zajicek

Allows to configure different remote port for BGP sessions.

Thanks to João Taveira Araújo for the original patch.

9eceab33 05/29/2014 09:05 PM Ondrej Zajicek

String constants could be used for string option values.

Thanks to Frederik Kriewitz for the patch.

05476c4d 05/18/2014 09:42 AM Ondrej Zajicek

IPv4/IPv6 integrated socket code.

66370eac 05/04/2014 09:49 AM Ondrej Zajicek

Fixes BGP crash when update with some attributes and empty NLRI is received.

Thanks to Charlie Allom for the bugreport.

859cbd75 04/14/2014 10:50 AM Ondrej Zajicek

Fixes a bug in (mainly) IPv6 BGP.

Stack variable may be used unitialized and that would lead to spurious
rta_free(), which may cause crash. The bug was introduced in 1.4.1 from
merging add-path branch.

Thanks to Peter Andreev for reporting it and Alexander V. Chernikov for...

4e7c974d 03/24/2014 06:22 PM Ondrej Zajicek

Fixes a bug in graceful restart.

227af309 03/24/2014 11:32 AM Ondrej Zajicek

Fixes some minor issues in graceful restart.

6eda3f13 03/23/2014 12:35 AM Ondrej Zajicek

Documentation (and minor fixes) for BGP graceful restart.

0c791f87 03/20/2014 01:07 PM Ondrej Zajicek

BGP graceful restart support.

Also significant core protocol state changes needed for that,
global graceful restart recovery state and kernel proto support
for recovery.

5c200e0a 02/06/2014 07:15 PM Ondrej Zajicek

Merge branch 'add-path'

6601a148 12/10/2013 09:30 PM Ondrej Zajicek

Merge branch 'add-path'

2d0b7e24 12/02/2013 10:54 AM Ondrej Zajicek

Fixes problem with source address selection in BGP and BFD.

e7d2ac44 12/01/2013 12:49 PM Ondrej Zajicek

Finishes add-path.

Fixes some bugs and uses generic hash implementation.

283c7dfa 11/25/2013 05:42 PM Ondrej Zajicek

Merge branch 'master' into add-path

f3e59178 11/24/2013 11:37 AM Ondrej Zajicek

Enables multihop mode for IBGP by default.

This is more consistent with common usage and also with the behavior of
other implementations (Cisco, Juniper).

Also changes the default for gw mode to be based solely on

736e143f 11/23/2013 10:50 AM Ondrej Zajicek

Merge branch 'master' into add-path


77e43c8b 11/22/2013 09:49 PM Ondrej Zajicek

Minor fixes.

0aeac9cb 11/22/2013 01:48 AM Ondrej Zajicek

Merge commit 'origin/bfd'

1ec52253 11/19/2013 09:33 PM Ondrej Zajicek

BFD protocol, ready for release.

Supports OSPF and BGP and also statically configured sessions.

a15dab76 10/21/2013 12:59 PM Ondrej Zajicek

Implements 'allow local as' option.

Similar to allowas-in option on other routers.

b21955e0 08/13/2013 06:42 PM Ondrej Zajicek

Fixes a bug related to mixed up neighbor events in BGP.

Neighbor events related to received route next hops got mixed up with
sticky neighbor node for an IP of the BGP peer. If a neighbor for a next
hop disappears, BGP session is shut down.

ac574513 07/25/2013 11:55 AM Ondrej Zajicek

Implements RFC 6608 Subcodes for BGP FSM Error.

48b15ef1 07/12/2013 11:39 PM Ondrej Zajicek

Fixes stuck connection during BGP session shutdown.

If TX buffers were full during BGP session shutdown
then a protocol waited indefinitely to be able to
send notification packet to close the session.

9c99d753 05/09/2013 09:11 AM Ondrej Zajicek

Fixes a problem with BGP neighbors, link-local addresses and locking.

Thanks to Fritz Grimpen for the bugfix.

572c6440 04/29/2013 08:08 PM Ondrej Zajicek

Fixes a crash when mrtdump is enabled and interface goes away.

Thanks to Peter Christensen for the bugfix.

8bd9b930 04/16/2013 03:40 PM Ondrej Zajicek

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.

48bc232f 04/16/2013 03:27 PM Ondrej Zajicek

Implements 'next hop keep' option for BGP.

This option allows to keep the received next hop even in cases when
the route is sent to an interface with a different subnet.

b662290f 01/10/2013 12:07 PM Ondrej Zajicek

Separate import and receive limits.

They have different behavior w.r.t. filtered routes that are kept.

79b4e12e 12/27/2012 11:56 AM Ondrej Zajicek

Implements interface masks for choosing router id.

Router ID could be automatically determined based of subset of
ifaces/addresses specified by 'router id from' option. The patch also
does some minor changes related to router ID reconfiguration.

Thanks to Alexander V. Chernikov for most of the work.

15550957 11/15/2012 12:29 AM Ondrej Zajicek

Changes 'rejected' to 'filtered' in one of the last patches.

e16469bc 11/12/2012 12:48 PM Ondrej Filip

AS# in bgp.agreggator was a signed integer - fixed.

cf98be7b 11/10/2012 01:26 PM Ondrej Zajicek

Allows rejected routes to be kept and examined.

When 'import keep rejected' protocol option is activated, routes
rejected by the import filter are kept in the routing table, but they
are hidden and not propagated to other protocols. It is possible to
examine them using 'show route rejected'.

094d2bdb 08/14/2012 02:46 PM Ondrej Zajicek

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.

5400c0e7 08/06/2012 12:42 AM Ondrej Zajicek

Fixes BGP subcode during global shutdown.

abced4a9 07/16/2012 12:44 PM Ondrej Zajicek

Merge branch 'rt-accepted'


26822d8f 07/15/2012 11:33 PM Ondrej Zajicek

Finalize RA_ACCEPTED handling.

47c447c4 05/11/2012 10:10 AM Ondrej Zajicek

Minor cleanups.

d9b77cc2 04/24/2012 09:39 PM Ondrej Zajicek

Implements generalized export limits.

And also fixes some minor bugs in limits.

7d0a31de 04/21/2012 07:05 PM Ondrej Zajicek

Fixes in generalized import limits.

ebecb6f6 04/15/2012 01:28 PM Ondrej Zajicek

Implements generalized import hooks.

Thanks to Alexander V. Chernikov for the original patch.

00a09f3c 04/15/2012 01:07 PM Ondrej Zajicek

Implement RA_ACCEPTED mode of route propagation.

c0adf7e9 03/15/2012 11:13 AM Ondrej Zajicek

Better support for multitable protocols.

The nest-protocol interaction is changed to better handle multitable
protocols. Multitable protocols now declare that by 'multitable' field,
which tells nest that a protocol handles things related to proto-rtable
interaction (table locking, announce hook adding, reconfiguration of...

39c028e9 01/24/2012 10:31 AM Ondrej Zajicek

Assign default protocol preference via proto_config_new().

The patch from Alexander V. Chernikov.

3ce17142 01/20/2012 03:20 PM Ondrej Zajicek

Fixes a new bug in BGP route ordering.

d7f469c1 01/09/2012 01:41 AM Ondrej Zajicek

Some minor fixes.

53ffbff3 01/08/2012 02:31 PM Ondrej Zajicek

Implements support for link-local addresses in BGP.

Thanks Matthias Schiffer for the original patch.

69a8259c 01/01/2012 11:14 AM Ondrej Zajicek

Allows sticky link-local neighbors.

Allows using NEF_STICKY neighbors with link-local addresses. This is
used for static route nexthops, they can be specified like fe80::1%eth0

be4cd99a 12/22/2011 12:20 PM Ondrej Zajicek

Implements deterministic MED handling.

Thanks to Alexander V. Chernikov for many suggestions.

a7f23f58 11/06/2011 11:31 PM Ondrej Zajicek

Implements protocol templates.

Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.

51947659 09/03/2011 10:56 PM Ondrej Zajicek

Minor changes in BGP protocol info.

Shows neighbor IP and ASN even if protocol is down.

6c4df703 09/03/2011 07:59 PM Ondrej Zajicek

Fixes possible buffer overflow when printing BGP attributes.

Thanks to Alexander V. Chernikov for the patch.

b1b19433 08/16/2011 09:13 PM Ondrej Zajicek

The generalized TTL security mechanism (RFC 5082) support.

Thanks to Alexander V. Chernikov for the patch.

42a0c054 08/14/2011 11:55 AM Ondrej Zajicek

BGP Extended communities.

fdf16eb6 07/03/2011 05:43 PM Ondrej Zajicek

Prints full community lists during 'show route all'.

35f8c731 06/25/2011 12:51 PM Ondrej Zajicek

Fixes output of BGP timers in 'show protocols all'.

61c96d72 05/31/2011 03:27 PM Ondrej Zajicek

Fixes bug that causes crash with strange BGP updates.

73272f04 04/22/2011 02:13 PM Ondrej Zajicek

Adds BGP option related to MED handling.

Adds option 'med metric' allows to compare MEDs
between routes received from different neighbors.

4ef09506 04/01/2011 11:55 AM Ondrej Zajicek

Fixes a problem with BGP protocols and implicit router IDs.

06fb60c4 03/29/2011 11:09 PM Ondrej Zajicek

Fixes some problems in BGP error handling.

7e95c05d 12/07/2010 10:33 PM Ondrej Zajicek

Core multipath support.

fcf5a4f4 11/03/2010 09:02 AM Ondrej Zajicek

Change default for BGP IPv6 socket to V6ONLY.

Also add a new option 'dual' for the old behavior.

ac4a1eed 08/13/2010 12:30 PM Ondrej Zajicek

Change default for handling missing link-local addresses on route servers.

265d06dc 08/04/2010 01:27 PM Ondrej Zajicek

Fixes IPv6 build.

d1e146f2 07/30/2010 11:04 PM Ondrej Zajicek

Implements IGP metric comparison for BGP routes.

ac3ac49a 07/28/2010 11:13 AM Ondrej Zajicek

Adds route resolvability test.

1b180121 07/28/2010 09:45 AM Ondrej Zajicek

Use link-local addresses in recursive next hops for IPv6 BGP.

852b7062 07/22/2010 01:09 PM Ondrej Zajicek

Fixes a buffer overflow in TX code of IPv6 BGP.

087cecd0 07/13/2010 10:48 AM Ondrej Zajicek

Adds some options and documentation related to recursive next hops.

9be9a264 07/12/2010 03:39 PM Ondrej Zajicek

Implements proper multihop BGP.

Also does some incompatible changes to config file syntax,
like removing 'via IP' from multihop option.

cfe34a31 07/05/2010 03:50 PM Ondrej Zajicek

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.

a34b0934 05/31/2010 09:35 AM Ondrej Zajicek

Disable BGP protocol when cannot open listening socket.

47597724 05/14/2010 02:54 PM Ondrej Zajicek

Handle EPIPE as a common connection close event.

506fa1a7 05/02/2010 08:41 PM Ondrej Zajicek

Merge several fixes suggested by Joakim Tjernlund.

6b5a8649 04/08/2010 03:56 PM Ondrej Zajicek

Do not export empty community list attribute in BGP.

b8113a5e 04/06/2010 10:19 PM Ondrej Zajicek

Implements BGP 'show protocols' info details.

126683fe 03/29/2010 05:29 PM Ondrej Zajicek

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....
3075824d 02/26/2010 01:09 PM Ondrej Zajicek

Comparing cluster list length should be later in bgp_rte_better().

ff2857b0 02/26/2010 09:55 AM Ondrej Zajicek

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...

e81b440f 02/21/2010 01:34 PM Ondrej Zajicek

Fix configure to enable warnings and fix most of them.

89534cda 02/20/2010 08:14 PM Ondrej Filip

'rr client id' is not expression but ID (like router id).

dca75fd7 02/13/2010 11:26 AM Ondrej Zajicek

Removes phantom protocol from the pipe design.

It seems that by adding one pipe-specific exception to route
announcement code and by adding one argument to rt_notify() callback i
could completely eliminate the need for the phantom protocol instance
and therefore make the code more straightforward. It will also fix some...

a2ea1bac 02/11/2010 08:19 PM Ondrej Zajicek

Moves errno.h include.

2af25a97 02/11/2010 10:12 AM Ondrej Zajicek

Fixes a crash caused by missing error hook on BGP listening socket.

Error happened when too many BGP connections arrived in one moment

44f26560 02/02/2010 09:14 AM Ondrej Zajicek

Workaround for some broken BGP implementations that skip initial KEEPALIVE.

41677025 01/28/2010 02:59 PM Ondrej Zajicek

Changes 'ignore communities' to 'interpret communities'.

6cb8f742 01/27/2010 04:22 PM Ondrej Zajicek

Better handling of well-known communities.

Process well-known communities before the export filter (old behavior is
to process these attributes after, which does not allow to send route
with such community) and just for routes received from other BGP
protocols. Also fixes a bug in next_hop check.