diff options
author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2021-08-10 15:13:56 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-08-11 15:44:58 +0200 |
commit | a72808b65834e99534f6c5c7134c201c72fe92aa (patch) | |
tree | 86986d9a367b3af440a2567c6294769ffd49eeb0 /net/dsa/dsa_priv.h | |
parent | net: dsa: create a helper for locating EtherType DSA headers on RX (diff) | |
download | linux-a72808b65834e99534f6c5c7134c201c72fe92aa.tar.xz linux-a72808b65834e99534f6c5c7134c201c72fe92aa.zip |
net: dsa: create a helper for locating EtherType DSA headers on TX
Create a similar helper for locating the offset to the DSA header
relative to skb->data, and make the existing EtherType header taggers to
use it.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa/dsa_priv.h')
-rw-r--r-- | net/dsa/dsa_priv.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index ee194df68902..9ea637832ea9 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h @@ -521,6 +521,15 @@ static inline void *dsa_etype_header_pos_rx(struct sk_buff *skb) return skb->data - 2; } +/* On TX, skb->data points to skb_mac_header(skb), which means that EtherType + * header taggers start exactly where the EtherType is (the EtherType is + * treated as part of the DSA header). + */ +static inline void *dsa_etype_header_pos_tx(struct sk_buff *skb) +{ + return skb->data + 2 * ETH_ALEN; +} + /* switch.c */ int dsa_switch_register_notifier(struct dsa_switch *ds); void dsa_switch_unregister_notifier(struct dsa_switch *ds); |