linux/drivers/net/wan
Xie He 514e1150da net: x25: Queue received packets in the drivers instead of per-CPU queues
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: Xie He <xie.he.0141@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-05 11:42:12 -07:00
..
lmc net: wan/lmc: dont print format string when not available 2021-02-15 13:03:22 -08:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
c101.c WAN: Replace HTTP links with HTTPS ones 2020-07-13 16:58:01 -07:00
cosa.c cosa: Add missing kfree in error path of cosa_write 2020-11-11 17:52:01 -08:00
cosa.h
farsync.c farsync: use DEFINE_SPINLOCK() for spinlock 2021-03-26 15:25:44 -07:00
farsync.h WAN: Replace zero-length array with flexible-array member 2020-02-27 12:06:55 -08:00
fsl_ucc_hdlc.c net: wan: fix error return code of uhdlc_init() 2021-03-08 11:56:40 -08:00
fsl_ucc_hdlc.h net/wan/fsl_ucc_hdlc: avoid use of IS_ERR_VALUE() 2019-12-09 13:57:45 -06:00
hd64570.c
hd64570.h
hd64572.c
hd64572.h
hdlc_cisco.c drivers/net/wan/hdlc: Set skb->protocol before transmitting 2020-09-17 16:41:12 -07:00
hdlc_fr.c net: hdlc_fr: Add support for any Ethertype 2020-11-03 15:19:21 -08:00
hdlc_ppp.c net: hdlc_ppp: Fix issues when mod_timer is called while timer is running 2020-12-28 15:09:04 -08:00
hdlc_raw_eth.c net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup 2020-10-21 17:58:26 -07:00
hdlc_raw.c
hdlc_x25.c net: x25: Queue received packets in the drivers instead of per-CPU queues 2021-04-05 11:42:12 -07:00
hdlc.c net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device 2020-10-21 17:20:19 -07:00
hostess_sv11.c
ixp4xx_hss.c net: wan: Use DEFINE_SPINLOCK() for spinlock 2021-01-05 15:43:41 -08:00
Kconfig wan: ds26522: select CONFIG_BITREVERSE 2021-01-05 15:50:36 -08:00
lapbether.c net: x25: Queue received packets in the drivers instead of per-CPU queues 2021-04-05 11:42:12 -07:00
Makefile net: wan: Delete the DLCI / SDLA drivers 2020-11-17 13:33:29 -08:00
n2.c WAN: Replace HTTP links with HTTPS ones 2020-07-13 16:58:01 -07:00
pc300too.c WAN: Replace HTTP links with HTTPS ones 2020-07-13 16:58:01 -07:00
pci200syn.c net: wan: remove trailing semicolon in macro definition 2020-11-30 18:58:31 -08:00
sbni.c net: wan: Replace simple_strtol by simple_strtoul 2021-01-05 15:43:41 -08:00
sbni.h
sealevel.c
slic_ds26522.c net: wan: slic_ds26522: Remove unused macro DRV_NAME 2020-08-31 12:40:42 -07:00
slic_ds26522.h
wanxl.c wan: wanxl: switch from 'pci_' to 'dma_' API 2020-08-04 16:17:00 -07:00
wanxl.h
wanxlfw.inc_shipped
wanxlfw.S
z85230.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
z85230.h