1. 07 Dec, 2016 1 commit
    • Pavel Tvrdík's avatar
      RPKI protocol with one cache server per protocol · 65d2a88d
      Pavel Tvrdík authored
      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";
          };
        }
        ...
      65d2a88d
  2. 12 May, 2016 1 commit
  3. 10 May, 2016 1 commit
  4. 28 Apr, 2016 1 commit
    • Ondřej Zajíček's avatar
      Add the Babel routing protocol (RFC 6126) · 937e75d8
      Ondřej Zajíček authored
      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.
      937e75d8
  5. 08 Apr, 2016 1 commit
  6. 06 Apr, 2016 1 commit
    • Ondřej Zajíček's avatar
      KRT: Fix route learn scan when route changed · e86cfd41
      Ondřej Zajíček authored
      When a kernel route changed, function krt_learn_scan() noticed that and
      replaced the route in internal kernel FIB, but after that, function
      krt_learn_prune() failed to propagate the new route to the nest, because
      it confused the new route with the (removed) old best route and decided
      that the best route did not changed.
      
      Wow, the original code (and the bug) is almost 17 years old.
      e86cfd41
  7. 10 Feb, 2016 1 commit
  8. 01 Feb, 2016 1 commit
  9. 20 Jan, 2016 3 commits
  10. 29 Dec, 2015 1 commit
  11. 24 Dec, 2015 1 commit
  12. 21 Dec, 2015 1 commit
  13. 20 Dec, 2015 2 commits
  14. 19 Dec, 2015 1 commit
  15. 05 Nov, 2015 1 commit
    • Ondřej Zajíček's avatar
      Initial commit on integrated BIRD · fe9f1a6d
      Ondřej Zajíček authored
      New data types net_addr and variants (in lib/net.h) describing
      network addresses (prefix/pxlen). Modifications of FIB structures
      to handle these data types and changing everything to use these
      data types instead of prefix/pxlen pairs where possible.
      
      The commit is WiP, some protocols are not yet updated (BGP, Kernel),
      and the code contains some temporary scaffolding.
      
      Comments are welcome.
      fe9f1a6d
  16. 17 Oct, 2015 1 commit
  17. 05 Oct, 2015 1 commit
    • Ondřej Zajíček's avatar
      Major RIP redesign · 8465dccb
      Ondřej Zajíček authored
      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.
      8465dccb
  18. 08 Jun, 2015 4 commits
  19. 12 May, 2015 1 commit
    • Ondřej Zajíček's avatar
      KRT: Add support for plenty of kernel route metrics · 9fdf9d29
      Ondřej Zajíček authored
      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
      9fdf9d29
  20. 10 May, 2015 1 commit
  21. 02 Oct, 2014 1 commit
  22. 20 Mar, 2014 1 commit
    • Ondřej Zajíček's avatar
      BGP graceful restart support. · 0c791f87
      Ondřej Zajíček authored
      Also significant core protocol state changes needed for that,
      global graceful restart recovery state and kernel proto support
      for recovery.
      0c791f87
  23. 02 Oct, 2013 1 commit
  24. 24 Jul, 2013 1 commit
    • Ondřej Zajíček's avatar
      Fixes bug in protocol flushing and rtable pruning. · 9135c1f0
      Ondřej Zajíček authored
      When route was propagated to another rtable through a pipe and then the
      pipe was reconfigured softly in such a way that any subsequent route
      updates are filtered, then the source protocol shutdown didn't clean up
      the route in the second rtable which caused stale routes and potential
      crashes.
      9135c1f0
  25. 08 Feb, 2013 1 commit
  26. 15 Nov, 2012 1 commit
  27. 10 Nov, 2012 1 commit
    • Ondřej Zajíček's avatar
      Allows rejected routes to be kept and examined. · cf98be7b
      Ondřej Zajíček authored
      When 'import keep rejected' protocol option is activated, routes
      rejected by the import filter are kept in the routing table, but they
      are hidden and not propagated to other protocols. It is possible to
      examine them using 'show route rejected'.
      cf98be7b
  28. 14 Aug, 2012 1 commit
    • Ondřej Zajíček's avatar
      Implements ADD-PATH extension for BGP. · 094d2bdb
      Ondřej Zajíček authored
      Allows to send and receive multiple routes for one network by one BGP
      session. Also contains necessary core changes to support this (routing
      tables accepting several routes for one network from one protocol).
      It needs some more cleanup before merging to the master branch.
      094d2bdb
  29. 16 Jul, 2012 1 commit
  30. 15 Apr, 2012 1 commit
  31. 28 Mar, 2012 1 commit
  32. 18 Mar, 2012 1 commit
    • Ondřej Zajíček's avatar
      Route Origin Authorization basics. · af582c48
      Ondřej Zajíček authored
       - ROA tables, which are used as a basic part for RPKI.
       - Commands for examining and modifying ROA tables.
       - Filter operators based on ROA tables consistent with RFC 6483.
      af582c48
  33. 15 Mar, 2012 1 commit
    • Ondřej Zajíček's avatar
      Better support for multitable protocols. · c0adf7e9
      Ondřej Zajíček authored
      The nest-protocol interaction is changed to better handle multitable
      protocols. Multitable protocols now declare that by 'multitable' field,
      which tells nest that a protocol handles things related to proto-rtable
      interaction (table locking, announce hook adding, reconfiguration of
      filters) itself.
      
      Filters and stats are moved to announce hooks, a protocol could have
      different filters and stats to different tables.
      
      The patch is based on one from Alexander V. Chernikov, thanks.
      c0adf7e9
  34. 22 Dec, 2011 1 commit