1. 20 Dec, 2016 1 commit
  2. 08 Nov, 2016 1 commit
  3. 01 Nov, 2016 3 commits
  4. 29 Sep, 2016 2 commits
  5. 22 Sep, 2016 1 commit
  6. 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
  7. 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
  8. 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
  9. 31 Aug, 2016 1 commit
  10. 30 Aug, 2016 1 commit
  11. 16 Aug, 2016 1 commit
  12. 20 Jul, 2016 2 commits
  13. 11 Jul, 2016 1 commit
  14. 27 Jun, 2016 1 commit
  15. 30 May, 2016 1 commit
  16. 12 May, 2016 1 commit
  17. 10 May, 2016 1 commit
  18. 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
  19. 29 Apr, 2016 1 commit
  20. 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
  21. 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
  22. 07 Apr, 2016 1 commit
  23. 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
  24. 30 Mar, 2016 1 commit
  25. 18 Mar, 2016 1 commit
  26. 15 Mar, 2016 1 commit
  27. 11 Mar, 2016 1 commit
  28. 11 Feb, 2016 1 commit
  29. 24 Nov, 2015 1 commit
    • Jan Moskyto Matejka's avatar
      Netlink: attribute validation before parsing · ad276157
      Jan Moskyto Matejka authored
      Wanted netlink attributes are defined in a table, specifying
      their size and neediness. Removing the long conditions that did the
      validation before.
      
      Also parsing IPv4 and IPv6 versions regardless on the IPV6 macro.
      ad276157
  30. 23 Nov, 2015 1 commit
    • Ondřej Zajíček's avatar
      Nest: Fix bug in device proto · 1e4891e4
      Ondřej Zajíček authored
      If an interface address notification is received during device protocol
      shutdown/restart, BIRD crashed.
      
      Thanks to Wei Huang for the bugreport.
      1e4891e4
  31. 11 Nov, 2015 2 commits