1. 01 Nov, 2016 1 commit
  2. 27 Oct, 2016 1 commit
  3. 03 Oct, 2016 1 commit
    • Ondřej Zajíček's avatar
      BGP: Support for large communities · 66dbdbd9
      Ondřej Zajíček authored
      Add support for large communities (draft-ietf-idr-large-community),
      96bit alternative to RFC 1997 communities.
      
      Thanks to Matt Griswold for the original patch.
      66dbdbd9
  4. 15 Sep, 2016 1 commit
    • Pavel Tvrdik's avatar
      BFD: Fix invalid read from pollfd array · 0f5054f6
      Pavel Tvrdik authored
      It is possible that sockets_add() are called between sockets_prepare()
      and sockets_fire() during poll loop in birdloop_main(), so we need to
      use loop->poll_fd.used instead of loop->sock_num to find the last field.
      0f5054f6
  5. 14 Sep, 2016 1 commit
  6. 20 Jul, 2016 1 commit
  7. 19 Jul, 2016 5 commits
  8. 11 Jul, 2016 1 commit
  9. 29 Jun, 2016 1 commit
  10. 12 May, 2016 1 commit
  11. 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
  12. 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
  13. 06 Apr, 2016 2 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
  14. 23 Mar, 2016 3 commits
    • Ondřej Zajíček's avatar
      Birdlib: Do cleanups after remove/free · 665b8e52
      Ondřej Zajíček authored
      To avoid byzantine behavior in case of some errors, linked lists are
      cleared after rem_node() and resource headers are cleared after rfree().
      665b8e52
    • Ondřej Zajíček's avatar
      OSPF: Fix bogus LSA ID collisions between received and originated LSAs · 39a6b19d
      Ondřej Zajíček authored
      After restart, LSAs locally originated by the previous instance are
      received from neighbors. They are installed to LSA db and flushed. If
      export of a route triggers origination of a new external LSA before flush
      of the received one is complete, the check in ospf_originate_lsa() causes
      origination to fail (because en->nf is NULL for the old LSA and non-NULL
      for the new LSA). The patch fixes this by updating the en->nf for LSAs
      being flushed (as is already done for empty ones). Generally, en->nf
      field deserves some better description in the code.
      
      Thanks to Jigar Mehta for analyzing the problem.
      39a6b19d
    • Ondřej Zajíček's avatar
      OSPF: Fix reading from freed memory · a459f4df
      Ondřej Zajíček authored
      Thanks to Pavel Tvrdik for noticing it.
      a459f4df
  15. 17 Mar, 2016 1 commit
  16. 15 Mar, 2016 1 commit
  17. 25 Feb, 2016 1 commit
  18. 11 Feb, 2016 1 commit
    • Ondřej Zajíček's avatar
      BGP: Fix bug in incoming connection handling · 487c6961
      Ondřej Zajíček authored
      When a BGP session was established by an outgoing connection with
      Graceful Restart behavior negotiated, a pending incoming connection in
      OpenSent state, and another incoming connection was received, then the
      outgoing connection (and whole BGP session) was closed, but the old
      incoming connection was just overwritten by the new one. That later
      caused a crash when the hold timer from the old connection fired.
      487c6961
  19. 25 Nov, 2015 1 commit
  20. 24 Nov, 2015 1 commit
  21. 05 Oct, 2015 1 commit
    • Ondřej Zajíček's avatar
      Major RIP redesign · 8465dccb
      Ondřej Zajíček authored
      The new RIP implementation fixes plenty of old bugs and also adds support
      for many new features: ECMP support, link state support, BFD support,
      configurable split horizon and more. Most options are now per-interface.
      8465dccb
  22. 19 Aug, 2015 1 commit
  23. 24 Jul, 2015 1 commit
  24. 20 Jul, 2015 1 commit
  25. 19 Jul, 2015 1 commit
  26. 18 Jul, 2015 1 commit
  27. 08 Jun, 2015 4 commits
  28. 01 Jun, 2015 1 commit
  29. 01 May, 2015 1 commit
    • Ondřej Zajíček's avatar
      OSPF: Redesign LSA checksumming · 77edab64
      Ondřej Zajíček authored
      New LSA checksumming code separates generic Fletcher-16 and OSPF-specific
      code and avoids back and forth endianity conversions, making it much more
      readable and also several times faster.
      77edab64
  30. 28 Apr, 2015 1 commit
    • Ondřej Zajíček's avatar
      OSPF: Fixes validation of LSA checksums · 30d09eb9
      Ondřej Zajíček authored
      Prior to this patch, BIRD validates the OSPF LSA checksum by calculating
      a new checksum and comparing it with the checksum in the header. Due to
      the specifics of the Fletcher checksum used in OSPF, this is not
      necessarily correct as the checkbytes in the header may be calculated via
      a different means and end up with a different value that is nonetheless
      still correct.
      
      The documented means of validating the checksum as specified in RFC 905
      B.4 is to calculate c0 and c1 from the unchanged contents of the packet,
      which must result in a zero value to be considered valid.
      
      Thanks to Chris Boot for the patch.
      30d09eb9