brintos

brintos / linux-shallow public Read only

0
0
Text · 1.8 KiB · 90a2c89 Raw
67 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */2/*3 * VLAN		An implementation of 802.1Q VLAN tagging.4 *5 * Authors:	Ben Greear <greearb@candelatech.com>6 *7 *		This program is free software; you can redistribute it and/or8 *		modify it under the terms of the GNU General Public License9 *		as published by the Free Software Foundation; either version10 *		2 of the License, or (at your option) any later version.11 *12 */13 14#ifndef _UAPI_LINUX_IF_VLAN_H_15#define _UAPI_LINUX_IF_VLAN_H_16 17 18/* VLAN IOCTLs are found in sockios.h */19 20/* Passed in vlan_ioctl_args structure to determine behaviour. */21enum vlan_ioctl_cmds {22	ADD_VLAN_CMD,23	DEL_VLAN_CMD,24	SET_VLAN_INGRESS_PRIORITY_CMD,25	SET_VLAN_EGRESS_PRIORITY_CMD,26	GET_VLAN_INGRESS_PRIORITY_CMD,27	GET_VLAN_EGRESS_PRIORITY_CMD,28	SET_VLAN_NAME_TYPE_CMD,29	SET_VLAN_FLAG_CMD,30	GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */31	GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */32};33 34enum vlan_flags {35	VLAN_FLAG_REORDER_HDR		= 0x1,36	VLAN_FLAG_GVRP			= 0x2,37	VLAN_FLAG_LOOSE_BINDING		= 0x4,38	VLAN_FLAG_MVRP			= 0x8,39	VLAN_FLAG_BRIDGE_BINDING	= 0x10,40};41 42enum vlan_name_types {43	VLAN_NAME_TYPE_PLUS_VID, /* Name will look like:  vlan0005 */44	VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like:  eth1.0005 */45	VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like:  vlan5 */46	VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like:  eth0.5 */47	VLAN_NAME_TYPE_HIGHEST48};49 50struct vlan_ioctl_args {51	int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */52	char device1[24];53 54        union {55		char device2[24];56		int VID;57		unsigned int skb_priority;58		unsigned int name_type;59		unsigned int bind_type;60		unsigned int flag; /* Matches vlan_dev_priv flags */61        } u;62 63	short vlan_qos;   64};65 66#endif /* _UAPI_LINUX_IF_VLAN_H_ */67