Statistics
| Branch: | Revision:

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

# 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

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

BGP: Add support for SAFI 129 (VPN multicast)

Which, in contrast to SAFI 128, does not use MPLS labels.

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

01111fc4 03/23/2017 01:10 PM Ondrej Zajicek (work)

BGP: Bugfix in VPN NLRI encoding

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.

3c744164 03/17/2017 02:48 PM Jan Moskyto Matejka

Nexthop: Fixed recursive route mpls label merging

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.

27f6ba65 03/14/2017 11:56 AM Ondrej Zajicek (work)

BGP: Fix bug in ADD_PATH

When a BGP session with ADD_PATH is restarted and the neighbor do not
announce ADD_PATH capability during reconnect, the accept_ra_types is
still set to RA_ANY.

Thanks to Lennert Buytenhek for the bugreport

039a65d0 02/24/2017 01:05 PM Jan Moskyto Matejka

Nexthop: Fixed hostentry

1950a479 02/23/2017 03:32 PM Ondrej Zajicek (work)

BGP: Allow exchanging LOCAL_PREF with eBGP peers

Adds option 'allow bgp_local_pref' to override the usual restriction of
LOCAL_PREF on eBGP sessions.

Thanks to Lennert Buytenhek for the patch.

c609d039 02/22/2017 10:58 AM Jan Moskyto Matejka

Merge branch 'int-new' into nexthop-merged

2be9218a 02/20/2017 01:28 AM Ondrej Zajicek (work)

BGP: Update RFC references

62e64905 02/20/2017 01:26 AM Ondrej Zajicek (work)

Several minor fixes

4e379bde 02/19/2017 11:02 AM Ondrej Zajicek (work)

BGP: Update RFC references

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

Merge branch 'master' into int-new

82f42ea0 02/07/2017 02:55 PM Ondrej Zajicek (work)

BGP: Minor cleanups

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

5509e17d 01/22/2017 03:32 PM Ondrej Zajicek (work)

BGP: Support for AS confederations (RFC 5065)

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

Minor cleanups

5b208e29 12/22/2016 12:09 PM Jan Moskyto Matejka

Removing (struct rta)->cast. Never used.

4e276a89 12/22/2016 12:01 PM Jan Moskyto Matejka

Merged multipath and single-path data structures.

Dropped struct mpnh and mpnh_*()
Now struct nexthop exists, nexthop_*(), and also included struct nexthop
into struct rta.

Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is needed
to distinguish between these two cases, RTD_DEVICE is equivalent to...

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

261816b0 11/15/2016 03:24 PM Ondrej Zajicek (work)

BGP: Cluster list item should be prepended

Commit 3c09af41... changed behavior of int_set_add() from prepend to
append, which makes more sense for community list, but prepend must be
used for cluster list. Add int_set_prepend() and use it in cluster list...

9b0a0ba9 11/09/2016 03:36 PM Ondrej Zajicek (work)

Unit Testing for BIRD

- Unit Testing Framework (BirdTest)
- Integration of BirdTest into the BIRD build system
- Tests for several BIRD modules
Based on squashed Pavel Tvrdik's int-test branch, updated for
current int-new branch.
8860e991 11/08/2016 06:27 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

cc5b93f7 11/08/2016 04:04 PM Ondrej Zajicek (work)

Merge tag 'v1.6.2' 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.

3213273d 10/27/2016 09:08 AM Ondrej Filip

IANA assigned a different number to large BGP communities - changed.

66dbdbd9 10/03/2016 10:48 AM Ondrej Zajicek (work)

BGP: Support for large communities

Add support for large communities (draft-ietf-idr-large-community),
96bit alternative to RFC 1997 communities.

Thanks to Matt Griswold for the original patch.

ea0cb652 07/11/2016 06:41 PM Ondrej Zajicek (work)

BGP: Fix extended messages

Change attribute length limit to handle extended (64 kB) messages.

Do not mix updates and withdraws (RFC 7606).

775a5a81 06/29/2016 12:24 PM Ondrej Zajicek (work)

BGP: Skip empty path segments in received AS_PATH

Although RFC 4271 does not forbid empty path segments, they are useless
and some implementations consider them invalid. It is clarified in RFC 7606,
specifying that AS_PATH with empty segment is considered malformed.

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

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

0c6dfe52 05/10/2016 12:30 PM Jan Moskyto Matejka

Merge branch 'int-new' into int-new-merged

7152e5ef 05/10/2016 12:07 PM Jan Moskyto Matejka

Build system reworked to one global Makefile with includes and no nesting

Also removed the lib-dir merging with sysdep. Updated #include's
accordingly.

Fixed make doc on recent Debian together with moving generated doc into
objdir.

Moved Makefile.in into root dir...

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.

52e21323 11/25/2015 02:52 PM Ondrej Zajicek (work)

BGP: Update capability number from IANA for extended messages

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.

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 (seti.kr.ua) 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
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.

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'

Conflicts:

nest/config.Y
nest/rt-table.c
proto/bgp/bgp.c