8c9986d310
Filters: VPN Route Distinguishers, Prefix Type, Docs Update
2017-03-13 13:51:20 +01:00
665be7f6bd
Nest: Minor fixes in show route
2017-03-09 13:47:00 +01:00
5ffb62dd03
Nest: Allow iface-only neighbors
2017-03-09 13:47:00 +01:00
039a65d0e4
Nexthop: Fixed hostentry
2017-02-24 14:05:11 +01:00
93f50ca317
Nest: names for nhu_state values
...
It took too much time to analyze what's the meaning of nhu_state values
so I spent less than the same amount of time documenting it.
2017-02-22 14:11:01 +01:00
c609d03986
Merge branch 'int-new' into nexthop-merged
2017-02-22 11:58:04 +01:00
62e64905b7
Several minor fixes
2017-02-20 02:26:45 +01:00
c259669fa3
Merge branch 'master' into int-new
2017-02-08 14:34:48 +01:00
5509e17d0c
BGP: Support for AS confederations (RFC 5065)
2017-01-22 16:32:42 +01:00
f8aad5d5b7
Minor cleanups
2017-01-03 16:30:27 +01:00
d47c3d64b2
MPLS: Label stack concatenation for recursive routes
2016-12-22 21:38:33 +01:00
d14f8c3c45
Netlink: MPLS routes in kernel
...
Anyway, Bird is now capable to insert both MPLS routes and MPLS encap
routes into kernel.
It was (among others) needed to define platform-specific AF_MPLS to 28
as this constant has been assigned in the linux kernel.
No support for BSD now, it may be added in the future.
2016-12-22 21:38:33 +01:00
f2010f9c65
Static: Protocol rework wrt. struct nexthop changes; MPLS label support
2016-12-22 21:38:33 +01:00
ec5e5d23fa
Nexthop: Support for label stack in nest
2016-12-22 13:23:52 +01:00
5b208e296f
Removing (struct rta)->cast. Never used.
2016-12-22 13:09:59 +01:00
4e276a8920
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
IPA_ZERO(a->nh.gw), RTD_ROUTER is then IPA_NONZERO(a->nh.gw).
From now on, we also explicitely want C99 compatible compiler. We assume
that this 20-year norm should be known almost everywhere.
2016-12-22 13:01:06 +01:00
c42ecaab8d
Tests: Fix build
2016-12-07 16:27:12 +01:00
77234bbbde
Basic flow specification support (RFC 5575)
...
Add flow4/flow6 network and rt-table type and operations, config grammar
and static protocol support.
Squashed flowspec branch from Pavel Tvrdik.
2016-12-07 15:54:19 +01:00
ad88b94bca
Merge branch 'int-new-rpki-squashed' (early part) into int-new
2016-12-07 15:30:46 +01:00
d15b0b0a1b
BGP redesign
...
Integrated and extensible BGP with generalized AFI handling,
support for IPv4+IPv6 AFI and unicast+multicast SAFI.
2016-12-07 14:20:52 +01:00
f6e8e141df
Check table type at `show route for ...'
2016-12-07 09:35:24 +01:00
65d2a88dd2
RPKI protocol with one cache server per protocol
...
The RPKI protocol (RFC 6810) using the RTRLib
(http://rpki.realmv6.org/) that is integrated inside
the BIRD's code.
Implemeted transports are:
- unprotected transport over TCP
- secure transport over SSHv2
Example configuration of bird.conf:
...
roa4 table r4;
roa6 table r6;
protocol rpki {
debug all;
# Import both IPv4 and IPv6 ROAs
roa4 { table r4; };
roa6 { table r6; };
# Set cache server (validator) address,
# overwrite default port 323
remote "rpki-validator.realmv6.org" port 8282;
# Overwrite default time intervals
retry 10; # Default 600 seconds
refresh 60; # Default 3600 seconds
expire 600; # Default 7200 seconds
}
protocol rpki {
debug all;
# Import only IPv4 routes
roa4 { table r4; };
# Set cache server address to localhost,
# use default ports tcp => 323 or ssh => 22
remote 127.0.0.1;
# Use SSH transport instead of unprotected transport over TCP
ssh encryption {
bird private key "/home/birdgeek/.ssh/id_rsa";
remote public key "/home/birdgeek/.ssh/known_hosts";
user "birdgeek";
};
}
...
2016-12-07 09:35:24 +01:00
0eb7f17d9a
nest/a-path.c: Fix description of BS constant (block size)
2016-11-30 11:57:35 +01:00
261816b0d4
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
handling code.
2016-11-15 16:24:39 +01:00
5e3cd0e5b5
Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0
2016-11-11 17:43:09 +01:00
9b0a0ba9e6
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.
2016-11-09 16:36:34 +01:00
8860e991f6
Merge branch 'master' into int-new
2016-11-08 19:27:58 +01:00
cc5b93f72d
Merge tag 'v1.6.2' into int-new
2016-11-08 17:04:29 +01:00
390601f038
RIP: Use message authentication interface
...
Based on former commit from Pavel Tvrdik
2016-11-02 17:53:22 +01:00
56cb3bedc2
Nest: Add support for MAC algorithms in grammar
2016-11-02 16:23:53 +01:00
de2a27e255
Add generic message authentication interface
...
Add generic interface for generating and verifying MACs (message
authentication codes). Replace multiple HMAC implementation with
a generic one.
2016-11-02 16:23:53 +01:00
3e236955c9
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.
2016-11-01 14:52:54 +01:00
3c09af4169
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.
2016-10-13 16:59:15 +02:00
2e7fb11a6e
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.
2016-10-12 14:22:01 +02:00
9df52a98e2
Doc: Change debug to { flag1|flag2|flag3 [, ...] } style
...
Thanks to Micah Anderson for bug report and Ondrej Zajicek for the idea!
2016-10-12 12:48:29 +02:00
9fcb9637b5
Nest: Remove trailing whitespaces
2016-10-12 12:48:29 +02:00
a46e01eeef
Nest: Fix signedness of large communities
2016-10-04 12:45:39 +02:00
66dbdbd993
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.
2016-10-03 12:48:56 +02:00
a290da25a1
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)
2016-09-15 15:57:51 +02:00
84cac51a51
Nest: Keep multipath next hops sorted
2016-09-14 11:53:54 +02:00
d107ef78df
Whitespace fixes
2016-08-16 13:02:32 +02:00
12640c1499
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>
2016-07-19 12:16:51 +02:00
6887f409f0
Prepare for longer interface names - clean up of the code.
2016-07-17 14:54:52 +02:00
a0fe1944d1
Add AS# ranges to bgpmask.
2016-06-08 16:22:44 +02:00
5af7b59660
Merge branch 'int-new' of gitlab.labs.nic.cz:labs/bird into int-new
2016-05-13 13:48:04 +02:00
d39d41fbda
Hash: Fix of previous commit
2016-05-13 13:46:46 +02:00
659f80f262
Make int-new compilable again
2016-05-12 21:47:29 +02:00
776d6b2c05
Merge remote-tracking branch 'origin/int-new' into int-new
2016-05-12 18:11:12 +02:00
af678af0d5
Merge remote-tracking branch 'origin/master' into int-new
2016-05-12 18:03:23 +02:00
54ac0becee
Hash: fixed rta hashing wrt. structure padding
2016-05-12 16:16:25 +02:00