Skip to content
Snippets Groups Projects
  1. Apr 14, 2023
  2. Apr 12, 2023
  3. Apr 06, 2023
  4. Apr 04, 2023
  5. Feb 14, 2023
    • Toke Høiland-Jørgensen's avatar
      Babel: Keep separate auth PC counters for unicast and multicast · ee919658
      Toke Høiland-Jørgensen authored and Ondřej Zajíček's avatar Ondřej Zajíček committed
      The babel protocol normally sends all its messages as multicast packets,
      but the protocol specification allows most messages to be sent as either
      unicast or multicast, and the two can be mixed freely. In particular, the
      babeld implementation can be configured to unicast updates to all peers
      instead of sending them as unicast.
      
      Daniel discovered that this can cause problems with the packet counter
      checks in the MAC extension due to packet reordering. This happens on WiFi
      networks where clients have power save enabled (which is quite common in
      infrastructure networks): in this case, the access point will buffer all
      multicast traffic and only send it out along with its beacons, leading to a
      maximum buffering in default Linux-based access point configuration of up
      to 200 ms.
      
      This means that a Babel sender that mixes unicast and multicast messages
      can have the unicast messages overtake the multicast messages because of
      this buffering; when authentication is enabled, this causes the receiver to
      discard the multicast message when it does arrive because it now has a
      packet counter value less than the unicast message that arrived before it.
      Daniel observed that this happens frequently enough that Babel ceases to
      work entirely when runner over a WiFi network.
      
      The issue has been described in draft-ietf-babel-mac-relaxed, which is
      currently pending RFC publication. That also describes two mitigation
      mechanisms: Keeping separate PC counters for unicast and multicast, and
      using a reorder window for PC values. This patch implements the former as
      that is the simplest, and resolves the particular issue seen on WiFi.
      
      Thanks to Daniel Gröber for the bugreport.
      
      Minor changes from committer.
      ee919658
    • andi's avatar
      Babel: Implement IPv4 via IPv6 extension (RFC 9229) · eecc3f02
      andi authored and Ondřej Zajíček's avatar Ondřej Zajíček committed
      The patch implements an IPv4 via IPv6 extension (RFC 9229) to the Babel
      routing protocol (RFC 8966) that allows annoncing routes to an IPv4
      prefix with an IPv6 next hop, which makes it possible for IPv4 traffic
      to flow through interfaces that have not been assigned an IPv4 address.
      
      The implementation is compatible with the current Babeld version.
      
      Thanks to Toke Høiland-Jørgensen for early review on this work.
      
      Minor changes from committer.
      eecc3f02
  6. Feb 07, 2023
Loading