]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
8 years agoBGP redesign
Ondrej Zajicek (work) [Wed, 7 Dec 2016 13:11:28 +0000 (14:11 +0100)] 
BGP redesign

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

8 years agofilter/test.conf: Minor changes in order of calls
Pavel Tvrdik [Wed, 30 Nov 2016 09:40:57 +0000 (10:40 +0100)] 
filter/test.conf: Minor changes in order of calls

8 years agonest/a-path.c: Fix description of BS constant (block size)
Pavel Tvrdik [Wed, 30 Nov 2016 10:55:33 +0000 (11:55 +0100)] 
nest/a-path.c: Fix description of BS constant (block size)

8 years agoconf/conf.h: Fix a description of a variable in a structure
Pavel Tvrdik [Wed, 30 Nov 2016 09:21:43 +0000 (10:21 +0100)] 
conf/conf.h: Fix a description of a variable in a structure

8 years agoconf/conf.c: Revert some includes removing
Pavel Tvrdik [Wed, 30 Nov 2016 09:17:23 +0000 (10:17 +0100)] 
conf/conf.c: Revert some includes removing

8 years agoRemove filter/test_bgp_filtering.conf file
Pavel Tvrdik [Wed, 30 Nov 2016 09:11:12 +0000 (10:11 +0100)] 
Remove filter/test_bgp_filtering.conf file

It was an example filtering configuration from BIRD's wiki.

8 years agoMerge test6.conf IPv6 tests into test.conf
Pavel Tvrdik [Wed, 30 Nov 2016 09:06:37 +0000 (10:06 +0100)] 
Merge test6.conf IPv6 tests into test.conf

8 years agofilter/test.conf: Extend tests
Pavel Tvrdik [Wed, 16 Nov 2016 13:05:59 +0000 (14:05 +0100)] 
filter/test.conf: Extend tests

8 years agofilter/test.conf: Reorder tests
Pavel Tvrdik [Wed, 16 Nov 2016 12:46:08 +0000 (13:46 +0100)] 
filter/test.conf: Reorder tests

Tests are sorted from trivial tests to more complex tests

8 years agofilter/test.conf: Replace print func with assert and format
Pavel Tvrdik [Wed, 16 Nov 2016 11:18:06 +0000 (12:18 +0100)] 
filter/test.conf: Replace print func with assert and format

8 years agoBirdtest: Add function format in grammar for stringify expression
Pavel Tvrdik [Wed, 16 Nov 2016 11:15:43 +0000 (12:15 +0100)] 
Birdtest: Add function format in grammar for stringify expression

8 years agoAdd lp_strdup function for string duplication on linpool
Pavel Tvrdik [Wed, 16 Nov 2016 11:10:34 +0000 (12:10 +0100)] 
Add lp_strdup function for string duplication on linpool

8 years agoBirdtest: Remove bt_assert command from term
Pavel Tvrdik [Wed, 16 Nov 2016 10:09:55 +0000 (11:09 +0100)] 
Birdtest: Remove bt_assert command from term

The bt_assert function does not return any value, so it was useless to
have a option in term definition.

8 years agoLexer: Add a quotation mark back while parsing quotes
Pavel Tvrdik [Wed, 16 Nov 2016 10:03:39 +0000 (11:03 +0100)] 
Lexer: Add a quotation mark back while parsing quotes

Thanks to Ondrej Zajicek for code.

8 years agoBirdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0
Pavel Tvrdik [Fri, 11 Nov 2016 16:43:09 +0000 (17:43 +0100)] 
Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0

8 years agoBirdtest: Put hard new lines for strict line width
Pavel Tvrdik [Fri, 11 Nov 2016 16:03:43 +0000 (17:03 +0100)] 
Birdtest: Put hard new lines for strict line width

This patch ensures width of output lines from testing framework (not
debug output). So output piped lined into file that has default width 80
cols is now correctly wrapped.

8 years agobirdtest: Fix no-forked mode in trie_test
Pavel Tvrdik [Fri, 11 Nov 2016 16:02:16 +0000 (17:02 +0100)] 
birdtest: Fix no-forked mode in trie_test

8 years agoFilter: Add long community tests
Ondrej Zajicek (work) [Wed, 9 Nov 2016 18:08:25 +0000 (19:08 +0100)] 
Filter: Add long community tests

Based on Pavel Tvrdik's int-test-lc branch.

8 years ago Unit Testing for BIRD
Ondrej Zajicek (work) [Wed, 9 Nov 2016 15:36:34 +0000 (16:36 +0100)] 
  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.

8 years agoMerge branch 'master' into int-new
Ondrej Zajicek (work) [Tue, 8 Nov 2016 18:27:58 +0000 (19:27 +0100)] 
Merge branch 'master' into int-new

8 years agoMinor code cleanups
Ondrej Zajicek (work) [Tue, 8 Nov 2016 16:46:29 +0000 (17:46 +0100)] 
Minor code cleanups

8 years agoMerge tag 'v1.6.2' into int-new
Ondrej Zajicek (work) [Tue, 8 Nov 2016 16:03:31 +0000 (17:03 +0100)] 
Merge tag 'v1.6.2' into int-new

8 years agoAdd missing extern
Ondrej Zajicek (work) [Thu, 3 Nov 2016 08:53:53 +0000 (09:53 +0100)] 
Add missing extern

8 years agoBFD: Authentication
Ondrej Zajicek (work) [Sun, 30 Oct 2016 22:51:23 +0000 (23:51 +0100)] 
BFD: Authentication

Implement BFD authentication (part of RFC 5880). Supports plaintext
passwords and cryptographic MD5 / SHA-1 authentication.

Based on former commit from Pavel Tvrdik

8 years agoOSPF: Use message authentication interface
Ondrej Zajicek (work) [Thu, 27 Oct 2016 18:58:21 +0000 (20:58 +0200)] 
OSPF: Use message authentication interface

Based on former commit from Pavel Tvrdik

8 years agoRIP: Use message authentication interface
Ondrej Zajicek (work) [Wed, 26 Oct 2016 14:07:45 +0000 (16:07 +0200)] 
RIP: Use message authentication interface

Based on former commit from Pavel Tvrdik

8 years agoDOC: Password algorithm option
Pavel Tvrdík [Thu, 28 Jan 2016 16:05:15 +0000 (17:05 +0100)] 
DOC: Password algorithm option

8 years agoNest: Add support for MAC algorithms in grammar
Pavel Tvrdík [Tue, 26 Jan 2016 15:45:13 +0000 (16:45 +0100)] 
Nest: Add support for MAC algorithms in grammar

8 years agoAdd generic message authentication interface
Ondrej Zajicek (work) [Tue, 25 Oct 2016 15:04:17 +0000 (17:04 +0200)] 
Add generic message authentication interface

Add generic interface for generating and verifying MACs (message
authentication codes). Replace multiple HMAC implementation with
a generic one.

8 years agoBSD: Fix build on OpenBSD broken by previous commit
Ondrej Zajicek (work) [Tue, 1 Nov 2016 15:18:27 +0000 (16:18 +0100)] 
BSD: Fix build on OpenBSD broken by previous commit

8 years agoBuild: switch on -Wextra, get rid of most of the warnings
Jan Moskyto Matejka [Fri, 14 Oct 2016 13:37:04 +0000 (15:37 +0200)] 
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.

8 years agoLog: Fix broken syslog name
Ondrej Zajicek (work) [Tue, 1 Nov 2016 10:37:49 +0000 (11:37 +0100)] 
Log: Fix broken syslog name

BIRD passed string from configuration to openlog(), which kept it
internally. After reconfiguration the old string was freed, therefore
openlog had invalid copy.

Thanks to Chris Caputo for the original patch.

8 years agoIANA assigned a different number to large BGP communities - changed.
Ondrej Filip [Thu, 27 Oct 2016 09:08:28 +0000 (11:08 +0200)] 
IANA assigned a different number to large BGP communities - changed.

8 years agoFilter: Minor formatting changes in test.conf
Ondrej Zajicek (work) [Tue, 18 Oct 2016 11:06:05 +0000 (13:06 +0200)] 
Filter: Minor formatting changes in test.conf

8 years agoClist: The add() function will append a new value
Pavel Tvrdik [Thu, 13 Oct 2016 14:57:21 +0000 (16:57 +0200)] 
Clist: The add() function will append a new value

The add() function used to prepend a new community to clist, but after
this fix the add() function appends new community.

8 years agoFilter: Expand testing of large community sets
Pavel Tvrdik [Thu, 13 Oct 2016 13:17:41 +0000 (15:17 +0200)] 
Filter: Expand testing of large community sets

8 years agoFixed memory bloating on kernel merge paths together with export filter.
Jan Moskyto Matejka [Wed, 12 Oct 2016 12:16:34 +0000 (14:16 +0200)] 
Fixed memory bloating on kernel merge paths together with export filter.

Some memory was being allocated from bad linpool, not from the given one
as they should.

Thanks to Madhu and Justin Cattle for reporting this.

8 years agoDoc: Change debug to { flag1|flag2|flag3 [, ...] } style
Pavel Tvrdik [Mon, 5 Sep 2016 09:20:28 +0000 (11:20 +0200)] 
Doc: Change debug to { flag1|flag2|flag3  [, ...] } style

Thanks to Micah Anderson for bug report and Ondrej Zajicek for the idea!

8 years agoNest: Remove trailing whitespaces
Pavel Tvrdik [Mon, 19 Sep 2016 14:01:29 +0000 (16:01 +0200)] 
Nest: Remove trailing whitespaces

8 years agoDoc: Fix deprecated unescaped braces in perl script
Pavel Tvrdik [Mon, 26 Sep 2016 16:05:51 +0000 (18:05 +0200)] 
Doc: Fix deprecated unescaped braces in perl script

This commit should fix warning `make docs'

./sgml2html bird.sgml Unescaped left brace in regex is deprecated,
  passed through in regex; marked by <-- HERE in m/\\nameurl{ <-- HERE
    (.*)}{(.*)}/ at fmt_latex2e.pl line 287.

8 years agoTree/Trie: Check the end of buffer
Pavel Tvrdik [Sat, 1 Oct 2016 10:50:29 +0000 (12:50 +0200)] 
Tree/Trie: Check the end of buffer

We set buffer->pos to buffer->end in function buffer_print() when
bvsnprintf() failed, so there would be uninitialized memory between
the old buffer->pos and the current buffer->pos.

8 years agoDoc: Add tag for links to RFCs
Pavel Tvrdik [Thu, 29 Sep 2016 16:08:40 +0000 (18:08 +0200)] 
Doc: Add tag for links to RFCs

8 years agoDoc: Fix inline <htmlurl></htmlurl>
Pavel Tvrdik [Mon, 3 Oct 2016 10:35:36 +0000 (12:35 +0200)] 
Doc: Fix inline <htmlurl></htmlurl>

Don't make space before or after link name.

8 years agoDoc: Do not use symlinks for files
Pavel Tvrdik [Mon, 3 Oct 2016 10:04:44 +0000 (12:04 +0200)] 
Doc: Do not use symlinks for files

8 years agoDoc: Generate one-sided version
Pavel Tvrdik [Mon, 3 Oct 2016 09:46:40 +0000 (11:46 +0200)] 
Doc: Generate one-sided version

This removes jumping offset for odd and even pages for binding book.

8 years agoDoc: Use [table t] or [table name]
Pavel Tvrdik [Mon, 3 Oct 2016 09:39:56 +0000 (11:39 +0200)] 
Doc: Use [table t] or [table name]

8 years agoDoc: Fix unnecessary special chars
Pavel Tvrdik [Mon, 3 Oct 2016 09:36:44 +0000 (11:36 +0200)] 
Doc: Fix unnecessary special chars

8 years agoDoc: Enable break lines in <tag></tag>
Pavel Tvrdik [Mon, 3 Oct 2016 08:59:43 +0000 (10:59 +0200)] 
Doc: Enable break lines in <tag></tag>

8 years agoDoc: Daemon command-line options alphabet order
Pavel Tvrdik [Mon, 3 Oct 2016 08:32:28 +0000 (10:32 +0200)] 
Doc: Daemon command-line options alphabet order

8 years agoDoc: Add command-line options --version, --help
Pavel Tvrdik [Mon, 3 Oct 2016 08:22:24 +0000 (10:22 +0200)] 
Doc: Add command-line options --version, --help

8 years agoDoc: Add labels to all chapters and options
Pavel Tvrdik [Mon, 26 Sep 2016 16:00:59 +0000 (18:00 +0200)] 
Doc: Add labels to all chapters and options

8 years agoDoc: Generate clickable PDF
Pavel Tvrdik [Thu, 29 Sep 2016 12:05:25 +0000 (14:05 +0200)] 
Doc: Generate clickable PDF

8 years agoDoc: Fix whitespaces
Pavel Tvrdik [Thu, 29 Sep 2016 09:20:04 +0000 (11:20 +0200)] 
Doc: Fix whitespaces

8 years agoFilter: fix missing separator
Ondrej Zajicek (work) [Tue, 4 Oct 2016 21:19:35 +0000 (23:19 +0200)] 
Filter: fix missing separator

8 years agoNest: Fix signedness of large communities
Ondrej Zajicek (work) [Tue, 4 Oct 2016 10:45:39 +0000 (12:45 +0200)] 
Nest: Fix signedness of large communities

8 years agoDoc: Documentation for large communities
Ondrej Zajicek (work) [Mon, 3 Oct 2016 22:31:43 +0000 (00:31 +0200)] 
Doc: Documentation for large communities

8 years agoFilter: large community sets
Ondrej Zajicek (work) [Sat, 1 Oct 2016 20:31:01 +0000 (22:31 +0200)] 
Filter: large community sets

Add support for lc sets to filter code. Grammar of (small) community sets
has to be updated to avoid parser collisions.

8 years agoBGP: Support for large communities
Ondrej Zajicek (work) [Sat, 1 Oct 2016 10:50:29 +0000 (12:50 +0200)] 
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.

8 years agoNEWS and version update v1.6.2
Ondrej Zajicek (work) [Thu, 29 Sep 2016 13:06:19 +0000 (15:06 +0200)] 
NEWS and version update

8 years agoDocs: fix BFD label
Pavel Tvrdik [Thu, 29 Sep 2016 11:28:18 +0000 (13:28 +0200)] 
Docs: fix BFD label

BFD headline will appear in Table of Contents again.

8 years agoKernel socket missing err_hook fix
Jan Moskyto Matejka [Thu, 29 Sep 2016 10:00:53 +0000 (12:00 +0200)] 
Kernel socket missing err_hook fix

Thanks to Tim Weippert for bugreport.

8 years agoNEWS and version update v1.6.1
Ondrej Zajicek (work) [Thu, 22 Sep 2016 11:34:56 +0000 (13:34 +0200)] 
NEWS and version update

8 years agoAdd !~ operator to filter grammar
Pavel Tvrdik [Tue, 20 Sep 2016 13:13:01 +0000 (15:13 +0200)] 
Add !~ operator to filter grammar

8 years agoRemove cvsignore
Ondrej Zajicek [Wed, 21 Sep 2016 10:07:59 +0000 (12:07 +0200)] 
Remove cvsignore

We have gitignore

8 years agoKRT: Add krt_scope attribute
Ondrej Zajicek (work) [Mon, 19 Sep 2016 10:29:56 +0000 (12:29 +0200)] 
KRT: Add krt_scope attribute

Add a new route attribute, krt_scope, to expose the Linux kernel route
scope. Constants from /etc/iproute2/rt_scopes (prefixed by "ips_") are
expected to be used with the attribute. Both import and export are
supported.

Also, the patch fixes device route export to the kernel, by setting link
scope automatically.

8 years agoMain: Improve BIRD help messages
Pavel Tvrdik [Thu, 8 Sep 2016 14:27:40 +0000 (16:27 +0200)] 
Main: Improve BIRD help messages

8 years agoAdd stdlib.h to client/commands.c
Pavel Tvrdik [Wed, 7 Sep 2016 12:58:51 +0000 (14:58 +0200)] 
Add stdlib.h to client/commands.c

8 years agoBFD: Fix invalid read from pollfd array
Pavel Tvrdik [Thu, 8 Sep 2016 11:45:36 +0000 (13:45 +0200)] 
BFD: Fix invalid read from pollfd array

It is possible that sockets_add() are called between sockets_prepare()
and sockets_fire() during poll loop in birdloop_main(), so we need to
use loop->poll_fd.used instead of loop->sock_num to find the last field.

8 years agort-table: Fix kernel protocol export filter memory bug
Pavel Tvrdik [Tue, 6 Sep 2016 15:08:45 +0000 (17:08 +0200)] 
rt-table: Fix kernel protocol export filter memory bug

Kernel protocol calls rt_export_merged(), which used @rte_update_pool for
temporary allocations, supposing it is called from other functions from
rt-table.c that handles locking and flushing of the linpool. Therefore,
linpool was not flushed properly and memory leaked.

Add linpool argument to rt_export_merged() and use @krt_filter_lp when
called from kernel protocol.

Thanks to Justin Cattle and Alexander Frolkin for the bugreport.

(Commit squashed and updated by Ondrej Zajicek)

8 years agoFilter: Prefer xmalloc/xfree to malloc/free
Pavel Tvrdik [Tue, 6 Sep 2016 15:18:15 +0000 (17:18 +0200)] 
Filter: Prefer xmalloc/xfree to malloc/free

8 years agoKRT: Add kernel metric protocol option
Ondrej Zajicek (work) [Thu, 15 Sep 2016 12:59:06 +0000 (14:59 +0200)] 
KRT: Add kernel metric protocol option

Kernel routes with different metrics do not clash with each other,
therefore using dedicated metric value is a reliable way to avoid
overwriting routes from other sources (e.g. kernel device routes).

Although kernel route metric could already be set as a route attribute by
filters, that is not consistent with the way how Linux kernel handles
route metric - not just a route attribute, but a part of a route key.

8 years agoKRT: Support for IPv6 ECMP
Ondrej Zajicek (work) [Wed, 14 Sep 2016 09:40:15 +0000 (11:40 +0200)] 
KRT: Support for IPv6 ECMP

Linux represents IPv6 ECMP routes as a sequence of unipath routes with
the same prefix. We have to translate between our representation (one
route with multipath next hop) and the Linux representation in both
directions.

Proper learning of alien IPv6 ECMP routes still not supported.

Thanks to Mikhail Sennikovskii for the original patch.

8 years agoNest: Keep multipath next hops sorted
Ondrej Zajicek (work) [Tue, 30 Aug 2016 15:17:27 +0000 (17:17 +0200)] 
Nest: Keep multipath next hops sorted

8 years agoKRT: Fix trivial error
Ondrej Zajicek (work) [Wed, 31 Aug 2016 12:02:41 +0000 (14:02 +0200)] 
KRT: Fix trivial error

8 years agoKRT: Forbid path merging on BSD
Ondrej Zajicek (work) [Tue, 30 Aug 2016 10:43:46 +0000 (12:43 +0200)] 
KRT: Forbid path merging on BSD

We support ECMP routes only on Linux. Exported routes are checked in
krt_capable(), but a route generated during path merging avoids this
check.

8 years agoMerge remote-tracking branch 'origin/misc-fixes'
Ondrej Zajicek (work) [Tue, 23 Aug 2016 15:35:26 +0000 (17:35 +0200)] 
Merge remote-tracking branch 'origin/misc-fixes'

8 years agoMinor README update
Ondrej Zajicek (work) [Tue, 23 Aug 2016 15:33:00 +0000 (17:33 +0200)] 
Minor README update

8 years agoWhitespace fixes
Pavel Tvrdik [Tue, 16 Aug 2016 11:02:32 +0000 (13:02 +0200)] 
Whitespace fixes

8 years agoAdd link to INSTALL in README file
Pavel Tvrdik [Tue, 16 Aug 2016 08:42:12 +0000 (10:42 +0200)] 
Add link to INSTALL in README file

8 years agoRewrote README file
Pavel Tvrdik [Tue, 16 Aug 2016 08:15:58 +0000 (10:15 +0200)] 
Rewrote README file

* Made structure with headlines,
* reordered,
* kicked out 'What is missing' part,
* Updated content by home page site and user docs

8 years agoAdd .gitignore to ignore generated files
Ondřej Surý [Tue, 16 Aug 2016 07:25:50 +0000 (09:25 +0200)] 
Add .gitignore to ignore generated files

8 years agowhitespace fixes
Ondřej Surý [Tue, 16 Aug 2016 07:24:12 +0000 (09:24 +0200)] 
whitespace fixes

8 years agoInclude <stdint.h> in cf-lex.l to avoid UINTx_MAX redefinition
Ondřej Surý [Tue, 16 Aug 2016 07:23:55 +0000 (09:23 +0200)] 
Include <stdint.h> in cf-lex.l to avoid UINTx_MAX redefinition

8 years agoAdds mailing list address at the top of README file
Pavel Tvrdik [Mon, 15 Aug 2016 14:16:36 +0000 (16:16 +0200)] 
Adds mailing list address at the top of README file

9 years agoBabel: Immediately update hello interval on interface reconfigure
Ondrej Zajicek (work) [Wed, 20 Jul 2016 13:55:45 +0000 (15:55 +0200)] 
Babel: Immediately update hello interval on interface reconfigure

An interface reconfiguration may change both the hello and update
intervals. An update interval change is immediately put into effect,
while a hello interval change is not. This also updates the hello
interval immediately (if the new interval is shorter than the old one),
and sends a hello to notify peers of the change.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
9 years agoNetlink: Fix build with older headers missing IFA_FLAGS
Ondrej Zajicek (work) [Wed, 20 Jul 2016 13:31:25 +0000 (15:31 +0200)] 
Netlink: Fix build with older headers missing IFA_FLAGS

9 years agoNetlink: Ignore tentative addresses
Ondrej Zajicek (work) [Wed, 20 Jul 2016 13:06:57 +0000 (15:06 +0200)] 
Netlink: Ignore tentative addresses

Ignore tentative IPv6 addresses and wait until finish of Duplicate
Address Detection (We got notification when an address is no longer
tentative) to avoid problems when protocols try to use interfaces
with tentative link-local addresses.

Based on patch from Jan Moskyto Matejka

9 years agoDoc: Fix password ID option description
Ondrej Zajicek (work) [Tue, 19 Jul 2016 13:40:57 +0000 (15:40 +0200)] 
Doc: Fix password ID option description

Thanks to Alexander Velkov for noticing it

9 years agoBabel: Do not maintain feasibility distance for our own routes
Ondrej Zajicek (work) [Tue, 19 Jul 2016 12:38:36 +0000 (14:38 +0200)] 
Babel: Do not maintain feasibility distance for our own routes

We do not need to maintain feasibility distances for our own router
ID (we ignore the updates anyway). Not doing so makes the routes be
garbage collected sooner when export filters change.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
9 years agoBabel: Do not keep an infeasible route as selected
Ondrej Zajicek (work) [Tue, 19 Jul 2016 12:28:53 +0000 (14:28 +0200)] 
Babel: Do not keep an infeasible route as selected

When a route becomes infeasible it should not be kept as selected; this
is forbidden by section 3.6 of the RFC and prevents subsequent updates
from the same router ID from replacing it.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
9 years agoBabel: Send wildcard retractions on shutdown and startup
Ondrej Zajicek (work) [Tue, 19 Jul 2016 12:23:41 +0000 (14:23 +0200)] 
Babel: Send wildcard retractions on shutdown and startup

This makes BIRD send a wildcard retraction on all interfaces before
shutting down and right after starting up. This helps ensure that
neighbours will discard the announced routes as soon as possible,
rather than only after the normal timeout procedures.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
9 years agoBabel: Rework handling of retractions
Ondrej Zajicek (work) [Tue, 19 Jul 2016 11:33:02 +0000 (13:33 +0200)] 
Babel: Rework handling of retractions

An update with wildcard AE and infinite metric should be treated as a
global retraction of all prefixes announced by that neighbour, per
section 4.4.9 of the RFC. In addition, router ID and seqno in retraction
updates should be ignored. This reworks the handling of retractions and
adjusts the parser to handle all this correctly.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
9 years agoBabel: Documentation updates
Ondrej Zajicek (work) [Tue, 19 Jul 2016 10:16:51 +0000 (12:16 +0200)] 
Babel: Documentation updates

This updates the documentation to correctly mention Babel when protocols
are listed, and adds examples and route attribute documentation to the
Babel section of the docs.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
9 years agoBabel: Make sure intervals do not overflow
Ondrej Zajicek (work) [Tue, 19 Jul 2016 09:57:20 +0000 (11:57 +0200)] 
Babel: Make sure intervals do not overflow

Intervals are carried as 16-bit centisecond values, but kept internally
in 16-bit second values, which causes a potential for overflow. This adds
some checks to make sure this does not happen.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
9 years agoPrepare for longer interface names - clean up of the code.
Ondrej Filip [Sun, 17 Jul 2016 12:54:52 +0000 (14:54 +0200)] 
Prepare for longer interface names - clean up of the code.

9 years agoBGP: Fix extended messages
Ondrej Zajicek (work) [Mon, 11 Jul 2016 18:41:32 +0000 (20:41 +0200)] 
BGP: Fix extended messages

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

Do not mix updates and withdraws (RFC 7606).

9 years agoLog: Fix error handling of debug file open
Ondrej Zajicek (work) [Mon, 11 Jul 2016 18:22:55 +0000 (20:22 +0200)] 
Log: Fix error handling of debug file open

Logging is not yet initialized, we have to use fprintf() here.

Thanks to Pavel Tvrdik for noticing and debugging it.

9 years agoFilter: Fixes reconfiguration with last_nonaggregated operator
Ondrej Zajicek (work) [Fri, 1 Jul 2016 09:03:13 +0000 (11:03 +0200)] 
Filter: Fixes reconfiguration with last_nonaggregated operator

9 years agofilter/test.conf: fixes formating
Pavel Tvrdik [Thu, 30 Jun 2016 13:00:47 +0000 (15:00 +0200)] 
filter/test.conf: fixes formating

9 years agoBGP: Skip empty path segments in received AS_PATH
Ondrej Zajicek (work) [Wed, 29 Jun 2016 12:11:03 +0000 (14:11 +0200)] 
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.