1. 24 May, 2018 1 commit
    • Ondřej Zajíček's avatar
      Do not initialize route metrics in import_control hook · feae132e
      Ondřej Zajíček authored
      During route export, the receiving protocol often initialized route
      metrics to default value in its import_control hook before export filter
      was executed. This is inconsistent with the expectation that an export
      filter would process the same route as one in the routing table and it
      breaks setting these metrics before (e.g. for static routes directly in
      static protocol).
      
      The patch removes the initialization of route metrics in import_control
      hook, the default values are already handled in rt_notify hook called
      after export filters.
      
      The patch also changed the behavior of OSPF to keep metrics when a route
      is reannounced between OSPF instances (to be consistent with other
      protocols) and the behavior when both ospf_metric1 and ospf_metric2
      are specified (to have more expected behavior).
      feae132e
  2. 07 Dec, 2017 1 commit
  3. 10 Oct, 2017 1 commit
  4. 22 Dec, 2016 1 commit
    • 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
  5. 01 Nov, 2016 1 commit
  6. 07 Apr, 2016 1 commit
  7. 23 Mar, 2016 1 commit
    • 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
  8. 29 Dec, 2015 1 commit
  9. 12 Nov, 2015 1 commit
  10. 05 Nov, 2015 1 commit
    • Ondřej Zajíček's avatar
      Initial commit on integrated BIRD · fe9f1a6d
      Ondřej Zajíček authored
      New data types net_addr and variants (in lib/net.h) describing
      network addresses (prefix/pxlen). Modifications of FIB structures
      to handle these data types and changing everything to use these
      data types instead of prefix/pxlen pairs where possible.
      
      The commit is WiP, some protocols are not yet updated (BGP, Kernel),
      and the code contains some temporary scaffolding.
      
      Comments are welcome.
      fe9f1a6d
  11. 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
  12. 03 Nov, 2014 2 commits
  13. 24 Oct, 2014 2 commits
  14. 19 Jul, 2014 1 commit
  15. 18 Jul, 2014 1 commit
  16. 26 Jun, 2014 1 commit
  17. 06 Feb, 2014 1 commit
    • Ondřej Zajíček's avatar
      Many changes in I/O and OSPF sockets and packet handling. · 48e5f32d
      Ondřej Zajíček authored
      I/O:
       - BSD: specify src addr on IP sockets by IP_HDRINCL
       - BSD: specify src addr on UDP sockets by IP_SENDSRCADDR
       - Linux: specify src addr on IP/UDP sockets by IP_PKTINFO
       - IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO
       - Alternative SKF_BIND flag for binding to IP address
       - Allows IP/UDP sockets without tx_hook, on these
         sockets a packet is discarded when TX queue is full
       - Use consistently SOL_ for socket layer values.
      
      OSPF:
       - Packet src addr is always explicitly set
       - Support for secondary addresses in BSD
       - Dynamic RX/TX buffers
       - Fixes some minor buffer overruns
       - Interface option 'tx length'
       - Names for vlink pseudoifaces (vlinkX)
       - Vlinks use separate socket for TX
       - Vlinks do not use fixed associated iface
       - Fixes TTL for direct unicast packets
       - Fixes DONTROUTE for OSPF sockets
       - Use ifa->ifname instead of ifa->iface->name
      48e5f32d
  18. 16 Sep, 2013 1 commit
  19. 11 Jun, 2013 1 commit
  20. 15 Nov, 2012 1 commit
  21. 10 Nov, 2012 1 commit
  22. 31 Oct, 2012 1 commit
  23. 29 Oct, 2012 1 commit
  24. 26 Jul, 2012 1 commit
  25. 27 Apr, 2012 1 commit
  26. 27 Oct, 2011 1 commit
  27. 01 Oct, 2011 1 commit
  28. 03 Sep, 2011 1 commit
  29. 08 Aug, 2011 1 commit
  30. 22 Jul, 2011 1 commit
  31. 20 Jul, 2011 1 commit
  32. 28 Mar, 2011 1 commit
    • Ondřej Zajíček's avatar
      Minor changes in addresses. · 52a43ae3
      Ondřej Zajíček authored
      Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not
      show broadcast addr in show interfaces. Nobody cares for that.
      52a43ae3
  33. 17 Mar, 2011 1 commit
  34. 28 Dec, 2010 1 commit
  35. 24 Dec, 2010 1 commit
  36. 23 Dec, 2010 1 commit
  37. 07 Dec, 2010 1 commit
  38. 13 Nov, 2010 1 commit