aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/netdevice.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 5e84483c0650..1a869488b8ae 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1147,6 +1147,89 @@ struct net_device_ops {
1147 void *priv); 1147 void *priv);
1148}; 1148};
1149 1149
1150/**
1151 * enum net_device_priv_flags - &struct net_device priv_flags
1152 *
1153 * These are the &struct net_device, they are only set internally
1154 * by drivers and used in the kernel. These flags are invisible to
1155 * userspace, this means that the order of these flags can change
1156 * during any kernel release.
1157 *
1158 * You should have a pretty good reason to be extending these flags.
1159 *
1160 * @IFF_802_1Q_VLAN: 802.1Q VLAN device
1161 * @IFF_EBRIDGE: Ethernet bridging device
1162 * @IFF_SLAVE_INACTIVE: bonding slave not the curr. active
1163 * @IFF_MASTER_8023AD: bonding master, 802.3ad
1164 * @IFF_MASTER_ALB: bonding master, balance-alb
1165 * @IFF_BONDING: bonding master or slave
1166 * @IFF_SLAVE_NEEDARP: need ARPs for validation
1167 * @IFF_ISATAP: ISATAP interface (RFC4214)
1168 * @IFF_MASTER_ARPMON: bonding master, ARP mon in use
1169 * @IFF_WAN_HDLC: WAN HDLC device
1170 * @IFF_XMIT_DST_RELEASE: dev_hard_start_xmit() is allowed to
1171 * release skb->dst
1172 * @IFF_DONT_BRIDGE: disallow bridging this ether dev
1173 * @IFF_DISABLE_NETPOLL: disable netpoll at run-time
1174 * @IFF_MACVLAN_PORT: device used as macvlan port
1175 * @IFF_BRIDGE_PORT: device used as bridge port
1176 * @IFF_OVS_DATAPATH: device used as Open vSwitch datapath port
1177 * @IFF_TX_SKB_SHARING: The interface supports sharing skbs on transmit
1178 * @IFF_UNICAST_FLT: Supports unicast filtering
1179 * @IFF_TEAM_PORT: device used as team port
1180 * @IFF_SUPP_NOFCS: device supports sending custom FCS
1181 * @IFF_LIVE_ADDR_CHANGE: device supports hardware address
1182 * change when it's running
1183 * @IFF_MACVLAN: Macvlan device
1184 */
1185enum netdev_priv_flags {
1186 IFF_802_1Q_VLAN = 1<<0,
1187 IFF_EBRIDGE = 1<<1,
1188 IFF_SLAVE_INACTIVE = 1<<2,
1189 IFF_MASTER_8023AD = 1<<3,
1190 IFF_MASTER_ALB = 1<<4,
1191 IFF_BONDING = 1<<5,
1192 IFF_SLAVE_NEEDARP = 1<<6,
1193 IFF_ISATAP = 1<<7,
1194 IFF_MASTER_ARPMON = 1<<8,
1195 IFF_WAN_HDLC = 1<<9,
1196 IFF_XMIT_DST_RELEASE = 1<<10,
1197 IFF_DONT_BRIDGE = 1<<11,
1198 IFF_DISABLE_NETPOLL = 1<<12,
1199 IFF_MACVLAN_PORT = 1<<13,
1200 IFF_BRIDGE_PORT = 1<<14,
1201 IFF_OVS_DATAPATH = 1<<15,
1202 IFF_TX_SKB_SHARING = 1<<16,
1203 IFF_UNICAST_FLT = 1<<17,
1204 IFF_TEAM_PORT = 1<<18,
1205 IFF_SUPP_NOFCS = 1<<19,
1206 IFF_LIVE_ADDR_CHANGE = 1<<20,
1207 IFF_MACVLAN = 1<<21,
1208};
1209
1210#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
1211#define IFF_EBRIDGE IFF_EBRIDGE
1212#define IFF_SLAVE_INACTIVE IFF_SLAVE_INACTIVE
1213#define IFF_MASTER_8023AD IFF_MASTER_8023AD
1214#define IFF_MASTER_ALB IFF_MASTER_ALB
1215#define IFF_BONDING IFF_BONDING
1216#define IFF_SLAVE_NEEDARP IFF_SLAVE_NEEDARP
1217#define IFF_ISATAP IFF_ISATAP
1218#define IFF_MASTER_ARPMON IFF_MASTER_ARPMON
1219#define IFF_WAN_HDLC IFF_WAN_HDLC
1220#define IFF_XMIT_DST_RELEASE IFF_XMIT_DST_RELEASE
1221#define IFF_DONT_BRIDGE IFF_DONT_BRIDGE
1222#define IFF_DISABLE_NETPOLL IFF_DISABLE_NETPOLL
1223#define IFF_MACVLAN_PORT IFF_MACVLAN_PORT
1224#define IFF_BRIDGE_PORT IFF_BRIDGE_PORT
1225#define IFF_OVS_DATAPATH IFF_OVS_DATAPATH
1226#define IFF_TX_SKB_SHARING IFF_TX_SKB_SHARING
1227#define IFF_UNICAST_FLT IFF_UNICAST_FLT
1228#define IFF_TEAM_PORT IFF_TEAM_PORT
1229#define IFF_SUPP_NOFCS IFF_SUPP_NOFCS
1230#define IFF_LIVE_ADDR_CHANGE IFF_LIVE_ADDR_CHANGE
1231#define IFF_MACVLAN IFF_MACVLAN
1232
1150/* 1233/*
1151 * The DEVICE structure. 1234 * The DEVICE structure.
1152 * Actually, this whole structure is a big mistake. It mixes I/O 1235 * Actually, this whole structure is a big mistake. It mixes I/O