Skip to content
Snippets Groups Projects
  1. Mar 30, 2021
  2. Mar 17, 2021
  3. Mar 16, 2021
  4. Mar 12, 2021
    • Ondřej Zajíček's avatar
      Rate-limit scheduling of work-events · 7be3af7f
      Ondřej Zajíček authored
      In general, events are code handling some some condition, which is
      scheduled when such condition happened and executed independently from
      I/O loop. Work-events are a subgroup of events that are scheduled
      repeatedly until some (often significant) work is done (e.g. feeding
      routes to protocol). All scheduled events are executed during each
      I/O loop iteration.
      
      Separate work-events from regular events to a separate queue and
      rate limit their execution to a fixed number per I/O loop iteration.
      That should prevent excess latency when many work-events are
      scheduled at one time (e.g. simultaneous reload of many BGP sessions).
      7be3af7f
  5. Mar 09, 2021
  6. Feb 12, 2021
  7. Feb 10, 2021
  8. Feb 07, 2021
  9. Jan 06, 2021
  10. Dec 07, 2020
    • 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
  11. Nov 24, 2020
  12. Jun 28, 2020
    • 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
  13. Apr 09, 2020
  14. Dec 10, 2019
    • Ondřej Zajíček's avatar
      Nest: Fix bitmap cleanup · 4ab54f1a
      Ondřej Zajíček authored
      Channel currently does not have independent pool and uses protocol pool,
      which is freed when protocol changes state to down, while channel is
      still in flushing. Move some some cleanup code to channel_do_flush()
      so it is done before freeing of protocol pool.
      4ab54f1a
  15. Nov 26, 2019
    • Ondřej Zajíček's avatar
      Nest: Use bitmaps to keep track of exported routes · 5ea39eaa
      Ondřej Zajíček authored
      Use a hierarchical bitmap in a routing table to assign ids to routes, and
      then use bitmaps (indexed by route id) in channels to keep track whether
      routes were exported. This avoids unreliable and inefficient re-evaluation
      of filters for old routes in order to determine whether they were exported.
      5ea39eaa
  16. Aug 14, 2019
  17. Aug 06, 2019
    • Ondřej Zajíček's avatar
      BGP: Improve reconfiguration · e2b530aa
      Ondřej Zajíček authored
      Several BGP channel options (including 'next hop self') could be
      reconfigured without session reset, with just route refeed/refresh.
      The patch improves reconfiguration code to do it that way.
      e2b530aa
  18. Jul 24, 2019
  19. Jun 30, 2019
    • Ondřej Zajíček's avatar
      Nest: Add command to request graceful restart · 8a68316e
      Ondřej Zajíček authored
      When 'graceful down' command is entered, protocols are shut down
      with regard to graceful restart. Namely Kernel protocol does
      not remove routes and BGP protocol does not send notification,
      just closes the connection.
      8a68316e
  20. Apr 30, 2019
    • Ondřej Zajíček's avatar
      BGP: Dynamic BGP · e0835db4
      Ondřej Zajíček authored
      Support for dynamically spawning BGP protocols for incoming connections.
      Use 'neighbor range' to specify range of valid neighbor addresses, then
      incoming connections from these addresses spawn new BGP instances.
      e0835db4
  21. Feb 20, 2019
  22. Feb 05, 2019
  23. Feb 02, 2019
  24. Dec 18, 2018
  25. Dec 16, 2018
  26. Dec 12, 2018
    • Ondřej Zajíček's avatar
      BGP: implement Adj-RIB-In · 682d3f7d
      Ondřej Zajíček authored
      The patch implements optional internal import table to a channel and
      hooks it to BGP so it can be used as Adj-RIB-In. When enabled, all
      received (pre-filtered) routes are stored there and import filters can
      be re-evaluated without explicit route refresh. An import table can be
      examined using e.g. 'show route import table bgp1.ipv4'.
      682d3f7d
  27. Dec 11, 2018
    • Ondřej Zajíček's avatar
      Nest: Forbid adding channels during reconfiguration · d506263d
      Ondřej Zajíček authored
      When a new channel is found during reconfiguration, do force restart
      of the protocol, like with any other un-reconfigurable change.
      
      The old behavior was that the new channel was added but remained in down
      state, even if the protocol was up, so a manual protocol restart was
      often necessary.
      
      In the future this should be improved such that a reconfigurable
      channel addition (e.g. direct) is accepted and channel is started,
      while an un-reconfigurable addition forces protocol restart.
      d506263d
  28. Nov 20, 2018
    • Ondřej Zajíček's avatar
      The MRT protocol · 863ecfc7
      Ondřej Zajíček authored
      The new MRT protocol is responsible for periodic RIB table dumps in the
      MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is
      refactored and splitted between BGP to MRT protocols, will be more
      integrated into MRT in the future.
      
      Example:
      
      protocol mrt {
              table "*";
              filename "%N_%F_%T.mrt";
              period 60;
      }
      
      It is partially based on the old MRT code from Pavel Tvrdik.
      863ecfc7
  29. Oct 01, 2018
  30. Jul 03, 2018
    • 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
  31. May 29, 2018
  32. Jan 10, 2018
  33. Jan 09, 2018
  34. Dec 08, 2017
  35. Dec 07, 2017
Loading