| Branch: | Revision:

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

History | View | Annotate | Download (49.2 KB)

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

unsigned [int] -> uint

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

Fixes potential alignment bug in BGP.

Thanks to Andrew ( for the bug report.

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

Integrated IP functions.

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


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

Implements 'allow local as' option.

Similar to allowas-in option on other routers.

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.

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.

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

Finalize RA_ACCEPTED handling.

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

Fixes a new bug in BGP route ordering.

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

Implements support for link-local addresses in BGP.

Thanks Matthias Schiffer for the original patch.

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

Implements deterministic MED handling.

Thanks to Alexander V. Chernikov for many suggestions.

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.

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

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.

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.

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.

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.

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

Do not export empty community list attribute in BGP.

3075824d 02/26/2010 01:09 PM Ondrej Zajicek

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

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

Fix configure to enable warnings and fix most of them.

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

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.

fbcb7d5f 12/21/2009 10:50 AM Ondrej Zajicek

Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277).

0225ea4e 12/14/2009 11:32 PM Ondrej Zajicek

Merge branch 'ospf3' into new

f2d7da74 12/14/2009 11:30 PM Ondrej Zajicek

Fixes export of routes with link-local gw.

43c1cecc 12/14/2009 10:31 PM Ondrej Zajicek

Remove bgp_as4_support variable.

d0e2d6d1 11/17/2009 01:17 PM Ondrej Zajicek

Show both IPv6 next hop addresses in BGP.

3228c72c 11/17/2009 10:41 AM Ondrej Zajicek

Implements RFC 5004 - prefer older external routes.

52b9b2a1 10/12/2009 06:44 PM Ondrej Zajicek

Rename as_path_get_last/as_path_get_first to be consistent.

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

Some cleanups.

949bd34e 08/25/2009 05:01 PM Ondrej Zajicek

Fixes bug related to AS2->AS4 conversion.

da95a7a7 06/23/2009 09:00 AM Ondrej Zajicek

Fixes bug in ORIGIN check.

29c430f8 06/23/2009 08:50 AM Ondrej Zajicek

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 should
drop session, nobody does that and it is unwise to do that.

Now we drop session just in case that peer ASN is in...

b7a735ea 04/29/2009 08:17 PM Ondrej Zajicek

Allow 'third party' BGP updates for originated routes.

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

f307842a 04/23/2009 12:44 PM Ondrej Zajicek

Fixes BGPv6 bug - mandatory attributes weren't validated;

b9539e78 04/23/2009 10:36 AM Ondrej Zajicek

Fixes bug in BGPv6 causing crash by checking missing attributes.

48d79d52 03/18/2009 07:30 PM Ondrej Zajicek

Better handling of AS4 optional attribute errors

AS4 optional attribute errors were handled by session
drop (according to BGP RFC). This patch implements
error handling according to new BGP AS4 draft (*)
- ignoring invalid AS4 optional attributes.


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

cd17c651 02/21/2009 04:47 PM Ondrej Zajicek

Add format for BGP_AGGREGATOR attribute

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.

aebe06b4 11/08/2008 10:33 PM Ondrej Zajicek

Proper format functions for ORIGINATOR_ID, CLUSTER_LIST

a92fe607 11/01/2008 11:55 AM Ondrej Zajicek

Implementation of route server.

b6bf284a 10/26/2008 09:59 PM Ondrej Zajicek

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...
4819c3e1 10/26/2008 09:54 PM Ondrej Zajicek

Bugfix in LOCAL_PREF attribute handling.

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

85ae398a 08/24/2008 11:20 PM Ondrej Filip

The source address configuration in BGP added.

98ac6176 06/25/2004 04:39 PM Ondrej Filip

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

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

... in BGP.

7fdd338c 06/01/2004 10:28 AM Ondrej Filip


de10a974 11/13/2002 08:46 AM Martin Mares

Added missing semicolons.

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

BGP documented.

5e88d730 05/19/2000 11:01 AM Martin Mares

BGP now reports originating AS and origin type in get_route_info().

02bd064a 05/13/2000 11:02 AM Martin Mares

Adapted to new rt_notify semantics.

2138d3b4 05/11/2000 12:20 PM Martin Mares

Use correct flags for the LOCAL_PREF attribute.

When an invalid attribute is found, copy the entire attribute to the data
section of the NOTIFICATION message.

beaf86e1 05/04/2000 09:23 PM Martin Mares

Removed RTS_RIP_EXT.

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.

d1a74339 05/02/2000 12:51 PM Martin Mares

Handle redistribution of unknown attributes correctly.

cea63664 04/28/2000 03:13 PM Martin Mares

The `bgp_origin' attribute is now an enum.

54896cbd 04/27/2000 10:31 PM Martin Mares

Path attribute can be missing if we process a packet with empty NLRI section.

5db9bae2 04/26/2000 01:26 PM Martin Mares

IBGP fixes.

99f70c78 04/25/2000 09:31 PM Martin Mares

Use the same attribute names as in filters.

684c25d9 04/25/2000 09:21 PM Martin Mares

When sending BGP attributes, re-create the flags, so that attributes
added by filters which get the flags wrong are fixed automagically.

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

Better reporting of both local and remote errors.

8b258e4e 04/21/2000 01:01 PM Martin Mares

LOCAL_PREF is now always present and exported over all ibgp connections [draft]

Allow setting of address of the local end of the TCP connection.

Several bug fixes.

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.

f381cdce 04/19/2000 01:54 PM Martin Mares

The ATOMIC_AGGREGATE parameter is optional transitive.

bd2d8190 04/17/2000 01:13 PM Martin Mares

Honor standard communities (no_export, no_advertise, no_export_subconfed)
when exporting routes.

56a2bed4 04/17/2000 12:46 PM Martin Mares

Don't import/export MED and LOCAL_PREF on external links.
Added real comparison of BGP routes (inspired by the Cisco one).
Default local preference and default MED are now settable.
Defined filter keywords for all BGP attributes we know.

e3558ab1 04/17/2000 11:25 AM Martin Mares

Normalize community sets when exporting.

Set PARTIAL bits correctly.

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!

c0668f36 04/17/2000 07:53 AM Martin Mares

Created nest/a-path.c and a-set.c which should contain general operations
on AS paths and community sets.

Moved as_path_prepend() there.

Pavel, please move the other functions as well.

c8f685cb 04/12/2000 02:14 PM Martin Mares

Made last Pavel's changes compile.

0a40e973 04/12/2000 02:12 PM Pavel Machek

as_path_prepend is usable outside bgp.

c2b28c99 04/12/2000 02:09 PM Martin Mares

Real bucket lists.

77506349 04/12/2000 01:21 PM Martin Mares

Introduced `ARRAY_SIZE' macro to replace all the sizeof(a)/sizeof(*a) constructs.

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

Implemented outgoing attribute cache.

48e842cc 04/10/2000 11:21 AM Martin Mares

Use neighbor cache to track direct route to the peer or multihop destination.

Calculate next_hop properly based on the local address we get from the
neighbor entry.

ef2c708d 04/09/2000 10:05 PM Martin Mares

More BGP progress...

For Pavel: You can use bgp_path_prepend() for prepending AS numbers to AS paths.

10be74da 04/01/2000 10:21 AM Martin Mares

Formatting of dynamic attributes (except for paths and communities which
will be added soon).

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

Parsing of BGP attributes.

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

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