enum netdev_priv_flags — struct net_device priv_flags
enum netdev_priv_flags { IFF_802_1Q_VLAN, IFF_EBRIDGE, IFF_BONDING, IFF_ISATAP, IFF_WAN_HDLC, IFF_XMIT_DST_RELEASE, IFF_DONT_BRIDGE, IFF_DISABLE_NETPOLL, IFF_MACVLAN_PORT, IFF_BRIDGE_PORT, IFF_OVS_DATAPATH, IFF_TX_SKB_SHARING, IFF_UNICAST_FLT, IFF_TEAM_PORT, IFF_SUPP_NOFCS, IFF_LIVE_ADDR_CHANGE, IFF_MACVLAN, IFF_XMIT_DST_RELEASE_PERM, IFF_IPVLAN_MASTER, IFF_IPVLAN_SLAVE, IFF_L3MDEV_MASTER, IFF_NO_QUEUE, IFF_OPENVSWITCH, IFF_L3MDEV_SLAVE };
802.1Q VLAN device
Ethernet bridging device
bonding master or slave
ISATAP interface (RFC4214)
WAN HDLC device
dev_hard_start_xmit
is allowed to
release skb->dst
disallow bridging this ether dev
disable netpoll at run-time
device used as macvlan port
device used as bridge port
device used as Open vSwitch datapath port
The interface supports sharing skbs on transmit
Supports unicast filtering
device used as team port
device supports sending custom FCS
device supports hardware address change when it's running
Macvlan device
-- undescribed --
-- undescribed --
-- undescribed --
device is an L3 master device
device can run without qdisc attached
device is a Open vSwitch master
device is enslaved to an L3 master device
These are the struct net_device, they are only set internally by drivers and used in the kernel. These flags are invisible to userspace, this means that the order of these flags can change during any kernel release.
You should have a pretty good reason to be extending these flags.