Pavel Tvrdík
4a62807890
Refactore dlopen rtrlib function pointers
2015-10-20 11:27:33 +02:00
Pavel Tvrdík
c050a2a7da
RPKI: Improved callback status handling
2015-10-19 16:48:33 +02:00
Pavel Tvrdík
2f0660544b
Fix check_file_readability function
...
Thanks to Martin Mares for warning.
2015-10-19 11:03:16 +02:00
Pavel Tvrdík
695f704389
RPKI: Add SSH Transport support
...
Handle reconfigure (still buggy)
2015-10-14 14:47:01 +02:00
Pavel Tvrdík
df2caa8b1d
RPKI: refactore and improve
...
Takes into account a preferences of caches.
Fixes many bugs.
Configuration example:
roa table roatable;
protocol rpki {
debug all;
roa table roatable;
cache "rpki-validator.realmv6.org" {
port 3233;
preference 1;
};
cache 127.0.0.1 {
preference 2;
};
cache "rpki-validator.realmv6.org";
}
2015-10-07 15:54:20 +02:00
Pavel Tvrdík
52ea2303cf
RPKI: add -ldl for bird compile for dlopen()
2015-10-07 15:49:07 +02:00
Pavel Tvrdík
804684663b
RPKI: load RTRLib dynamically with dlopen()
...
In configuration bird.conf you can specify a path to the RTRlib:
protocol rpki {
rtrlib "/usr/lib/librtr.so";
...
}
2015-10-05 16:52:15 +02:00
Pavel Tvrdík
aeaf497aac
RPKI: Importing routes into roa table
...
Implementation based on RTRLib.
Communication between rtrlib threads and main thread through pipe()
sockets and notify list like in BFD protocol.
TODO:
- load rtrlib using dlopen()
- take into account preferences of cache servers in configuration
2015-10-01 18:37:07 +02:00
Pavel Tvrdík
149220738b
Early integration of RTRlib into BIRD RPKI proto
...
lib/lists: add get_list_length(list *) function
2015-09-28 00:34:10 +02:00
Pavel Tvrdík
2c66ced11a
Integrate RTRlib into BIRD's build system
...
You need to do manually still:
$ cd rtrlib && cmake .
2015-09-28 00:32:16 +02:00
Pavel Tvrdík
d08c2cb836
RPKI: Add submodule RTRlib
...
You have to run for download a submodule commands:
$ git submodule init
$ git submodule update
2015-09-28 00:31:03 +02:00
Pavel Tvrdík
98bf329be6
RPKI: add new protocol skeleton
2015-09-17 18:37:11 +02:00
Ondrej Zajicek
c7b99a932c
Nest: Fixes one of previous commit
2015-07-28 15:08:21 +02:00
Ondrej Zajicek
dbf4c0cb25
Minor update to test commits
2015-07-28 12:56:51 +02:00
Ondrej Zajicek
641172c6e5
Netlink: Fixes uninitialized variable
...
Thanks to Pavel Tvrdik for the bugfix
2015-07-28 12:36:03 +02:00
Ondrej Zajicek
538264cf1a
Static: Support for BFD controlled static routes
2015-07-24 18:02:07 +02:00
Ondrej Zajicek
1321e12ac4
Static: Allows to specify attributes for static routes
...
The patch adds suport for specifying route attributes together with
static routes, e.g.:
route 10.1.1.0/24 via 10.0.0.1 { krt_advmss = 1200; ospf_metric1 = 100; };
2015-07-20 17:11:10 +02:00
Ondrej Zajicek
ffa398b8d8
BFD: Fixes crash after socket error
...
Thanks to Thomas King for the bugreport.
2015-07-19 11:39:24 +02:00
Ondrej Zajicek
a8ad8fd649
Simplify build messages
...
Thanks to Christian Tacke for the original patch.
2015-07-18 23:15:04 +02:00
Ondrej Zajicek
17661ff934
Nest: Fixes symbols in router id
...
Thanks to Peter Hudec for noticing the problem.
2015-07-18 19:30:35 +02:00
Ondrej Zajicek
6683d42d5b
Documentation update
2015-07-18 19:05:11 +02:00
Ondrej Zajicek
06e0d1b692
BGP: Extended messages support
...
Implements draft-ietf-idr-bgp-extended-messages-10, for now
undocumented and with temporary private capability number.
2015-07-18 13:38:21 +02:00
Ondrej Zajicek
ab4da3423d
Direct: Fixes behavior for the same routes on different interfaces
...
Thanks to Andrew (seti.kr.ua) for the bug report.
2015-07-18 13:05:05 +02:00
Ondrej Zajicek
8d9eef1771
BGP multipath support
...
Kernel option 'merge paths' allows to merge routes exported to kernel
protocol (currently BGP and static routes) to multipath routes.
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
db027a41d4
Fixes subtle bug in temporary attribute handling
...
In some cases, export filter accessed attributes of a different route.
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
78a2cc289f
KRT: Fixes some minor bugs in kernel protocol
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
d217ba5111
Moving of mulipath merging code from OSPF to nest
2015-06-08 02:24:08 +02:00
Ondrej Zajicek
ca34698ca6
Fixes bug in pipe feeding when filtered routes are kept in table
2015-06-08 02:24:08 +02:00
Pavel Tvrdík
ae80a2de95
unsigned [int] -> uint
2015-06-08 02:24:08 +02:00
Pavel Tvrdík
e348ef01b4
unsgined char -> byte
2015-06-08 02:24:08 +02:00
Ondrej Filip
398f922531
Typo fix by Hans van Kranenburg
2015-06-01 10:41:17 +02:00
Ondrej Zajicek
9fe1d3ca8a
Fixes unnamed protocols from templates
2015-05-22 11:12:48 +02:00
Ondrej Zajicek
d0e23d42de
Simplify flushing process
...
Related to changes from previous patch.
2015-05-17 00:56:34 +02:00
Ondrej Zajicek
86f567e13c
Fix minor issue in pipe route propagation
...
In some circumstances during reconfiguration, routes propagated by pipes
to other tables may hang there even after the primary routes are removed.
There is already a workaround for this issue in the code which removes
these stale routes by flush process when source protocols are shut down.
This patch is a cleaner fix and allows to simplify the flush process
2015-05-16 20:17:59 +02:00
Ondrej Zajicek
38e835dede
Fix in the last commit
2015-05-13 13:19:26 +02:00
Ondrej Zajicek
9fdf9d29b6
KRT: Add support for plenty of kernel route metrics
...
Linux kernel route metrics (RTA_METRICS netlink route attribute) are
represented and accessible as new route attributes:
krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss,
krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd,
krt_quickack, krt_lock_mtu, krt_lock_window, krt_lock_rtt, krt_lock_rttvar,
krt_lock_sstresh, krt_lock_cwnd, krt_lock_advmss, krt_lock_reordering,
krt_lock_hoplimit, krt_lock_rto_min, krt_feature_ecn, krt_feature_allfrag
2015-05-12 16:42:22 +02:00
Ondrej Zajicek
315f23a047
Add bitfield route attribute type
2015-05-10 19:44:10 +02:00
Ondrej Zajicek
77edab6409
OSPF: Redesign LSA checksumming
...
New LSA checksumming code separates generic Fletcher-16 and OSPF-specific
code and avoids back and forth endianity conversions, making it much more
readable and also several times faster.
2015-05-01 14:40:56 +02:00
Ondrej Zajicek
30d09eb96e
OSPF: Fixes validation of LSA checksums
...
Prior to this patch, BIRD validates the OSPF LSA checksum by calculating
a new checksum and comparing it with the checksum in the header. Due to
the specifics of the Fletcher checksum used in OSPF, this is not
necessarily correct as the checkbytes in the header may be calculated via
a different means and end up with a different value that is nonetheless
still correct.
The documented means of validating the checksum as specified in RFC 905
B.4 is to calculate c0 and c1 from the unchanged contents of the packet,
which must result in a zero value to be considered valid.
Thanks to Chris Boot for the patch.
2015-04-28 13:45:44 +02:00
Ondrej Zajicek
7069fc9e72
KRT: Fixes route reload
...
Did not really worked
2015-04-25 21:41:43 +02:00
Ondrej Zajicek
c5ff44a703
KRT: Fixes learning of preferred kernel routes.
...
When a new route was imported from kernel and chosen as preferred, then
the old best route was propagated as a withdraw to the kernel protocol.
Under some circumstances such withdraw propagated to the BSD kernel could
remove the new alien route and thus reverting the import.
2015-04-25 20:43:43 +02:00
Ondrej Zajicek
90097f4fb9
KRT: Support for RTM_CHANGE on BSD
2015-04-22 10:53:15 +02:00
Ondrej Zajicek
deec752ef9
NEWS and version update
2015-04-20 12:27:00 +02:00
Ondrej Zajicek
b867a87c2f
Fixes port range socket option
2015-04-19 00:31:59 +02:00
Ondrej Zajicek
ef3cac669c
OSPF: Fixes handling of external routes with immediate gw
...
The bug caused that received external LSAs with locally reachable
next hops were ignored. I wonder why nobody noticed it sooner.
2015-04-18 13:26:45 +02:00
Ondrej Zajicek
304ac2e861
Minor fixes
2015-04-12 10:47:17 +02:00
Ondrej Zajicek
d924d5a562
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.
2015-04-01 00:10:00 +02:00
Ondrej Zajicek
16a3254c4c
Understand IFF_MULTICAST flag on ifaces in Linux
...
Unfortunately, some interfaces support multicast but do not have
this flag set, so we use it only as a positive hint.
Thanks to Clint Armstrong for noticing the problem.
2015-03-31 23:59:40 +02:00
Ondrej Zajicek
2eadd36fa0
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).
2015-03-29 21:24:47 +02:00
Ondrej Zajicek
9aed29e605
BGP: Enhanced route refresh (RFC 7313) support
...
Also hook feed_done is renamed to feed_end.
2015-03-29 18:29:49 +02:00