| Branch: | Revision:

iof-bird-daemon / proto / bgp / packets.c @ ae80a2de

History | View | Annotate | Download (42 KB)

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

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.

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.

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.

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

Finishes add-path.

Fixes some bugs and uses generic hash implementation.

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

Merge branch 'master' into add-path


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

Implements RFC 6608 Subcodes for BGP FSM Error.

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.

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.

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

Minor cleanups.

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

Implements generalized import hooks.

Thanks to Alexander V. Chernikov for the original patch.

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.

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

Fixes bug that causes crash with strange BGP updates.

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

Fixes some problems in BGP error handling.

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.

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.

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.

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

Implements BGP 'show protocols' info details.

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.

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

Workaround for some broken BGP implementations that skip initial KEEPALIVE.

cf31112f 01/03/2010 11:17 AM Ondrej Zajicek

Implements MRTdump feature.

bf47fe4b 11/26/2009 07:47 PM Ondrej Zajicek

Implements BGP route refresh.

3f9b7bfe 11/18/2009 07:32 PM Ondrej Zajicek

Implements option that controls IPv6 BGP next hops when lladdr is missing.

a5bf5f78 09/24/2009 09:14 PM Ondrej Zajicek

Show bad peer AS number in log in decimal.

54fe0d92 09/18/2009 11:59 AM Ondrej Zajicek

Fixes setting of IP addresses to route attributes (NEXT_HOP).

05198c12 08/27/2009 05:01 PM Ondrej Zajicek

Some cleanups.

b99d3786 06/06/2009 10:38 PM Ondrej Zajicek

Minor BGP changes related to error wait time.

72b28a04 06/04/2009 11:31 AM Ondrej Zajicek

Implements import route limits.

f98e2915 06/01/2009 12:07 PM Ondrej Zajicek

The pipe cleanup.

10ab65a8 05/06/2009 01:18 PM Ondrej Zajicek

Fixes one recently introduced IPv6 BGP compatibility problem.

4827b69f 04/29/2009 04:58 PM Ondrej Zajicek

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.

ad440a57 04/28/2009 04:11 PM Ondrej Zajicek

Fixes handling of 'next hop self' and 'source address' configuration

64cf11f5 04/23/2009 09:15 PM Ondrej Zajicek

Fixes BGPv6 bug - missing endianity conversion.

Also removes code skipping SNPAs
(obsoleted by newer RFCs, should be ignored).

8f0c887a 04/23/2009 12:16 PM Ondrej Zajicek

Fixe bug in BGPv6 that causes to send invalid network withdraws.

e8ba557c 03/13/2009 11:49 AM Ondrej Zajicek

Update capability handshake options

Add 'capabilities' option, change default behavior to advertise ipv4,
add some checks and ignore incoming capabilities when capabilities
are disabled.

e3299ab1 03/05/2009 10:52 AM Ondrej Zajicek

Added Cisco and Quagga capability workaround option.

82a79586 02/27/2009 02:24 PM Ondrej Zajicek

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

cb530392 02/26/2009 01:23 PM Ondrej Zajicek

Rate limit for most abundant log messages

165a6227 12/24/2008 04:24 PM Ondrej Zajicek

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.

11b32d91 12/19/2008 12:34 AM Ondrej Zajicek

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.

1389f369 11/05/2008 08:39 PM Ondrej Zajicek

Fixes bugs in IPv6 code caused by recent commits.

e16466b3 10/29/2008 01:16 PM Ondrej Zajicek

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

ba5ed6f3 10/26/2008 09:48 PM Ondrej Zajicek

Implementation of an option for disabling AS4 support per BGP instance.

4847a894 10/26/2008 09:45 PM Ondrej Zajicek

Implementation of route reflection for BGP

11cb6202 10/26/2008 09:36 PM Ondrej Zajicek

Implementation of 4B ASN support for BGP

e21423ba 06/05/2004 09:27 AM Martin Mares

... in BGP.

6ea8ca14 02/23/2003 10:22 AM Martin Mares

Updated a comment.

11d4474c 02/22/2003 10:47 PM Martin Mares

Better selection of link-local NLRI addresses, at least for our own
address. Need to do it better for the other neighbors -- the current
solution works only if they use the standard 64+64 global addresses
and the interface identifier in lower 64 bits is the same as for the...

8c92bf6a 02/22/2003 10:40 AM Martin Mares

Temporary fix for BGP protocol capability announcement for IPv6 mode.

60a72ed4 02/22/2003 10:25 AM Martin Mares

Fixed length check miscalculation in IPv6 receive path.

54e55169 06/04/2000 05:06 PM Martin Mares

BGP documented.

bc00185e 06/01/2000 01:00 PM Martin Mares

Updated to new neighbor cache.

d2a7c0e9 05/19/2000 06:05 PM Martin Mares

Don't print trace messages about null updates.

0c3588bf 05/08/2000 02:53 PM Martin Mares

Don't crash when the socket gets closed between updates.

Also, this time not only update `remains', but update it right :)

9ff8f334 05/08/2000 02:32 PM Martin Mares

Update `remains' counter correctly.

507eea4c 05/08/2000 12:37 PM Martin Mares

Don't generate corrupted packets when sending only route deletes.

2a149b18 05/04/2000 08:38 PM Martin Mares

Unused variables in IPv6 code.

93a786cb 05/04/2000 08:30 PM Martin Mares

Removed a lot of unused variables.

Please try compiling your code with --enable-warnings to see them. (The
unused parameter warnings are usually bogus, the unused variable ones
are very useful, but gcc is unable to control them separately.)

cf3d6470 05/04/2000 08:02 PM Martin Mares

IPv6 BGP support finished. Also simplified the BGP stuff a bit.

1c1da87b 05/04/2000 09:03 AM Martin Mares

Receive-only IPv6 BGP.

85368cd4 05/02/2000 04:07 PM Martin Mares

Full protocol tracing.

f94557de 04/27/2000 10:40 PM Martin Mares

Some more fixes for attributeless UPDATEs.

85733143 04/25/2000 11:08 PM Martin Mares

Avoid printing of error messages on Cease notifications.

42532f08 04/25/2000 09:58 PM Martin Mares

Support dynamic reconfiguration.

efcece2d 04/25/2000 09:13 PM Martin Mares

Better reporting of both local and remote errors.

a47a0108 04/25/2000 01:32 PM Martin Mares

Real parsing of BGP OPEN options including capability

2a9e064d 04/21/2000 12:25 PM Martin Mares

If no NLRI's are present in an UPDATE message, parse the attributes, but
don't check presence of mandatory attributes. [draft-09]

7787ace6 04/20/2000 10:54 PM Martin Mares

Synced to draft-ietf-idr-bgp4-09.

9bc6ab40 04/20/2000 10:34 PM Martin Mares

Fixed reporting of unknown options.

5f532add 04/19/2000 01:54 PM Martin Mares

Temporarily ignore unknown options.

1ed2fe96 04/17/2000 10:19 AM Martin Mares

Send and receive communities.

f421cfdd 04/17/2000 09:37 AM Martin Mares

Sending of update messages works!

ae8f5584 04/10/2000 12:39 PM Martin Mares

Implemented outgoing attribute cache.

f8809249 04/01/2000 09:17 AM Martin Mares

BGP now handles incoming routes (IPv4 only).

c00d31be 03/31/2000 11:21 PM Martin Mares

Parsing of BGP attributes.

973399ae 03/30/2000 06:44 PM Martin Mares

Basic analysis of UPDATE packets.

b552ecc4 03/30/2000 05:39 PM Martin Mares

Connection state machine works.

3fdbafb6 03/30/2000 10:44 AM Martin Mares

More BGP. This time it connects, but the state machine still isn't complete.

72a6ef11 03/21/2000 03:53 PM Martin Mares

Construction of BGP packets.

c01e3741 03/20/2000 09:50 PM Martin Mares

Started work on BGP. Wrote main part of the connection handling code.