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, IFF_TEAM, IFF_RXFH_CONFIGURED, IFF_PHONY_HEADROOM, IFF_MACSEC };
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
IFF_XMIT_DST_RELEASE not taking into account underlying stacked devices
IPvlan master device
IPvlan slave device
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
device is a team device
device has had Rx Flow indirection table configured
the headroom value is controlled by an external entity (i.e. the master device for bridged veth)
device is a MACsec 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.