Ondrej Zajicek (work)
bff21441dd
Netlink: Change default kernel metric to 32
...
This avoids collisions with non-BIRD routes in kernel tables.
2017-03-29 16:10:00 +02:00
Ondrej Zajicek (work)
c49e4a6565
BGP: Update list of supported standards
2017-03-29 13:48:23 +02:00
Jan Moskyto Matejka
ead7b8f498
Merge branch 'nexthop-merged' into int-new
2017-03-22 14:54:00 +01:00
Jan Moskyto Matejka
61e501da89
Filter: Check whether IP is 4 or 6
2017-03-22 14:53:37 +01:00
Ondrej Zajicek (work)
a5d2a34497
Minor cleanups
...
BTW, 'prefices' is hypercorrection, as 'prefix' is from 'praefixum' with
plural 'praefixa'.
2017-03-14 17:25:42 +01:00
Ondrej Zajicek (work)
33b6c292c3
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.
2017-03-14 12:56:47 +01:00
Jan Moskyto Matejka
8c9986d310
Filters: VPN Route Distinguishers, Prefix Type, Docs Update
2017-03-13 13:51:20 +01:00
Ondrej Zajicek (work)
da3cf9eae3
Update OSPF and RIP protocol names and related documentation
2017-03-08 17:37:11 +01:00
Ondrej Zajicek (work)
1950a479c0
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.
2017-02-23 16:32:07 +01:00
Jan Moskyto Matejka
c609d03986
Merge branch 'int-new' into nexthop-merged
2017-02-22 11:58:04 +01:00
Ondrej Zajicek (work)
62e64905b7
Several minor fixes
2017-02-20 02:26:45 +01:00
Ondrej Zajicek (work)
9be12a7d95
Doc: Fix RIP example
...
Thanks to Steve Leung for the bugreport.
2017-02-19 11:25:16 +01:00
Ondrej Zajicek (work)
82f42ea091
BGP: Minor cleanups
2017-02-07 15:55:51 +01:00
Ondrej Zajicek (work)
5509e17d0c
BGP: Support for AS confederations (RFC 5065)
2017-01-22 16:32:42 +01:00
Jan Moskyto Matejka
f2010f9c65
Static: Protocol rework wrt. struct nexthop changes; MPLS label support
2016-12-22 21:38:33 +01:00
Ondrej Zajicek (work)
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
Jan Moskyto Matejka
ad88b94bca
Merge branch 'int-new-rpki-squashed' (early part) into int-new
2016-12-07 15:30:46 +01:00
Pavel Tvrdík
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
Ondrej Zajicek (work)
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
Ondrej Zajicek (work)
e03dc6a984
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
2016-11-02 17:53:22 +01:00
Pavel Tvrdík
64385aee0c
DOC: Password algorithm option
2016-11-02 16:23:53 +01:00
Pavel Tvrdik
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
Pavel Tvrdik
7935b9d212
Doc: Add tag for links to RFCs
2016-10-11 17:43:03 +02:00
Pavel Tvrdik
f9bd11c337
Doc: Use [table t] or [table name]
2016-10-11 17:43:03 +02:00
Pavel Tvrdik
74d76f6c38
Doc: Fix unnecessary special chars
2016-10-11 17:43:03 +02:00
Pavel Tvrdik
f5952c7343
Doc: Daemon command-line options alphabet order
2016-10-11 17:43:03 +02:00
Pavel Tvrdik
22558357d4
Doc: Add command-line options --version, --help
2016-10-11 17:43:03 +02:00
Pavel Tvrdik
b9864aa871
Doc: Add labels to all chapters and options
2016-10-11 17:43:03 +02:00
Ondrej Zajicek (work)
cec4a73ccb
Doc: Documentation for large communities
2016-10-04 00:31:43 +02:00
Pavel Tvrdik
5bf35a9aee
Docs: fix BFD label
...
BFD headline will appear in Table of Contents again.
2016-09-29 13:38:04 +02:00
Pavel Tvrdik
768d5e1058
Add !~ operator to filter grammar
2016-09-21 13:35:52 +02:00
Ondrej Zajicek (work)
6e75d0d27f
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.
2016-09-19 12:29:56 +02:00
Ondrej Zajicek (work)
4adcb9df1b
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.
2016-09-15 14:59:06 +02:00
Ondrej Zajicek (work)
0a21c21112
Doc: Fix password ID option description
...
Thanks to Alexander Velkov for noticing it
2016-07-19 15:40:57 +02:00
Ondrej Zajicek (work)
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
Ondrej Filip
a0fe1944d1
Add AS# ranges to bgpmask.
2016-06-08 16:22:44 +02:00
Ondrej Filip
90dc0f0843
Small typo in documentation example, submitted by Felix Eckhofer.
2016-06-04 12:38:06 +02:00
Pavel Tvrdik
fff7498d6a
User Doc: Fix several typing error
2016-05-12 13:37:23 +02:00
Ondrej Zajicek (work)
1e3810f9f8
Doc: Minor fix
2016-04-29 13:25:46 +02:00
Ondrej Zajicek (work)
937e75d8f1
Add the Babel routing protocol (RFC 6126)
...
This patch implements the IPv6 subset of the Babel routing protocol.
Based on the patch from Toke Hoiland-Jorgensen, with some heavy
modifications and bugfixes.
Thanks to Toke Hoiland-Jorgensen for the original patch.
2016-04-28 18:01:40 +02:00
Ondrej Zajicek (work)
a7baa09862
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.
2016-04-13 14:37:09 +02:00
Ondrej Zajicek (work)
43fc6bb0fb
Documentation update
2016-04-11 00:41:10 +02:00
Ondrej Zajicek (work)
e90dd656cc
Direct: Implement check link for direct protocol
...
When enabled, direct protocol generates routes only if the underlying
link state is up.
2016-04-08 15:11:21 +02:00
Ondrej Zajicek (work)
f2ae2badff
Main: Add local option
...
Add option that changes default paths for config file and control socket
to the current working directory.
2016-04-07 12:39:49 +02:00
Ondrej Zajicek (work)
0a505706bc
Minor changes in documentation
2016-03-23 02:21:42 +01:00
Pavel Tvrdík
79a4f74a65
BGP: Add documentaion for extended messages
2016-03-17 18:40:54 +01:00
Ondrej Zajicek (work)
9c9cc35c02
Filter: Implement last_nonaggregated operator on bgp_path
2016-02-16 17:33:58 +01: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
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
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
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
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
8bcb5fb1e8
Implement latency tracking, internal event log and watchdog
2015-03-02 09:41: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
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
7730553b7e
Merge remote-tracking branch 'origin/soft-int'
2015-02-21 11:39:45 +01:00
Ondrej Filip
d148d0af36
Mailling list location changed.
2014-10-25 21:08:35 +02:00
Ondrej Zajicek
78342404ff
Merge remote-tracking branch 'origin/master' into soft-int
2014-10-14 17:23:34 +02:00
Ondrej Zajicek
7aa809016e
Implements show route noexport option.
...
Shows routes that would be exported to the protocol but are rejected by
the export filter.
2014-10-02 12:52:50 +02:00
Ondrej Zajicek
dcde7ae597
Allows to configure different remote port for BGP sessions.
...
Thanks to João Taveira Araújo for the original patch.
2014-10-02 12:52:50 +02:00
Ondrej Zajicek
178a197afb
OSPF instance id option and documentation update.
2014-07-21 21:50:56 +02:00
Ondrej Zajicek
751482899c
Implements default router preference (RFC 4191) for RAdv.
...
Thanks to Baptiste Jonglez for the patch.
2014-07-07 22:56:21 +02:00
Ondrej Zajicek
70945cb645
Temporary integrated OSPF commit.
2014-06-26 11:58:57 +02:00
Ondrej Zajicek
9d5960cfa5
Fixes max include depth in documentation.
...
Thanks to Artyom Gavrichenkov for the patch.
2014-06-10 12:16:01 +02:00
Ondrej Zajicek
145368f547
Extends multipath support for OSPF.
...
Fixes cases where the same network or external route are propagated by
several OSPF routes and some other corner cases in next hop construction
and ECMP. Allows to specify whether external routes should be merged.
Thanks to Peter Christensen for the original patch.
2014-04-23 13:54:28 +02:00
Ondrej Zajicek
d96ec7f6e0
Updates BFD documentation.
2014-03-31 18:51:16 +02:00
Ondrej Zajicek
d7c0628591
Check validity of interface definitions.
...
Thanks to Aleksey Berezin for the bugreport.
2014-03-31 01:52:28 +02:00
Ondrej Zajicek
9637c7c0ac
Minor fixes in documentation.
2014-03-24 13:33:15 +01:00
Ondrej Zajicek
dad92c30c7
Reformat bird.sgml to have consistent line length.
2014-03-24 12:56:56 +01:00
Ondrej Zajicek
6eda3f135f
Documentation (and minor fixes) for BGP graceful restart.
2014-03-23 01:35:33 +01:00
Ondrej Zajicek
5c200e0a4d
Merge branch 'add-path'
2014-02-06 20:15:05 +01:00
Ondrej Zajicek
4a5eb284c9
Update include directive documentation.
...
Thanks to Pierluigi Rolando for the bugreport.
2014-02-06 18:09:18 +01:00
Ondrej Zajicek
12201fd854
Fix a documentation update.
2014-02-06 18:00:41 +01:00
Ondrej Zajicek
48e5f32db6
Many changes in I/O and OSPF sockets and packet handling.
...
I/O:
- BSD: specify src addr on IP sockets by IP_HDRINCL
- BSD: specify src addr on UDP sockets by IP_SENDSRCADDR
- Linux: specify src addr on IP/UDP sockets by IP_PKTINFO
- IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO
- Alternative SKF_BIND flag for binding to IP address
- Allows IP/UDP sockets without tx_hook, on these
sockets a packet is discarded when TX queue is full
- Use consistently SOL_ for socket layer values.
OSPF:
- Packet src addr is always explicitly set
- Support for secondary addresses in BSD
- Dynamic RX/TX buffers
- Fixes some minor buffer overruns
- Interface option 'tx length'
- Names for vlink pseudoifaces (vlinkX)
- Vlinks use separate socket for TX
- Vlinks do not use fixed associated iface
- Fixes TTL for direct unicast packets
- Fixes DONTROUTE for OSPF sockets
- Use ifa->ifname instead of ifa->iface->name
2014-02-06 17:46:01 +01:00
Ondrej Filip
ec35c7c2fc
Small doc update.
2014-01-21 23:43:22 +01:00
Ondrej Zajicek
080ed4d8c2
Fixes bug in documentation.
2013-12-01 18:25:39 +01:00
Ondrej Zajicek
10115b1d70
Updates add-path documentation.
2013-12-01 18:20:09 +01:00
Ondrej Zajicek
90eb5e7a8b
Use ISO 8601 timeformats by default.
2013-11-25 13:44:07 +01:00
Ondrej Zajicek
f3e5917850
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.
2013-11-24 12:37:24 +01:00
Ondrej Zajicek
52e030e146
Converts filters to unsigned integers.
2013-11-24 00:17:02 +01:00
Ondrej Filip
d940a2c4d4
Added a few sentences about symbol names.
2013-11-23 13:26:52 +01:00
Ondrej Zajicek
0aeac9cb7f
Merge commit 'origin/bfd'
2013-11-22 02:48:44 +01:00
Ondrej Zajicek
1ec522538f
BFD protocol, ready for release.
...
Supports OSPF and BGP and also statically configured sessions.
2013-11-19 22:33:48 +01:00
Ondrej Zajicek
a15dab76f9
Implements 'allow local as' option.
...
Similar to allowas-in option on other routers.
2013-10-21 14:59:35 +02:00
Ondrej Filip
1cd198cf52
Flag -f "run in foreground" added as requested by a package maintainter.
2013-10-05 22:45:08 +02:00
Ondrej Zajicek
7ccb36d330
Implements C.len operator for clist and eclist types.
...
Thanks to Sergey Popovich for the original patch.
2013-10-02 14:57:29 +02:00
Ondrej Zajicek
a5fc59587f
Rewrites static attribute filter code and adds ifname/ifindex attributes.
...
Thanks to Sergey Popovich for the original ifname/ifindex patch.
2013-09-26 22:08:21 +02:00
Ondrej Zajicek
d27e127aa9
Merge commit 'origin/master'
2013-09-10 12:54:57 +02:00
Ondrej Filip
b0a8c7fc85
Wrong change commited - 'route limit' marked as obsolete.
2013-08-15 20:26:50 +02:00
Ondrej Filip
6d90e57332
Typo in documentation fixed.
2013-08-15 19:54:18 +02:00
Ondrej Zajicek
bff9ce5130
Extends delete/filter operators to work no bgp_paths.
2013-08-15 01:06:47 +02:00
Ondrej Zajicek
00192d5ab8
Implements proper setting of 'gw' route attribute.
...
Thanks to Sergey Popovich for the bugreport.
2013-08-13 20:32:02 +02:00
Ondrej Zajicek
f8e8fcfabe
Test commit.
2013-07-29 13:07:15 +02:00
Ondrej Zajicek
fd6cbe9053
Test commit.
2013-07-29 12:52:38 +02:00
Ondrej Zajicek
cff430f396
Test commit.
...
Also contains minor fixes in doc formatting.
2013-07-29 12:28:03 +02:00
Ondrej Filip
50b71c1b96
Fixed small error in documantation (thanks engels@openit.de).
2013-07-28 18:50:40 +02:00
Ondrej Zajicek
f4830d8cb8
Documentation update.
2013-07-27 00:38:29 +02:00
Ondrej Zajicek
508d936078
Implements eval command and minor CLI cleanups.
...
Implemented eval command can be used to evaluate expressions.
The patch also documents echo command and allows to use log classes
instead of integer as a mask for echo.
2013-07-25 13:15:32 +02:00