1. 16 May, 2017 1 commit
    • Ondřej Zajíček's avatar
      Some more autoconf cleanups · c253ec3a
      Ondřej Zajíček authored
      Replace integer type width detection with C99 fixed-width types.
      Also remove some unused or obsolete code.
      
      Thanks to Ruben Kerkhof for the patchset.
      c253ec3a
  2. 14 Mar, 2017 1 commit
    • Ondřej Zajíček's avatar
      Some autoconf cleanups · 7a855725
      Ondřej Zajíček authored
      The patch allows to use autoreconf, replaces some long obsolete
      constructs and does some other minor cleanups. Also, the file
      configure.in is renamed to configure.ac, as the old name has been
      deprecated for a long time.
      
      Thanks to Ruben Kerkhof for the patchset.
      7a855725
  3. 17 Jan, 2017 1 commit
    • Ondřej Zajíček's avatar
      Fix IP_HDRINCL usage on FreeBSD 11 · f6e6c3b5
      Ondřej Zajíček authored
      FreeBSD 11 changed endianity of ip_len field from host order to network
      order. Also DragonFly BSD allegedly expects network order here.
      
      Thanks to Olivier Cochard-Labbé for the patch.
      f6e6c3b5
  4. 21 Dec, 2016 1 commit
  5. 20 Dec, 2016 1 commit
  6. 08 Nov, 2016 1 commit
  7. 01 Nov, 2016 3 commits
  8. 29 Sep, 2016 2 commits
  9. 22 Sep, 2016 1 commit
  10. 19 Sep, 2016 1 commit
    • Ondřej Zajíček's avatar
      KRT: Add krt_scope attribute · 6e75d0d2
      Ondřej Zajíček authored
      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.
      6e75d0d2
  11. 15 Sep, 2016 3 commits
    • Pavel Tvrdik's avatar
      Main: Improve BIRD help messages · 292f7858
      Pavel Tvrdik authored
      292f7858
    • 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
    • Ondřej Zajíček's avatar
      KRT: Add kernel metric protocol option · 4adcb9df
      Ondřej Zajíček authored
      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.
      4adcb9df
  12. 14 Sep, 2016 1 commit
    • Ondřej Zajíček's avatar
      KRT: Support for IPv6 ECMP · 2feaa693
      Ondřej Zajíček authored
      Linux represents IPv6 ECMP routes as a sequence of unipath routes with
      the same prefix. We have to translate between our representation (one
      route with multipath next hop) and the Linux representation in both
      directions.
      
      Proper learning of alien IPv6 ECMP routes still not supported.
      
      Thanks to Mikhail Sennikovskii for the original patch.
      2feaa693
  13. 31 Aug, 2016 1 commit
  14. 30 Aug, 2016 1 commit
  15. 16 Aug, 2016 1 commit
  16. 20 Jul, 2016 2 commits
  17. 11 Jul, 2016 1 commit
  18. 27 Jun, 2016 1 commit
  19. 30 May, 2016 1 commit
  20. 12 May, 2016 1 commit
  21. 10 May, 2016 1 commit
  22. 03 May, 2016 1 commit
    • Pavel Tvrdik's avatar
      Initialize variable ifr in sk_setup() · f7a99acb
      Pavel Tvrdik authored
      ==00:00:00:02.831 2468== Syscall param socketcall.setsockopt(optval) points to uninitialised byte(s)
      ==00:00:00:02.831 2468==    at 0x513BDEA: setsockopt (in /usr/lib/libc-2.23.so)
      ==00:00:00:02.831 2468==    by 0x45C7AF: sk_setup (io.c:1216)
      ==00:00:00:02.831 2468==    by 0x45CDFF: sk_open (io.c:1417)
      ==00:00:00:02.831 2468==    by 0x44B562: rip_open_socket (packets.c:740)
      ==00:00:00:02.831 2468==    by 0x4481A7: rip_iface_locked (rip.c:616)
      ==00:00:00:02.831 2468==    by 0x4133E4: olock_run_event (locks.c:177)
      ==00:00:00:02.831 2468==    by 0x45A6DE: ev_run (event.c:85)
      ==00:00:00:02.831 2468==    by 0x45A7AD: ev_run_list (event.c:142)
      ==00:00:00:02.831 2468==    by 0x45E0FC: io_loop (io.c:2066)
      ==00:00:00:02.831 2468==    by 0x463B56: main (main.c:845)
      ==00:00:00:02.831 2468==  Address 0xffefffd24 is on thread 1's stack
      ==00:00:00:02.831 2468==  in frame #1, created by sk_setup (io.c:1188)
      ==00:00:00:02.831 2468==  Uninitialised value was created by a stack allocation
      ==00:00:00:02.831 2468==    at 0x45C6BB: sk_setup (io.c:1188)
      f7a99acb
  23. 29 Apr, 2016 1 commit
  24. 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
  25. 13 Apr, 2016 1 commit
    • Ondřej Zajíček's avatar
      BSD: Add the IPsec SA/SP database entries control · a7baa098
      Ondřej Zajíček authored
      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.
      a7baa098
  26. 07 Apr, 2016 1 commit
  27. 06 Apr, 2016 3 commits
    • Ondřej Zajíček's avatar
      IO: Avoid multiple event cycles in one loop cycle. · bd22d7f4
      Ondřej Zajíček authored
      Event cycle may took too much time and trigger next timer events, so
      avoid cycling between timer and event cycles inside the loop cycle.
      bd22d7f4
    • Ondřej Zajíček's avatar
      IO: Replace RX priority heuristic with explicit mark · 9e7b3ebd
      Ondřej Zajíček authored
      In BIRD, RX has lower priority than TX with the exception of RX from
      control socket. The patch replaces heuristic based on socket type with
      explicit mark and uses it for both control socket and BGP session waiting
      to be established.
      
      This should avoid an issue when during heavy load, outgoing connection
      could connect (TX event), send open, but then failed to receive OPEN /
      establish in time, not sending notifications between and therefore
      got hold timer expired error from the neighbor immediately after it
      finally established the connection.
      9e7b3ebd
    • 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
  28. 30 Mar, 2016 1 commit
  29. 18 Mar, 2016 1 commit
  30. 15 Mar, 2016 1 commit
  31. 11 Mar, 2016 1 commit
  32. 11 Feb, 2016 1 commit