diff options
| author | Markus Stockhausen | 2024-09-09 12:11:13 +0000 |
|---|---|---|
| committer | Sander Vanheule | 2024-09-14 18:02:52 +0000 |
| commit | c5c187432792656dce2885e8b628811d9927fdd0 (patch) | |
| tree | 9620786a781334fa7c22d00434c21e49453312c8 | |
| parent | 0389a24a7395d3b2f14b9b656e355639597c7e39 (diff) | |
| download | openwrt-c5c187432792656dce2885e8b628811d9927fdd0.tar.gz | |
realtek: 6.6: copy patch net-dsa-add-rtl838x-support-for-tag-trailer
Copy the patch file to 6.6. Reorder it in the 7xx range.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
| -rw-r--r-- | target/linux/realtek/patches-6.6/722-net-dsa-add-rtl838x-support-for-tag-trailer.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/target/linux/realtek/patches-6.6/722-net-dsa-add-rtl838x-support-for-tag-trailer.patch b/target/linux/realtek/patches-6.6/722-net-dsa-add-rtl838x-support-for-tag-trailer.patch new file mode 100644 index 0000000000..0cb784fcbf --- /dev/null +++ b/target/linux/realtek/patches-6.6/722-net-dsa-add-rtl838x-support-for-tag-trailer.patch @@ -0,0 +1,61 @@ +From 2b88563ee5aafd9571d965b7f2093a0f58d98a31 Mon Sep 17 00:00:00 2001 +From: John Crispin <john@phrozen.org> +Date: Thu, 26 Nov 2020 12:02:21 +0100 +Subject: net: dsa: Add rtl838x support for tag trailer + +* rename the target to realtek +* add refactored DSA driver +* add latest gpio driver +* lots of arch cleanups +* new irq driver +* additional boards + +Submitted-by: Bert Vermeulen <bert@biot.com> +Submitted-by: Birger Koblitz <mail@birger-koblitz.de> +Submitted-by: Sander Vanheule <sander@svanheule.net> +Submitted-by: Bjørn Mork <bjorn@mork.no> +Submitted-by: John Crispin <john@phrozen.org> +--- + net/dsa/tag_trailer.c | 16 +++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +--- a/net/dsa/tag_trailer.c ++++ b/net/dsa/tag_trailer.c +@@ -17,7 +17,12 @@ static struct sk_buff *trailer_xmit(stru + + trailer = skb_put(skb, 4); + trailer[0] = 0x80; ++ ++#ifdef CONFIG_NET_DSA_RTL83XX ++ trailer[1] = dp->index; ++#else + trailer[1] = 1 << dp->index; ++#endif /* CONFIG_NET_DSA_RTL838X */ + trailer[2] = 0x10; + trailer[3] = 0x00; + +@@ -33,12 +38,23 @@ static struct sk_buff *trailer_rcv(struc + return NULL; + + trailer = skb_tail_pointer(skb) - 4; ++ ++#ifdef CONFIG_NET_DSA_RTL83XX ++ if (trailer[0] != 0x80 || (trailer[1] & 0x80) != 0x00 || ++ (trailer[2] & 0xef) != 0x00 || trailer[3] != 0x00) ++ return NULL; ++ ++ if (trailer[1] & 0x40) ++ skb->offload_fwd_mark = 1; ++ ++ source_port = trailer[1] & 0x3f; ++#else + if (trailer[0] != 0x80 || (trailer[1] & 0xf8) != 0x00 || + (trailer[2] & 0xef) != 0x00 || trailer[3] != 0x00) + return NULL; + + source_port = trailer[1] & 7; +- ++#endif + skb->dev = dsa_master_find_slave(dev, 0, source_port); + if (!skb->dev) + return NULL; |