Skip to content
  1. Apr 06, 2021
    • Xie He's avatar
      net: x25: Queue received packets in the drivers instead of per-CPU queues · 514e1150
      Xie He authored
      
      
      X.25 Layer 3 (the Packet Layer) expects layer 2 to provide a reliable
      datalink service such that no packets are reordered or dropped. And
      X.25 Layer 2 (the LAPB layer) is indeed designed to provide such service.
      
      However, this reliability is not preserved when a driver calls "netif_rx"
      to deliver the received packets to layer 3, because "netif_rx" will put
      the packets into per-CPU queues before they are delivered to layer 3.
      If there are multiple CPUs, the order of the packets may not be preserved.
      The per-CPU queues may also drop packets if there are too many.
      
      Therefore, we should not call "netif_rx" to let it queue the packets.
      Instead, we should use our own queue that won't reorder or drop packets.
      
      This patch changes all X.25 drivers to use their own queues instead of
      calling "netif_rx". The patch also documents this requirement in the
      "x25-iface" documentation.
      
      Cc: Martin Schiller <ms@dev.tdt.de>
      Signed-off-by: default avatarXie He <xie.he.0141@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      514e1150
  2. Apr 04, 2021
  3. Apr 03, 2021