Thread (3 messages) flat view 3 messages, 2 authors, 2021-03-09

Re: [PATCH net-next RFC] net: x25: Queue received packets in the drivers instead of per-CPU queues

From: Martin Schiller <ms@dev.tdt.de>
Date: 2021-03-09 13:24:44
Also in: linux-doc, lkml

On 2021-03-05 06:43, Xie He wrote:
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.
I've tested the hdlc_x25 driver.
Looks good to me.

Acked-by: Martin Schiller <ms@dev.tdt.de>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help