Statistics
| Branch: | Revision:

iof-bird-daemon / proto / bgp / bgp.c @ 4a591d4b

History | View | Annotate | Download (39.5 KB)

# Date Author Comment
4a591d4b 02/21/2015 06:31 PM Pavel Tvrdik

Replacing GNU old-style field designator extension

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.

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.

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

IPv4/IPv6 integrated socket code.

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
direct/multihop.

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

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
77e43c8b 11/22/2013 09:49 PM Ondrej Zajicek

Minor fixes.

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

BFD protocol, ready for release.

Supports OSPF and BGP and also statically configured sessions.

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.

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.

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.

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'

Conflicts:

nest/config.Y
nest/rt-table.c
proto/bgp/bgp.c
26822d8f 07/15/2012 11:33 PM Ondrej Zajicek

Finalize RA_ACCEPTED handling.

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.

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.

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.

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

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

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

Fixes a problem with BGP protocols and implicit router IDs.

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.

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.

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

Implements BGP 'show protocols' info details.

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

Fix configure to enable warnings and fix most of them.

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

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

Implements MRTdump feature.

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

Remove bgp_as4_support variable.

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.

4cdd0784 10/12/2009 09:31 PM Ondrej Zajicek

Implements protocol-specific router id and updates documentation.

ea89da38 10/11/2009 04:56 PM Ondrej Zajicek

Workaround for stupid callback scheduler.

There is no reak callback scheduler and previous behavior causes
bad things during hard congestion (like BGP hold timeouts).

Smart callback scheduler is still missing, but main loop was
changed such that it first processes all tx callbacks (which...

be6e39eb 09/24/2009 08:12 PM Ondrej Zajicek

Passive option.

70670bf3 07/09/2009 01:42 PM Ondrej Zajicek

Fixed bug related to reconfiguration of BGP with MD5 passwords.

d72cdff4 06/23/2009 09:08 AM Ondrej Zajicek

Replace 'bind' option with 'listen' option.

To be consistent with other daemons.

789772ed 06/18/2009 05:20 PM Ondrej Zajicek

Implements option that changes BGP listening socket parametres.

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

Minor BGP changes related to error wait time.

72382626 06/06/2009 04:56 PM Ondrej Zajicek

Fixes bug related to startup delay change.

dd91e467 06/06/2009 04:16 PM Ondrej Zajicek

Differentiate between error delay and connect/reconnect delay.

The difference is here to reject incoming connections in the
first case.

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

Implements import route limits.

23ac9e9a 05/31/2009 01:24 PM Ondrej Zajicek

Changes pipes to transfer all routes between routing table, not just optimal 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
options.

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.

(*) http://www.ietf.org/internet-drafts/draft-chen-rfc4893bis-02.txt

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.

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.

59121155 12/24/2008 11:18 AM Ondrej Zajicek

Fixes bug related to reconfiguration of BGP.

BGP keeps its copy of configuration ptr and didn't update it during
reconfiguration. But old configuration is freed during reconfiguration.
That leads to unnecessary reset of BGP connection during reconfiguration...

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.

a39b165e 11/01/2008 03:58 PM Ondrej Zajicek

Multihop BGP was completely broken, because listening socket has always
ttl 1.

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

Implementation of route server.

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

d51aa281 10/26/2008 09:42 PM Ondrej Zajicek

Implementation of MD5 authentication of BGP sessions.

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

Implementation of 4B ASN support for BGP

9831e591 06/05/2004 09:58 AM Martin Mares

Staticized lots of local functions.

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

... in BGP.

38a608c5 05/31/2004 09:48 PM Martin Mares

Rewritten the I/O loop. All socket operations are now safe, meaning that
you 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....

6a57bb31 05/31/2004 08:57 PM Martin Mares

Killed a couple of unused variables.

We really should compile with warnings enabled.

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

7d875e09 11/13/2002 08:47 AM Martin Mares

Added missing includes.

bcbdcbb6 06/20/2000 07:49 AM Martin Mares

Don't accept incoming connections when the neighbor is not up.

58f7d004 06/07/2000 01:25 PM Martin Mares

Fixes to the progdoc.

2e9b2421 06/07/2000 12:29 PM Martin Mares

Spelling fixes to progdoc.

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

f4ab2317 05/15/2000 12:19 PM Martin Mares

bgp_get_status: If protocol is down, don't print BGP state.

93d6bf38 05/08/2000 01:26 PM Martin Mares

The bgp_list is gone. Incomming connections are now handled in a much
more straightforward manner by scanning the active configuration for
matching protocols.

79681f4a 05/08/2000 11:04 AM Martin Mares

Link the instance to the global BGP list as soon as possible.

acfce55c 05/07/2000 10:41 AM Martin Mares

Setup of incoming connection is now a separate function.

53943a00 05/02/2000 04:10 PM Martin Mares

Defined format specifier `%M' which behaves as `%m', but takes the
error code as an argument.

Use it in socket hooks where we really shouldn't rely on errno containing
the right value or even existing.

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

Full protocol tracing.

9165888a 04/27/2000 07:41 PM Martin Mares

Handle connect errors correctly.

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

IBGP fixes.