1. 31 Jul, 2018 1 commit
  2. 06 Jul, 2018 1 commit
    • Ondřej Zajíček's avatar
      Nest: Fix race condition during reconfiguration, part 2 · 092c4930
      Ondřej Zajíček authored
      If export filter is changed during reconfiguration and a route disappears
      between reconfiguration and refeed (e.g., if the route is a static route
      also removed during the reconfiguration), the route is not withdrawn.
      
      The issue was fixed for regular channels by an earlier patch. This patch
      fixes the issue for channels in RA_ACCEPTED mode (first-pass-the-filter),
      used by BGP with 'secondary' option.
      092c4930
  3. 03 Jul, 2018 1 commit
    • Ondřej Zajíček's avatar
      Nest: Fix race condition during reconfiguration · a81e18da
      Ondřej Zajíček authored
      If export filter is changed during reconfiguration and a route disappears
      between reconfiguration and refeed (e.g., if the route is a static route
      also removed during the reconfiguration), the route is not withdrawn.
      The patch fixes that by adding tx reconfiguration timestamp.
      a81e18da
  4. 27 Jun, 2018 1 commit
  5. 30 May, 2018 1 commit
    • Jan Maria Matejka's avatar
      Nest: Removing separate tmpa from route propagation · 13c0be19
      Jan Maria Matejka authored
      This is a fundamental change of an original (1999) concept of route
      processing inside BIRD. During import/export, there was a temporary
      ea_list created which was to be used instead of the another one inside
      the route itself.
      
      This led to some confusion, quirks, and strange filter code that handled
      extended route attributes. Dropping it now.
      
      The protocol interface has changed in an uniform way -- the
      `struct ea_list *attrs` argument has been removed from store_tmp_attrs(),
      import_control(), rt_notify() and get_route_info().
      13c0be19
  6. 18 Mar, 2018 1 commit
  7. 13 Feb, 2018 1 commit
    • Ondřej Zajíček's avatar
      Add support for source-specific IPv6 routes to BIRD core · be17805c
      Ondřej Zajíček authored
      This patch adds support for source-specific IPv6 routes to BIRD core.
      This is based on Dean Luga's original patch, with the review comments
      addressed. SADR support is added to network address parsing in confbase.Y
      and to the kernel protocol on Linux.
      
      Currently there is no way to mix source-specific and non-source-specific
      routes (i.e., SADR tables cannot be connected to non-SADR tables).
      
      Thanks to Toke Hoiland-Jorgensen for the original patch.
      Minor changes by Ondrej Santiago Zajicek.
      be17805c
  8. 07 Feb, 2018 1 commit
  9. 06 Feb, 2018 1 commit
    • Ondřej Zajíček's avatar
      KRT: Fix IPv6 route learn · 28b3b551
      Ondřej Zajíček authored
      Internal table used for route learn was created with non-matching net
      type for IPv6 kernel proto.
      
      Thanks to Toke Hoiland-Jorgensen for the bugreport
      28b3b551
  10. 29 Jan, 2018 1 commit
  11. 16 Jan, 2018 1 commit
    • Ondřej Zajíček's avatar
      Filter: Allow silent filter execution · b9405791
      Ondřej Zajíček authored
      A filter should log messages only if executed explicitly (e.g., during
      route export or route import). When a filter is executed for technical
      reasons (e.g., to establish whether a route was exported before), it
      should run silently.
      b9405791
  12. 10 Dec, 2017 1 commit
  13. 07 Dec, 2017 1 commit
  14. 12 Sep, 2017 1 commit
  15. 04 Jul, 2017 1 commit
    • Ondřej Zajíček's avatar
      Implement onlink flag for nexthops · a1f5e514
      Ondřej Zajíček authored
      Add proper support for per-nexthop onlink flag in routes to handle next
      hop addresses that are not covered by interface IP ranges. Supported by
      kernel and static protocols.
      
      Thanks to Vincent Bernat for the idea.
      a1f5e514
  16. 16 May, 2017 1 commit
  17. 15 May, 2017 1 commit
  18. 25 Apr, 2017 1 commit
    • Ondřej Zajíček's avatar
      Nest: Update of show route cmd · b2949999
      Ondřej Zajíček authored
      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.
      b2949999
  19. 18 Apr, 2017 1 commit
  20. 12 Apr, 2017 2 commits
  21. 22 Mar, 2017 1 commit
    • Ondřej Zajíček's avatar
      BGP: Support for MPLS labels and VPN SAFI · 1e37e35c
      Ondřej Zajíček authored
      Basic support for SAFI 4 and 128 (MPLS labeled IP and VPN) for IPv4 and
      IPv6. Should work for route reflector, but does not properly handle
      originating routes with next hop self.
      
      Based on patches from Jan Matejka.
      1e37e35c
  22. 17 Mar, 2017 1 commit
  23. 09 Mar, 2017 1 commit
  24. 24 Feb, 2017 1 commit
  25. 22 Feb, 2017 1 commit
  26. 20 Feb, 2017 1 commit
  27. 22 Dec, 2016 5 commits
  28. 07 Dec, 2016 4 commits
    • Ondřej Zajíček's avatar
      Basic flow specification support (RFC 5575) · 77234bbb
      Ondřej Zajíček authored
      Add flow4/flow6 network and rt-table type and operations, config grammar
      and static protocol support.
      
      Squashed flowspec branch from Pavel Tvrdik.
      77234bbb
    • Ondřej Zajíček's avatar
      BGP redesign · d15b0b0a
      Ondřej Zajíček authored
      Integrated and extensible BGP with generalized AFI handling,
      support for IPv4+IPv6 AFI and unicast+multicast SAFI.
      d15b0b0a
    • Pavel Tvrdik's avatar
      Check table type at `show route for ...' · f6e8e141
      Pavel Tvrdik authored
      f6e8e141
    • 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
  29. 01 Nov, 2016 1 commit
  30. 12 Oct, 2016 1 commit
  31. 15 Sep, 2016 1 commit
    • Pavel Tvrdik's avatar
      rt-table: Fix kernel protocol export filter memory bug · a290da25
      Pavel Tvrdik authored
      Kernel protocol calls rt_export_merged(), which used @rte_update_pool for
      temporary allocations, supposing it is called from other functions from
      rt-table.c that handles locking and flushing of the linpool. Therefore,
      linpool was not flushed properly and memory leaked.
      
      Add linpool argument to rt_export_merged() and use @krt_filter_lp when
      called from kernel protocol.
      
      Thanks to Justin Cattle and Alexander Frolkin for the bugreport.
      
      (Commit squashed and updated by Ondrej Zajicek)
      a290da25
  32. 14 Sep, 2016 1 commit