1. 28 Jul, 2018 1 commit
    • Ondřej Zajíček's avatar
      BSD: Use MSG_DONTROUTE for unicast packets on FreeBSD · 318acb0f
      Ondřej Zajíček authored
      BSD systems cannot use SO_DONTROUTE, because it does not work properly
      with multicast packets (perhaps it tries to find iface based on multicast
      group address). But we can use MSG_DONTROUTE sendmsg() flag for unicast
      packets. Works on FreeBSD, is ignored on OpenBSD and is broken on NetBSD
      (i guess due to integrated routing table and ARP table).
      318acb0f
  2. 27 Jun, 2018 1 commit
  3. 26 Jun, 2018 1 commit
  4. 30 May, 2018 1 commit
    • Jan Maria Matejka's avatar
      Nest: Removing separate tmpa from route propagation · 13c0be19
      Jan Maria Matejka authored
      This is a fundamental change of an original (1999) concept of route
      processing inside BIRD. During import/export, there was a temporary
      ea_list created which was to be used instead of the another one inside
      the route itself.
      
      This led to some confusion, quirks, and strange filter code that handled
      extended route attributes. Dropping it now.
      
      The protocol interface has changed in an uniform way -- the
      `struct ea_list *attrs` argument has been removed from store_tmp_attrs(),
      import_control(), rt_notify() and get_route_info().
      13c0be19
  5. 14 Jan, 2018 1 commit
    • Ondřej Zajíček's avatar
      KRT: Fix direct routes for BSD · 4d367961
      Ondřej Zajíček authored
      Old way to set direct routes is to use local IP as gateway, but that does
      not work properly on newer FreeBSDs. Now we use sockaddr_dl containing
      interface index as gateway.
      4d367961
  6. 12 Dec, 2017 1 commit
  7. 08 Dec, 2017 1 commit
  8. 07 Dec, 2017 3 commits
  9. 04 Sep, 2017 1 commit
    • Ondřej Zajíček's avatar
      BSD: Fix alignment issue · 9befc7cc
      Ondřej Zajíček authored
      Incorrect structure alignment breaks kernel routing table updates on
      FreeBSD/ARM (and perhaps other platforms).
      
      Thanks to Eugene Sevastyanov for the original patch.
      9befc7cc
  10. 29 Apr, 2017 2 commits
  11. 20 Feb, 2017 1 commit
  12. 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
  13. 22 Dec, 2016 2 commits
    • Jan Moskyto Matejka's avatar
      5b208e29
    • Jan Moskyto Matejka's avatar
      Merged multipath and single-path data structures. · 4e276a89
      Jan Moskyto Matejka authored
      Dropped struct mpnh and mpnh_*()
      Now struct nexthop exists, nexthop_*(), and also included struct nexthop
      into struct rta.
      
      Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is needed
      to distinguish between these two cases, RTD_DEVICE is equivalent to
      IPA_ZERO(a->nh.gw), RTD_ROUTER is then IPA_NONZERO(a->nh.gw).
      
      From now on, we also explicitely want C99 compatible compiler. We assume
      that this 20-year norm should be known almost everywhere.
      4e276a89
  14. 09 Nov, 2016 1 commit
    • Ondřej Zajíček's avatar
      Unit Testing for BIRD · 9b0a0ba9
      Ondřej Zajíček authored
       - Unit Testing Framework (BirdTest)
       - Integration of BirdTest into the BIRD build system
       - Tests for several BIRD modules
      
       Based on squashed Pavel Tvrdik's int-test branch, updated for
       current int-new branch.
      9b0a0ba9
  15. 01 Nov, 2016 2 commits
  16. 29 Sep, 2016 1 commit
  17. 24 May, 2016 1 commit
  18. 17 May, 2016 1 commit
  19. 10 May, 2016 1 commit
  20. 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
  21. 06 Apr, 2016 1 commit
    • 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
  22. 01 Feb, 2016 1 commit
  23. 21 Jan, 2016 2 commits
  24. 20 Jan, 2016 1 commit
  25. 21 Dec, 2015 1 commit
  26. 19 Dec, 2015 1 commit
  27. 18 Dec, 2015 1 commit
  28. 11 Nov, 2015 1 commit
  29. 08 Jun, 2015 2 commits
  30. 12 May, 2015 1 commit
    • Ondřej Zajíček's avatar
      KRT: Add support for plenty of kernel route metrics · 9fdf9d29
      Ondřej Zajíček authored
      Linux kernel route metrics (RTA_METRICS netlink route attribute) are
      represented and accessible as new route attributes:
      
      krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss,
      krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd,
      krt_quickack, krt_lock_mtu, krt_lock_window, krt_lock_rtt, krt_lock_rttvar,
      krt_lock_sstresh, krt_lock_cwnd, krt_lock_advmss, krt_lock_reordering,
      krt_lock_hoplimit, krt_lock_rto_min, krt_feature_ecn, krt_feature_allfrag
      9fdf9d29
  31. 22 Apr, 2015 1 commit
  32. 12 Apr, 2015 1 commit
  33. 24 Oct, 2014 1 commit