Statistics
| Branch: | Revision:

iof-bird-daemon / proto / bgp / bgp.c @ 153f02da

History | View | Annotate | Download (56.1 KB)

# Date Author Comment
153f02da 12/07/2017 12:06 PM Ondrej Zajicek (work)

Nest: Maintain separate IPv4, IPv6 and LLv6 preferred addresses

Also redesign preferred address selection and update protocols to use
appropriate preferred address.

Based on a previous work by Jan Maria Matejka.

05d47bd5 05/16/2017 01:34 PM Jan Moskyto Matejka

Linpool: default allocation size

e919601a 04/28/2017 09:19 AM Ondrej Zajicek (work)

Merge master into int-new

ffb38dfb 04/12/2017 02:04 PM Ondrej Zajicek (work)

Static: Support for dual-AF IGP tables

When recursive routes with hybrid next hops (e.g. IPv6 route with IPv4 next
hop) are allowed, we need both IPv4 and IPv6 IGP tables.

6fe11c99 03/29/2017 01:31 PM Ondrej Zajicek (work)

BGP: Simplify igp table options

c49e4a65 03/29/2017 11:48 AM Ondrej Zajicek (work)

BGP: Update list of supported standards

ef57b70f 03/26/2017 05:20 PM Ondrej Zajicek (work)

BGP: Support for routes with mixed-AF next hops

Covers IPv4/VPNv4 routes with IPv6 next hop (RFC 5549), IPv6 routes with
IPv4 next hop (RFC 4798) and VPNv6 routes with IPv4 next hop (RFC 4659).
Unfortunately it also makes next hop hooks more messy.

Each BGP channel now could have two IGP tables, one for IPv4 next hops,...

1e37e35c 03/22/2017 05:16 PM Ondrej Zajicek (work)

BGP: Support for MPLS labels and VPN SAFI

Basic support for SAFI 4 and 128 (MPLS labeled IP and VPN) for IPv4 and
IPv6. Should work for route reflector, but does not properly handle
originating routes with next hop self.

Based on patches from Jan Matejka.

33b6c292 03/14/2017 11:56 AM Ondrej Zajicek (work)

BGP: Allow to specify interface for regular sessions

This may be useful if multple interfaces share the same network range.

Thanks to Fritz Grimpen for the original patch.

c259669f 02/08/2017 01:34 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

d8022d26 01/24/2017 01:00 AM Ondrej Zajicek (work)

BGP: Partial support for IPv4 routes with IPv6 next hop (RFC 5549)

Mostly capability signalling

f8aad5d5 01/03/2017 03:30 PM Ondrej Zajicek (work)

Minor cleanups

256cc8ee 12/20/2016 04:39 PM Ondrej Zajicek (work)

BGP: Report capabilities in show protocols all

ac3ad139 12/07/2016 05:29 PM Ondrej Zajicek (work)

BGP: Add support for flowspec (RFC 5575)

d15b0b0a 12/07/2016 01:20 PM Ondrej Zajicek (work)

BGP redesign

Integrated and extensible BGP with generalized AFI handling,
support for IPv4+IPv6 AFI and unicast+multicast SAFI.

ed1a908e 11/25/2016 10:51 AM Ondrej Zajicek (work)

BGP: Fix memory leak in graceful restart code

Prefix and bucket tables are initialized when entering established state
but not explicitly freed when leaving it (that is handled by protocol
restart). With graceful restart, BGP may enter and leave established...

8860e991 11/08/2016 06:27 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

3e236955 11/01/2016 01:52 PM Jan Moskyto Matejka

Build: switch on -Wextra, get rid of most of the warnings

There are several unresolved -Wmissing-field-initializers on older
versions of GCC than 5.1, all of them false positive.

af678af0 05/12/2016 04:03 PM Ondrej Zajicek (work)

Merge remote-tracking branch 'origin/master' into int-new

a7baa098 04/13/2016 12:37 PM Ondrej Zajicek (work)

BSD: Add the IPsec SA/SP database entries control

Add code for manipulation with TCP-MD5 keys in the IPsec SA/SP database
at FreeBSD systems. Now, BGP MD5 authentication (RFC 2385) keys are
handled automatically on both Linux and FreeBSD.

Based on patches from Pavel Tvrdik.

7a7ac656 04/08/2016 10:28 AM Jan Moskyto Matejka

Merge branch 'master' into int-new-channels

bd22d7f4 04/06/2016 09:57 AM Ondrej Zajicek (work)

IO: Avoid multiple event cycles in one loop cycle.

Event cycle may took too much time and trigger next timer events, so
avoid cycling between timer and event cycles inside the loop cycle.

9e7b3ebd 04/06/2016 09:49 AM Ondrej Zajicek (work)

IO: Replace RX priority heuristic with explicit mark

In BIRD, RX has lower priority than TX with the exception of RX from
control socket. The patch replaces heuristic based on socket type with
explicit mark and uses it for both control socket and BGP session waiting...

487c6961 02/11/2016 03:38 PM Ondrej Zajicek (work)

BGP: Fix bug in incoming connection handling

When a BGP session was established by an outgoing connection with
Graceful Restart behavior negotiated, a pending incoming connection in
OpenSent state, and another incoming connection was received, then the
outgoing connection (and whole BGP session) was closed, but the old...

f4a60a9b 02/01/2016 09:28 AM Ondrej Zajicek (work)

Channels - explicit links between protocols and tables

The patch adds support for channels, structures connecting protocols and
tables and handling most interactions between them. The documentation is
missing yet.

06e0d1b6 07/18/2015 11:38 AM Ondrej Zajicek

BGP: Extended messages support

Implements draft-ietf-idr-bgp-extended-messages-10, for now
undocumented and with temporary private capability number.

8d9eef17 06/08/2015 12:24 AM Ondrej Zajicek

BGP multipath support

Kernel option 'merge paths' allows to merge routes exported to kernel
protocol (currently BGP and static routes) to multipath routes.

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.

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

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.