[openwrt/openwrt] realtek: correct l2 offloading tag handling

LEDE Commits lede-commits at lists.infradead.org
Tue Jan 26 09:07:16 EST 2021


ynezz pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/56ac4fced086c74c73cc05a6af750ee236910811

commit 56ac4fced086c74c73cc05a6af750ee236910811
Author: Birger Koblitz <git at birger-koblitz.de>
AuthorDate: Thu Jan 21 14:32:44 2021 +0100

    realtek: correct l2 offloading tag handling
    
    Makes sure the DSA trailer information on any L2 offloading done
    by the switch is honoured by the bridge layer
    
    Signed-off-by: Birger Koblitz <git at birger-koblitz.de>
---
 .../701-net-dsa-add-rtl838x-support-for-tag-trailer.patch     | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/target/linux/realtek/patches-5.4/701-net-dsa-add-rtl838x-support-for-tag-trailer.patch b/target/linux/realtek/patches-5.4/701-net-dsa-add-rtl838x-support-for-tag-trailer.patch
index c8a09c50d3..7bfbd0a5f6 100644
--- a/target/linux/realtek/patches-5.4/701-net-dsa-add-rtl838x-support-for-tag-trailer.patch
+++ b/target/linux/realtek/patches-5.4/701-net-dsa-add-rtl838x-support-for-tag-trailer.patch
@@ -9,21 +9,24 @@
 +	trailer[1] = dp->index;
 +#else
  	trailer[1] = 1 << dp->index;
-+#endif /* CONFIG_NET_DSA_RTL83XX */
++#endif /* CONFIG_NET_DSA_RTL838X */
  	trailer[2] = 0x10;
  	trailer[3] = 0x00;
  
-@@ -61,12 +66,20 @@ static struct sk_buff *trailer_rcv(struc
+@@ -61,12 +69,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] & 0xe0) != 0x00 ||
++	if (trailer[0] != 0x80 || (trailer[1] & 0x80) != 0x00 ||
 +	    (trailer[2] & 0xef) != 0x00 || trailer[3] != 0x00)
 +		return NULL;
 +
-+	source_port = trailer[1] & 0x1f;
++	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)



More information about the lede-commits mailing list