Commit graph

334 commits

Author SHA1 Message Date
Ondrej Zajicek (work) e919601aaf Merge master into int-new 2017-04-28 11:19:12 +02:00
Ondrej Zajicek (work) 5ca4bd5d90 Flowspec: Max tcp mask length is 12 bits 2017-04-26 17:13:45 +02:00
Ondrej Zajicek (work) b29499996b Nest: Update of show route cmd
Some code cleanup, multiple bugfixes, allows to specify also channel
for 'show route export'. Interesting how such apparenty simple thing
like show route cmd has plenty of ugly corner cases.
2017-04-25 19:02:31 +02:00
Jan Moskyto Matejka 2faf519cf9 Client: multitable version of show route 2017-04-12 16:04:22 +02:00
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