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