Pavel Tvrdík
96871cd77a
Merge branch 'master' into HEAD
2015-12-17 16:58:45 +01:00
Pavel Tvrdík
4ae31b1961
RPKI: Asynchronous stopping of RTR Manager
2015-12-17 16:57:05 +01:00
Pavel Tvrdík
28af3c34a4
RPKI: hand over a roa update using slab memory
2015-12-17 16:57:05 +01:00
Pavel Tvrdík
d00f9cf766
RPKI: Improve log messages
2015-12-17 16:56:59 +01:00
Pavel Tvrdík
33b4f40acc
MD5: Mormalize naming style
2015-11-24 16:01:48 +01:00
Pavel Tvrdík
5c884334c5
RPKI: Better status handling
2015-11-02 12:26:44 +01:00
Pavel Tvrdík
e189e2f55d
RPKI: improved rpki_get_status()
2015-10-27 17:42:13 +01:00
Pavel Tvrdík
50791a41bf
RPKI: refactore status update hook line
2015-10-27 08:56:33 +01:00
Pavel Tvrdík
be9c51655d
RPKI: refactore thread's communication usign pipes
2015-10-26 15:29:15 +01:00
Pavel Tvrdík
919ae5e4a7
RPKI: Improve handling protocol status
2015-10-22 16:56:34 +02:00
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
Ondrej Zajicek (work)
8eb8e546dc
Merge branch 'master' into rip-new
2015-10-17 14:44:34 +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
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
Ondrej Zajicek (work)
8465dccb06
Major RIP redesign
...
The new RIP implementation fixes plenty of old bugs and also adds support
for many new features: ECMP support, link state support, BFD support,
configurable split horizon and more. Most options are now per-interface.
2015-10-05 13:18:10 +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
98bf329be6
RPKI: add new protocol skeleton
2015-09-17 18:37:11 +02:00
Ondrej Zajicek
b5e76398de
OSPF: Fixes some issues with link detection
...
Thanks to Bernardo Figueiredo and Israel G. Lugo for the bugreport.
2015-08-19 11:16:23 +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
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
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
d217ba5111
Moving of mulipath merging code from OSPF to nest
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
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
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
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
Ondrej Zajicek
509aab5deb
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.
2015-03-02 10:58:20 +01:00
Ondrej Zajicek
9c89560e6c
Use IP_PORTRANGE_HIGH for BFD where available
2015-02-22 20:14:14 +01:00
Ondrej Zajicek
6cf72d7ad7
Rename BGP option 'start delay' to 'connect delay'
...
Also update log message for error-triggered startup delay.
2015-02-22 17:21:54 +01:00
Ondrej Zajicek
a1beb8f3ee
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.
2015-02-22 13:50:58 +01:00
Ondrej Zajicek
2bbc308321
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.
2015-02-21 21:08:23 +01:00
Ondrej Zajicek
374917adcc
Make BGP protocol instance search a separate function
...
Thanks to Alexander V. Chernikov for the patch.
2015-02-21 20:55:43 +01:00
Pavel Tvrdik
4a591d4b94
Replacing GNU old-style field designator extension
2015-02-21 19:31:36 +01:00
Ondrej Zajicek
8ce9a87755
Fixes minor bug in BFD.
...
Thanks to Pavel Tvrdik for noticing it.
2015-02-21 14:52:17 +01:00
Ondrej Zajicek
dfc7a6c6a0
Fixes potential alignment bug in BGP.
...
Thanks to Andrew (seti.kr.ua) for the bug report.
2015-02-21 12:24:30 +01:00
Ondrej Zajicek
523f020b5f
Link state support in BGP.
...
Configurable fast shutdown of a BGP session when an interface loses link.
2015-02-21 12:15:56 +01:00
Ondrej Zajicek
ac9dc669d8
Bugfix in latest OSPF changes.
2014-11-03 20:35:25 +01:00
Ondrej Zajicek
cd3b700393
Bugfix to OSPF reconfiguration.
2014-11-03 14:53:59 +01:00
Ondrej Zajicek
6f8bbaa10b
Fininshing integrated OSPF.
2014-11-03 10:42:55 +01:00