1. 22 Jan, 2021 1 commit
    • Ondřej Zajíček's avatar
      MRT: Fix MP-BGP next hops · 5d414309
      Ondřej Zajíček authored
      Flag signalling that MP-BGP mode should be used got reset after first
      batch of routes, so remaining routes were processed without that, leading
      to missing MP_REACH_NLRI attribute.
      
      Thanks to Piotr Wydrych for the bugreport.
      5d414309
  2. 14 Jan, 2021 1 commit
    • Ondřej Zajíček's avatar
      Netlink: Ignore dead routes · df83f626
      Ondřej Zajíček authored
      With net.ipv4.conf.XXX.ignore_routes_with_linkdown sysctl, a user can
      ensure the kernel does not use a route whose target interface is down.
      Such route is marked with a 'dead' / RTNH_F_DEAD flag.
      
      Ignore these routes or multipath nexthops during scan.
      
      Thanks to Vincent Bernat for the original patch.
      df83f626
  3. 12 Jan, 2021 2 commits
  4. 10 Jan, 2021 1 commit
    • Ondřej Zajíček's avatar
      BFD: Dispatch sessions also by interface index · 910adaa0
      Ondřej Zajíček authored
      Direct BFD sessions needs to be dispatched not only by IP addresses, but
      also by interfaces, in order to avoid collisions between neighbors with
      the same IPv6 link-local addresses.
      
      Extend BFD session hash_ip key by interface index to handle that. Use 0
      for multihop sessions.
      
      Thanks to Sebastian Hahn for the original patch.
      910adaa0
  5. 07 Jan, 2021 3 commits
  6. 06 Jan, 2021 3 commits
  7. 29 Dec, 2020 1 commit
  8. 28 Dec, 2020 2 commits
  9. 07 Dec, 2020 1 commit
    • Ondřej Zajíček's avatar
      Nest: Per-channel debug flags · 61dae32b
      Ondřej Zajíček authored
      The patch add support for per-channel debug flags, currently just
      'states', 'routes', and 'filters'. Flag 'states' is used for channel
      state changes, remaining two for routes passed through the channel.
      The per-protocol debug flags 'routes'/'filters' still enable reporting
      of routes for all channels, to keep existing behavior.
      
      The patch causes minor changes in some log messages.
      61dae32b
  10. 02 Dec, 2020 1 commit
    • Ondřej Zajíček's avatar
      Filter: Add 'weight' route attribute · 8cc5bb09
      Ondřej Zajíček authored
      Add 'weight' route attribute that allows to get and set ECMP weight of
      nexthops. Similar to 'gw' attribute, it is limited to the first nexthop,
      but it is useful for handling BGP multipath, where an ECMP route is
      merged from multiple regular routes.
      8cc5bb09
  11. 25 Nov, 2020 3 commits
  12. 24 Nov, 2020 4 commits
    • Ondřej Zajíček's avatar
      Minor cleanups with cfg_allocz() · 30b84682
      Ondřej Zajíček authored
      Also fixes some more failed asserts due to add_tail().
      30b84682
    • Ondřej Zajíček's avatar
      Fix some failed asserts due to add_tail() · 1678bc07
      Ondřej Zajíček authored
      When config structures are copied due to template application,
      we need to reset list node structure before calling add_tail().
      
      Thanks to Mikael Magnusson for patches.
      1678bc07
    • Ondřej Zajíček's avatar
      Some minor sl_allocz() cleanups · c9ae8165
      Ondřej Zajíček authored
      c9ae8165
    • Toke Høiland-Jørgensen's avatar
      lib/slab: introduce sl_allocz() function and use it in Babel · db2d2907
      Toke Høiland-Jørgensen authored
      The babel protocol code was initialising objects returned from the slab
      allocator by assigning to each of the struct members individually, but
      wasn't touching the NODE member while doing so. This leads to warnings on
      debug builds since commit:
      
      baac7009 ("List expensive check.")
      
      To fix this, introduce an sl_allocz() variant of the slab allocator which
      will zero out the memory before returning it, and switch all the babel call
      sites to use this version. The overhead for doing this should be negligible
      for small objects, and in the case of babel, the largest object being
      allocated was being zeroed anyway, so we can drop the memset in
      babel_read_tlv().
      db2d2907
  13. 19 Nov, 2020 1 commit
    • Ondřej Zajíček's avatar
      Static: Support for multiple routes with the same network · 3347aaaf
      Ondřej Zajíček authored
      Add support for proper handling of multiple routes with the same network
      to the static protocol. Routes are distinguished by internal index, which
      is assigned automatically (sequentially for routes within each network).
      Having different route preference or igp_metric attribute is optional.
      3347aaaf
  14. 18 Nov, 2020 2 commits
  15. 15 Nov, 2020 2 commits
  16. 12 Nov, 2020 3 commits
  17. 08 Nov, 2020 1 commit
    • Ondřej Zajíček's avatar
      BFD: Allow per-request session options · 9d3fc306
      Ondřej Zajíček authored
      BFD session options are configured per interface in BFD protocol. This
      patch allows to specify them also per-request in protocols requesting
      sessions (currently limited to BGP).
      9d3fc306
  18. 11 Oct, 2020 1 commit
    • Ondřej Zajíček's avatar
      RPKI: Add 'ignore max length' option · fc1e3211
      Ondřej Zajíček authored
      Add 'ignore max length' option to RPKI protocol, which ignores received
      max length in ROA records and instead uses max value (32 or 128). This
      may be useful for implementing loose RPKI check for blackholes.
      fc1e3211
  19. 05 Oct, 2020 2 commits
  20. 31 Aug, 2020 1 commit
  21. 12 Aug, 2020 1 commit
    • Ondřej Zajíček's avatar
      OSPF: Skip out-of-state packets earlier · dc8d9dec
      Ondřej Zajíček authored
      Sometimes multicast OSPF packet is received when neighbor adjacency is
      not established. Such packet should be ignored earlier in packet
      processing as otherwise it causes strange error messages when OSPFv3
      authentication is enabled.
      dc8d9dec
  22. 16 Jul, 2020 1 commit
  23. 28 Jun, 2020 2 commits
    • Ondřej Zajíček's avatar
      Show info from multiple protocols when protocol is not specified · c26c6bc2
      Ondřej Zajíček authored
      Most commands like 'show ospf neighbors' fail when protocol is not
      specified and there are multiple instances of given protocol type.
      This is annoying in BIRD 2, as many protocols have IPv4 and IPv6
      instances. The patch changes that by showing output from all protocol
      instances of appropriate type.
      
      Note that the patch also removes terminating cli_msg() call from these
      commands and moves it to the common iterating code.
      c26c6bc2
    • Kazuki Yamaguchi's avatar
      Filter: Improve handling of sets in BGP path masks · a948cf9a
      Kazuki Yamaguchi authored
      Compare the content of PM_ASN_SET in path masks. A reconfiguration
      was not properly triggering a reload of affected protocols when the
      members of a set in a path mask change.
      
      Also, update the printing code to so that it can display sets in a path
      mask.
      a948cf9a