xref: /netbsd-src/external/bsd/wpa/dist/src/common/linux_vlan.h (revision 36ebd06e5ab61115eab7acca17a2350fc8222071)
1*36ebd06eSchristos /*
2*36ebd06eSchristos  * Linux VLAN configuration kernel interface
3*36ebd06eSchristos  * Copyright (c) 2016, Jouni Malinen <j@w1.fi>
4*36ebd06eSchristos  *
5*36ebd06eSchristos  * This software may be distributed under the terms of the BSD license.
6*36ebd06eSchristos  * See README for more details.
7*36ebd06eSchristos  */
8*36ebd06eSchristos 
9*36ebd06eSchristos #ifndef LINUX_VLAN_H
10*36ebd06eSchristos #define LINUX_VLAN_H
11*36ebd06eSchristos 
12*36ebd06eSchristos /* This ioctl is defined in linux/sockios.h */
13*36ebd06eSchristos 
14*36ebd06eSchristos #ifndef SIOCSIFVLAN
15*36ebd06eSchristos #define SIOCSIFVLAN 0x8983
16*36ebd06eSchristos #endif /* SIOCSIFVLAN */
17*36ebd06eSchristos 
18*36ebd06eSchristos /* This interface is defined in linux/if_vlan.h */
19*36ebd06eSchristos 
20*36ebd06eSchristos #define ADD_VLAN_CMD 0
21*36ebd06eSchristos #define DEL_VLAN_CMD 1
22*36ebd06eSchristos #define SET_VLAN_INGRESS_PRIORITY_CMD 2
23*36ebd06eSchristos #define SET_VLAN_EGRESS_PRIORITY_CMD 3
24*36ebd06eSchristos #define GET_VLAN_INGRESS_PRIORITY_CMD 4
25*36ebd06eSchristos #define GET_VLAN_EGRESS_PRIORITY_CMD 5
26*36ebd06eSchristos #define SET_VLAN_NAME_TYPE_CMD 6
27*36ebd06eSchristos #define SET_VLAN_FLAG_CMD 7
28*36ebd06eSchristos #define GET_VLAN_REALDEV_NAME_CMD 8
29*36ebd06eSchristos #define GET_VLAN_VID_CMD 9
30*36ebd06eSchristos 
31*36ebd06eSchristos #define VLAN_NAME_TYPE_PLUS_VID 0
32*36ebd06eSchristos #define VLAN_NAME_TYPE_RAW_PLUS_VID 1
33*36ebd06eSchristos #define VLAN_NAME_TYPE_PLUS_VID_NO_PAD 2
34*36ebd06eSchristos #define VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD 3
35*36ebd06eSchristos 
36*36ebd06eSchristos struct vlan_ioctl_args {
37*36ebd06eSchristos 	int cmd;
38*36ebd06eSchristos 	char device1[24];
39*36ebd06eSchristos 
40*36ebd06eSchristos 	union {
41*36ebd06eSchristos 		char device2[24];
42*36ebd06eSchristos 		int VID;
43*36ebd06eSchristos 		unsigned int skb_priority;
44*36ebd06eSchristos 		unsigned int name_type;
45*36ebd06eSchristos 		unsigned int bind_type;
46*36ebd06eSchristos 		unsigned int flag;
47*36ebd06eSchristos 	} u;
48*36ebd06eSchristos 
49*36ebd06eSchristos 	short vlan_qos;
50*36ebd06eSchristos };
51*36ebd06eSchristos 
52*36ebd06eSchristos #endif /* LINUX_VLAN_H */
53