openwrt/target
Antonio Pastor da7ab64f1f kernel: generic: patch: 802.2+LLC - set transport_header offset
Conversion to DSA broke 802.2+LLC+SNAP packet processing. Frames
received by napi_complete_done with GRO and DSA have transport_header
set two bytes short, or pointing 2 bytes before network_header &
skb->data. As snap_rcv expects transport_header to point to SNAP
header (OID:PID) after LLC processing advances offset over LLC header
(llc_rcv & llc_fixup_skb), code doesn't find a match and packet is
dropped.

Image built at this commit operates properly:
  86dadeba48 - generic: add patch for GPON-ONU-34-20BI quirk
Image built at following commit exhibits the issue:
  337e36e0ef - ipq806x: convert each device to DSA implementation

As issue is LLC specific, to avoid impacting non-LLC traffic, and to
follow up on original assumption made on kernel commit fda55eca5a33
("net: introduce skb_transport_header_was_set()") stating "network
stacks usually reset the transport header anyway", llc_fixup_skb to
reset and advance the offset. llc_fixup_skb already assumes the LLC
header is at skb->data, and by definition SNAP header immediately
follows.

Signed-off-by: Antonio Pastor <antonio.pastor@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17220
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-12-28 10:55:59 +01:00
..
imagebuilder imagebuilder: fix OPKG package_whatdepends support 2024-11-20 09:49:21 +01:00
linux kernel: generic: patch: 802.2+LLC - set transport_header offset 2024-12-28 10:55:59 +01:00
llvm-bpf build: use zstd for IB, toolchain, SDK and LLVM compression 2024-04-13 08:05:04 +02:00
sdk sdk: bundle libraries for llvm toolchain 2024-10-19 20:43:54 +02:00
toolchain build: use zstd for IB, toolchain, SDK and LLVM compression 2024-04-13 08:05:04 +02:00
Config.in loongarch64: new target 2024-05-04 14:14:16 +08:00
Makefile