blob: 8a1dd6e466406c699f7663af6ff5515d636ac75a [file] [log] [blame]
Dmitry Shmidte4663042016-04-04 10:07:49 -07001/*
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
36struct 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 */