diff options
author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2022-02-25 12:22:17 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-02-27 14:06:13 +0300 |
commit | d7f9787a763f35225287aedb9364c972ae128d18 (patch) | |
tree | 6d211d30a67aaff7b6b7c0d622d9147ff1e85e51 /include/linux/dsa | |
parent | 91495f21fcec3a889d6a9c21e6df16c4c15f2184 (diff) | |
download | linux-d7f9787a763f35225287aedb9364c972ae128d18.tar.xz |
net: dsa: tag_8021q: add support for imprecise RX based on the VBID
The sja1105 switch can't populate the PORT field of the tag_8021q header
when sending a frame to the CPU with a non-zero VBID.
Similar to dsa_find_designated_bridge_port_by_vid() which performs
imprecise RX for VLAN-aware bridges, let's introduce a helper in
tag_8021q for performing imprecise RX based on the VLAN that it has
allocated for a VLAN-unaware bridge.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/dsa')
-rw-r--r-- | include/linux/dsa/8021q.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/dsa/8021q.h b/include/linux/dsa/8021q.h index f47f227baa27..92f5243b841e 100644 --- a/include/linux/dsa/8021q.h +++ b/include/linux/dsa/8021q.h @@ -41,7 +41,11 @@ void dsa_tag_8021q_bridge_leave(struct dsa_switch *ds, int port, struct sk_buff *dsa_8021q_xmit(struct sk_buff *skb, struct net_device *netdev, u16 tpid, u16 tci); -void dsa_8021q_rcv(struct sk_buff *skb, int *source_port, int *switch_id); +void dsa_8021q_rcv(struct sk_buff *skb, int *source_port, int *switch_id, + int *vbid); + +struct net_device *dsa_tag_8021q_find_port_by_vbid(struct net_device *master, + int vbid); u16 dsa_8021q_bridge_tx_fwd_offload_vid(unsigned int bridge_num); |