mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 08:28:13 +00:00
607ca46e97
Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Michael Kerrisk <mtk.manpages@gmail.com> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: Dave Jones <davej@redhat.com>
63 lines
1.7 KiB
C
63 lines
1.7 KiB
C
/*
|
|
* VLAN An implementation of 802.1Q VLAN tagging.
|
|
*
|
|
* Authors: Ben Greear <greearb@candelatech.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version
|
|
* 2 of the License, or (at your option) any later version.
|
|
*
|
|
*/
|
|
|
|
#ifndef _UAPI_LINUX_IF_VLAN_H_
|
|
#define _UAPI_LINUX_IF_VLAN_H_
|
|
|
|
|
|
/* VLAN IOCTLs are found in sockios.h */
|
|
|
|
/* Passed in vlan_ioctl_args structure to determine behaviour. */
|
|
enum vlan_ioctl_cmds {
|
|
ADD_VLAN_CMD,
|
|
DEL_VLAN_CMD,
|
|
SET_VLAN_INGRESS_PRIORITY_CMD,
|
|
SET_VLAN_EGRESS_PRIORITY_CMD,
|
|
GET_VLAN_INGRESS_PRIORITY_CMD,
|
|
GET_VLAN_EGRESS_PRIORITY_CMD,
|
|
SET_VLAN_NAME_TYPE_CMD,
|
|
SET_VLAN_FLAG_CMD,
|
|
GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
|
|
GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
|
|
};
|
|
|
|
enum vlan_flags {
|
|
VLAN_FLAG_REORDER_HDR = 0x1,
|
|
VLAN_FLAG_GVRP = 0x2,
|
|
VLAN_FLAG_LOOSE_BINDING = 0x4,
|
|
};
|
|
|
|
enum vlan_name_types {
|
|
VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */
|
|
VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */
|
|
VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */
|
|
VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */
|
|
VLAN_NAME_TYPE_HIGHEST
|
|
};
|
|
|
|
struct vlan_ioctl_args {
|
|
int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
|
|
char device1[24];
|
|
|
|
union {
|
|
char device2[24];
|
|
int VID;
|
|
unsigned int skb_priority;
|
|
unsigned int name_type;
|
|
unsigned int bind_type;
|
|
unsigned int flag; /* Matches vlan_dev_priv flags */
|
|
} u;
|
|
|
|
short vlan_qos;
|
|
};
|
|
|
|
#endif /* _UAPI_LINUX_IF_VLAN_H_ */
|