mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
45f5115253
Removed upstreamed: backport-5.15/743-v6.3-0005-net-dsa-b53-mmap-add-phy-ops.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.109&id=357fa038d93d0e9159a0f0d45bae0f8654e2ade5 Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From da75807ac41175e9db8c95f7a172b4133763b744 Mon Sep 17 00:00:00 2001
|
|
From: Gabor Juhos <j4g8y7@gmail.com>
|
|
Date: Mon, 11 Jan 2021 17:49:36 +0100
|
|
Subject: [PATCH] skbuff: add DSA specific data to struct skb_shared_info
|
|
|
|
All of the already existing DSA tagging protocol drivers
|
|
are storing the tagging data directly into the skb. In most
|
|
cases that is the only way to send the required information
|
|
to the underlying ethernet switch.
|
|
|
|
However on certain platforms (like the Qualcomm IPQ40xx
|
|
SoCs) the built-in ethernet switch is connected directly
|
|
to an ethernet MAC, and the tagging information must be
|
|
sent out-of-band which is done directly via the hardware
|
|
TX descriptors of the ethernet MAC.
|
|
|
|
In such cases, putting the information into the skb causes
|
|
unneccesary overhead, because the ethernet driver must
|
|
remove that before sending the ethernet frame towards to
|
|
the hardware.
|
|
|
|
This change adds two new DSA specific fields to struct
|
|
skb_shared_info which makes it possible to send the
|
|
tagging information via skb->shinfo. With this approach,
|
|
the twofold modifications of the skb data can be avoided.
|
|
|
|
Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
|
|
---
|
|
include/linux/skbuff.h | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
--- a/include/linux/skbuff.h
|
|
+++ b/include/linux/skbuff.h
|
|
@@ -564,6 +564,9 @@ struct skb_shared_info {
|
|
unsigned int gso_type;
|
|
u32 tskey;
|
|
|
|
+ unsigned int dsa_tag_proto;
|
|
+ unsigned char dsa_tag_data[8];
|
|
+
|
|
/*
|
|
* Warning : all fields before dataref are cleared in __alloc_skb()
|
|
*/
|