1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #ifndef __DSA_TAG_8021Q_H
4 #define __DSA_TAG_8021Q_H
5 
6 #include <net/dsa.h>
7 
8 #include "switch.h"
9 
10 struct sk_buff;
11 struct net_device;
12 
13 struct sk_buff *dsa_8021q_xmit(struct sk_buff *skb, struct net_device *netdev,
14 			       u16 tpid, u16 tci);
15 
16 void dsa_8021q_rcv(struct sk_buff *skb, int *source_port, int *switch_id,
17 		   int *vbid, int *vid);
18 
19 struct net_device *dsa_tag_8021q_find_user(struct net_device *conduit,
20 					   int source_port, int switch_id,
21 					   int vid, int vbid);
22 
23 int dsa_switch_tag_8021q_vlan_add(struct dsa_switch *ds,
24 				  struct dsa_notifier_tag_8021q_vlan_info *info);
25 int dsa_switch_tag_8021q_vlan_del(struct dsa_switch *ds,
26 				  struct dsa_notifier_tag_8021q_vlan_info *info);
27 
28 #endif
29