Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _UAPI_LINUX_IF_LINK_H
     20 #define _UAPI_LINUX_IF_LINK_H
     21 #include <linux/types.h>
     22 #include <linux/netlink.h>
     23 struct rtnl_link_stats {
     24   __u32 rx_packets;
     25   __u32 tx_packets;
     26   __u32 rx_bytes;
     27   __u32 tx_bytes;
     28   __u32 rx_errors;
     29   __u32 tx_errors;
     30   __u32 rx_dropped;
     31   __u32 tx_dropped;
     32   __u32 multicast;
     33   __u32 collisions;
     34   __u32 rx_length_errors;
     35   __u32 rx_over_errors;
     36   __u32 rx_crc_errors;
     37   __u32 rx_frame_errors;
     38   __u32 rx_fifo_errors;
     39   __u32 rx_missed_errors;
     40   __u32 tx_aborted_errors;
     41   __u32 tx_carrier_errors;
     42   __u32 tx_fifo_errors;
     43   __u32 tx_heartbeat_errors;
     44   __u32 tx_window_errors;
     45   __u32 rx_compressed;
     46   __u32 tx_compressed;
     47   __u32 rx_nohandler;
     48 };
     49 struct rtnl_link_stats64 {
     50   __u64 rx_packets;
     51   __u64 tx_packets;
     52   __u64 rx_bytes;
     53   __u64 tx_bytes;
     54   __u64 rx_errors;
     55   __u64 tx_errors;
     56   __u64 rx_dropped;
     57   __u64 tx_dropped;
     58   __u64 multicast;
     59   __u64 collisions;
     60   __u64 rx_length_errors;
     61   __u64 rx_over_errors;
     62   __u64 rx_crc_errors;
     63   __u64 rx_frame_errors;
     64   __u64 rx_fifo_errors;
     65   __u64 rx_missed_errors;
     66   __u64 tx_aborted_errors;
     67   __u64 tx_carrier_errors;
     68   __u64 tx_fifo_errors;
     69   __u64 tx_heartbeat_errors;
     70   __u64 tx_window_errors;
     71   __u64 rx_compressed;
     72   __u64 tx_compressed;
     73   __u64 rx_nohandler;
     74 };
     75 struct rtnl_link_ifmap {
     76   __u64 mem_start;
     77   __u64 mem_end;
     78   __u64 base_addr;
     79   __u16 irq;
     80   __u8 dma;
     81   __u8 port;
     82 };
     83 enum {
     84   IFLA_UNSPEC,
     85   IFLA_ADDRESS,
     86   IFLA_BROADCAST,
     87   IFLA_IFNAME,
     88   IFLA_MTU,
     89   IFLA_LINK,
     90   IFLA_QDISC,
     91   IFLA_STATS,
     92   IFLA_COST,
     93 #define IFLA_COST IFLA_COST
     94   IFLA_PRIORITY,
     95 #define IFLA_PRIORITY IFLA_PRIORITY
     96   IFLA_MASTER,
     97 #define IFLA_MASTER IFLA_MASTER
     98   IFLA_WIRELESS,
     99 #define IFLA_WIRELESS IFLA_WIRELESS
    100   IFLA_PROTINFO,
    101 #define IFLA_PROTINFO IFLA_PROTINFO
    102   IFLA_TXQLEN,
    103 #define IFLA_TXQLEN IFLA_TXQLEN
    104   IFLA_MAP,
    105 #define IFLA_MAP IFLA_MAP
    106   IFLA_WEIGHT,
    107 #define IFLA_WEIGHT IFLA_WEIGHT
    108   IFLA_OPERSTATE,
    109   IFLA_LINKMODE,
    110   IFLA_LINKINFO,
    111 #define IFLA_LINKINFO IFLA_LINKINFO
    112   IFLA_NET_NS_PID,
    113   IFLA_IFALIAS,
    114   IFLA_NUM_VF,
    115   IFLA_VFINFO_LIST,
    116   IFLA_STATS64,
    117   IFLA_VF_PORTS,
    118   IFLA_PORT_SELF,
    119   IFLA_AF_SPEC,
    120   IFLA_GROUP,
    121   IFLA_NET_NS_FD,
    122   IFLA_EXT_MASK,
    123   IFLA_PROMISCUITY,
    124 #define IFLA_PROMISCUITY IFLA_PROMISCUITY
    125   IFLA_NUM_TX_QUEUES,
    126   IFLA_NUM_RX_QUEUES,
    127   IFLA_CARRIER,
    128   IFLA_PHYS_PORT_ID,
    129   IFLA_CARRIER_CHANGES,
    130   IFLA_PHYS_SWITCH_ID,
    131   IFLA_LINK_NETNSID,
    132   IFLA_PHYS_PORT_NAME,
    133   IFLA_PROTO_DOWN,
    134   IFLA_GSO_MAX_SEGS,
    135   IFLA_GSO_MAX_SIZE,
    136   IFLA_PAD,
    137   IFLA_XDP,
    138   __IFLA_MAX
    139 };
    140 #define IFLA_MAX (__IFLA_MAX - 1)
    141 #define IFLA_RTA(r) ((struct rtattr *) (((char *) (r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
    142 #define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg))
    143 enum {
    144   IFLA_INET_UNSPEC,
    145   IFLA_INET_CONF,
    146   __IFLA_INET_MAX,
    147 };
    148 #define IFLA_INET_MAX (__IFLA_INET_MAX - 1)
    149 enum {
    150   IFLA_INET6_UNSPEC,
    151   IFLA_INET6_FLAGS,
    152   IFLA_INET6_CONF,
    153   IFLA_INET6_STATS,
    154   IFLA_INET6_MCAST,
    155   IFLA_INET6_CACHEINFO,
    156   IFLA_INET6_ICMP6STATS,
    157   IFLA_INET6_TOKEN,
    158   IFLA_INET6_ADDR_GEN_MODE,
    159   __IFLA_INET6_MAX
    160 };
    161 #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
    162 enum in6_addr_gen_mode {
    163   IN6_ADDR_GEN_MODE_EUI64,
    164   IN6_ADDR_GEN_MODE_NONE,
    165   IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
    166   IN6_ADDR_GEN_MODE_RANDOM,
    167 };
    168 enum {
    169   IFLA_BR_UNSPEC,
    170   IFLA_BR_FORWARD_DELAY,
    171   IFLA_BR_HELLO_TIME,
    172   IFLA_BR_MAX_AGE,
    173   IFLA_BR_AGEING_TIME,
    174   IFLA_BR_STP_STATE,
    175   IFLA_BR_PRIORITY,
    176   IFLA_BR_VLAN_FILTERING,
    177   IFLA_BR_VLAN_PROTOCOL,
    178   IFLA_BR_GROUP_FWD_MASK,
    179   IFLA_BR_ROOT_ID,
    180   IFLA_BR_BRIDGE_ID,
    181   IFLA_BR_ROOT_PORT,
    182   IFLA_BR_ROOT_PATH_COST,
    183   IFLA_BR_TOPOLOGY_CHANGE,
    184   IFLA_BR_TOPOLOGY_CHANGE_DETECTED,
    185   IFLA_BR_HELLO_TIMER,
    186   IFLA_BR_TCN_TIMER,
    187   IFLA_BR_TOPOLOGY_CHANGE_TIMER,
    188   IFLA_BR_GC_TIMER,
    189   IFLA_BR_GROUP_ADDR,
    190   IFLA_BR_FDB_FLUSH,
    191   IFLA_BR_MCAST_ROUTER,
    192   IFLA_BR_MCAST_SNOOPING,
    193   IFLA_BR_MCAST_QUERY_USE_IFADDR,
    194   IFLA_BR_MCAST_QUERIER,
    195   IFLA_BR_MCAST_HASH_ELASTICITY,
    196   IFLA_BR_MCAST_HASH_MAX,
    197   IFLA_BR_MCAST_LAST_MEMBER_CNT,
    198   IFLA_BR_MCAST_STARTUP_QUERY_CNT,
    199   IFLA_BR_MCAST_LAST_MEMBER_INTVL,
    200   IFLA_BR_MCAST_MEMBERSHIP_INTVL,
    201   IFLA_BR_MCAST_QUERIER_INTVL,
    202   IFLA_BR_MCAST_QUERY_INTVL,
    203   IFLA_BR_MCAST_QUERY_RESPONSE_INTVL,
    204   IFLA_BR_MCAST_STARTUP_QUERY_INTVL,
    205   IFLA_BR_NF_CALL_IPTABLES,
    206   IFLA_BR_NF_CALL_IP6TABLES,
    207   IFLA_BR_NF_CALL_ARPTABLES,
    208   IFLA_BR_VLAN_DEFAULT_PVID,
    209   IFLA_BR_PAD,
    210   IFLA_BR_VLAN_STATS_ENABLED,
    211   IFLA_BR_MCAST_STATS_ENABLED,
    212   IFLA_BR_MCAST_IGMP_VERSION,
    213   IFLA_BR_MCAST_MLD_VERSION,
    214   __IFLA_BR_MAX,
    215 };
    216 #define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
    217 struct ifla_bridge_id {
    218   __u8 prio[2];
    219   __u8 addr[6];
    220 };
    221 enum {
    222   BRIDGE_MODE_UNSPEC,
    223   BRIDGE_MODE_HAIRPIN,
    224 };
    225 enum {
    226   IFLA_BRPORT_UNSPEC,
    227   IFLA_BRPORT_STATE,
    228   IFLA_BRPORT_PRIORITY,
    229   IFLA_BRPORT_COST,
    230   IFLA_BRPORT_MODE,
    231   IFLA_BRPORT_GUARD,
    232   IFLA_BRPORT_PROTECT,
    233   IFLA_BRPORT_FAST_LEAVE,
    234   IFLA_BRPORT_LEARNING,
    235   IFLA_BRPORT_UNICAST_FLOOD,
    236   IFLA_BRPORT_PROXYARP,
    237   IFLA_BRPORT_LEARNING_SYNC,
    238   IFLA_BRPORT_PROXYARP_WIFI,
    239   IFLA_BRPORT_ROOT_ID,
    240   IFLA_BRPORT_BRIDGE_ID,
    241   IFLA_BRPORT_DESIGNATED_PORT,
    242   IFLA_BRPORT_DESIGNATED_COST,
    243   IFLA_BRPORT_ID,
    244   IFLA_BRPORT_NO,
    245   IFLA_BRPORT_TOPOLOGY_CHANGE_ACK,
    246   IFLA_BRPORT_CONFIG_PENDING,
    247   IFLA_BRPORT_MESSAGE_AGE_TIMER,
    248   IFLA_BRPORT_FORWARD_DELAY_TIMER,
    249   IFLA_BRPORT_HOLD_TIMER,
    250   IFLA_BRPORT_FLUSH,
    251   IFLA_BRPORT_MULTICAST_ROUTER,
    252   IFLA_BRPORT_PAD,
    253   IFLA_BRPORT_MCAST_FLOOD,
    254   __IFLA_BRPORT_MAX
    255 };
    256 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
    257 struct ifla_cacheinfo {
    258   __u32 max_reasm_len;
    259   __u32 tstamp;
    260   __u32 reachable_time;
    261   __u32 retrans_time;
    262 };
    263 enum {
    264   IFLA_INFO_UNSPEC,
    265   IFLA_INFO_KIND,
    266   IFLA_INFO_DATA,
    267   IFLA_INFO_XSTATS,
    268   IFLA_INFO_SLAVE_KIND,
    269   IFLA_INFO_SLAVE_DATA,
    270   __IFLA_INFO_MAX,
    271 };
    272 #define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
    273 enum {
    274   IFLA_VLAN_UNSPEC,
    275   IFLA_VLAN_ID,
    276   IFLA_VLAN_FLAGS,
    277   IFLA_VLAN_EGRESS_QOS,
    278   IFLA_VLAN_INGRESS_QOS,
    279   IFLA_VLAN_PROTOCOL,
    280   __IFLA_VLAN_MAX,
    281 };
    282 #define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
    283 struct ifla_vlan_flags {
    284   __u32 flags;
    285   __u32 mask;
    286 };
    287 enum {
    288   IFLA_VLAN_QOS_UNSPEC,
    289   IFLA_VLAN_QOS_MAPPING,
    290   __IFLA_VLAN_QOS_MAX
    291 };
    292 #define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
    293 struct ifla_vlan_qos_mapping {
    294   __u32 from;
    295   __u32 to;
    296 };
    297 enum {
    298   IFLA_MACVLAN_UNSPEC,
    299   IFLA_MACVLAN_MODE,
    300   IFLA_MACVLAN_FLAGS,
    301   IFLA_MACVLAN_MACADDR_MODE,
    302   IFLA_MACVLAN_MACADDR,
    303   IFLA_MACVLAN_MACADDR_DATA,
    304   IFLA_MACVLAN_MACADDR_COUNT,
    305   __IFLA_MACVLAN_MAX,
    306 };
    307 #define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
    308 enum macvlan_mode {
    309   MACVLAN_MODE_PRIVATE = 1,
    310   MACVLAN_MODE_VEPA = 2,
    311   MACVLAN_MODE_BRIDGE = 4,
    312   MACVLAN_MODE_PASSTHRU = 8,
    313   MACVLAN_MODE_SOURCE = 16,
    314 };
    315 enum macvlan_macaddr_mode {
    316   MACVLAN_MACADDR_ADD,
    317   MACVLAN_MACADDR_DEL,
    318   MACVLAN_MACADDR_FLUSH,
    319   MACVLAN_MACADDR_SET,
    320 };
    321 #define MACVLAN_FLAG_NOPROMISC 1
    322 enum {
    323   IFLA_VRF_UNSPEC,
    324   IFLA_VRF_TABLE,
    325   __IFLA_VRF_MAX
    326 };
    327 #define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1)
    328 enum {
    329   IFLA_VRF_PORT_UNSPEC,
    330   IFLA_VRF_PORT_TABLE,
    331   __IFLA_VRF_PORT_MAX
    332 };
    333 #define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1)
    334 enum {
    335   IFLA_MACSEC_UNSPEC,
    336   IFLA_MACSEC_SCI,
    337   IFLA_MACSEC_PORT,
    338   IFLA_MACSEC_ICV_LEN,
    339   IFLA_MACSEC_CIPHER_SUITE,
    340   IFLA_MACSEC_WINDOW,
    341   IFLA_MACSEC_ENCODING_SA,
    342   IFLA_MACSEC_ENCRYPT,
    343   IFLA_MACSEC_PROTECT,
    344   IFLA_MACSEC_INC_SCI,
    345   IFLA_MACSEC_ES,
    346   IFLA_MACSEC_SCB,
    347   IFLA_MACSEC_REPLAY_PROTECT,
    348   IFLA_MACSEC_VALIDATION,
    349   IFLA_MACSEC_PAD,
    350   __IFLA_MACSEC_MAX,
    351 };
    352 #define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1)
    353 enum macsec_validation_type {
    354   MACSEC_VALIDATE_DISABLED = 0,
    355   MACSEC_VALIDATE_CHECK = 1,
    356   MACSEC_VALIDATE_STRICT = 2,
    357   __MACSEC_VALIDATE_END,
    358   MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1,
    359 };
    360 enum {
    361   IFLA_IPVLAN_UNSPEC,
    362   IFLA_IPVLAN_MODE,
    363   __IFLA_IPVLAN_MAX
    364 };
    365 #define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1)
    366 enum ipvlan_mode {
    367   IPVLAN_MODE_L2 = 0,
    368   IPVLAN_MODE_L3,
    369   IPVLAN_MODE_L3S,
    370   IPVLAN_MODE_MAX
    371 };
    372 enum {
    373   IFLA_VXLAN_UNSPEC,
    374   IFLA_VXLAN_ID,
    375   IFLA_VXLAN_GROUP,
    376   IFLA_VXLAN_LINK,
    377   IFLA_VXLAN_LOCAL,
    378   IFLA_VXLAN_TTL,
    379   IFLA_VXLAN_TOS,
    380   IFLA_VXLAN_LEARNING,
    381   IFLA_VXLAN_AGEING,
    382   IFLA_VXLAN_LIMIT,
    383   IFLA_VXLAN_PORT_RANGE,
    384   IFLA_VXLAN_PROXY,
    385   IFLA_VXLAN_RSC,
    386   IFLA_VXLAN_L2MISS,
    387   IFLA_VXLAN_L3MISS,
    388   IFLA_VXLAN_PORT,
    389   IFLA_VXLAN_GROUP6,
    390   IFLA_VXLAN_LOCAL6,
    391   IFLA_VXLAN_UDP_CSUM,
    392   IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
    393   IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
    394   IFLA_VXLAN_REMCSUM_TX,
    395   IFLA_VXLAN_REMCSUM_RX,
    396   IFLA_VXLAN_GBP,
    397   IFLA_VXLAN_REMCSUM_NOPARTIAL,
    398   IFLA_VXLAN_COLLECT_METADATA,
    399   IFLA_VXLAN_LABEL,
    400   IFLA_VXLAN_GPE,
    401   __IFLA_VXLAN_MAX
    402 };
    403 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
    404 struct ifla_vxlan_port_range {
    405   __be16 low;
    406   __be16 high;
    407 };
    408 enum {
    409   IFLA_GENEVE_UNSPEC,
    410   IFLA_GENEVE_ID,
    411   IFLA_GENEVE_REMOTE,
    412   IFLA_GENEVE_TTL,
    413   IFLA_GENEVE_TOS,
    414   IFLA_GENEVE_PORT,
    415   IFLA_GENEVE_COLLECT_METADATA,
    416   IFLA_GENEVE_REMOTE6,
    417   IFLA_GENEVE_UDP_CSUM,
    418   IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
    419   IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
    420   IFLA_GENEVE_LABEL,
    421   __IFLA_GENEVE_MAX
    422 };
    423 #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
    424 enum {
    425   IFLA_PPP_UNSPEC,
    426   IFLA_PPP_DEV_FD,
    427   __IFLA_PPP_MAX
    428 };
    429 #define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1)
    430 enum {
    431   IFLA_GTP_UNSPEC,
    432   IFLA_GTP_FD0,
    433   IFLA_GTP_FD1,
    434   IFLA_GTP_PDP_HASHSIZE,
    435   __IFLA_GTP_MAX,
    436 };
    437 #define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
    438 enum {
    439   IFLA_BOND_UNSPEC,
    440   IFLA_BOND_MODE,
    441   IFLA_BOND_ACTIVE_SLAVE,
    442   IFLA_BOND_MIIMON,
    443   IFLA_BOND_UPDELAY,
    444   IFLA_BOND_DOWNDELAY,
    445   IFLA_BOND_USE_CARRIER,
    446   IFLA_BOND_ARP_INTERVAL,
    447   IFLA_BOND_ARP_IP_TARGET,
    448   IFLA_BOND_ARP_VALIDATE,
    449   IFLA_BOND_ARP_ALL_TARGETS,
    450   IFLA_BOND_PRIMARY,
    451   IFLA_BOND_PRIMARY_RESELECT,
    452   IFLA_BOND_FAIL_OVER_MAC,
    453   IFLA_BOND_XMIT_HASH_POLICY,
    454   IFLA_BOND_RESEND_IGMP,
    455   IFLA_BOND_NUM_PEER_NOTIF,
    456   IFLA_BOND_ALL_SLAVES_ACTIVE,
    457   IFLA_BOND_MIN_LINKS,
    458   IFLA_BOND_LP_INTERVAL,
    459   IFLA_BOND_PACKETS_PER_SLAVE,
    460   IFLA_BOND_AD_LACP_RATE,
    461   IFLA_BOND_AD_SELECT,
    462   IFLA_BOND_AD_INFO,
    463   IFLA_BOND_AD_ACTOR_SYS_PRIO,
    464   IFLA_BOND_AD_USER_PORT_KEY,
    465   IFLA_BOND_AD_ACTOR_SYSTEM,
    466   IFLA_BOND_TLB_DYNAMIC_LB,
    467   __IFLA_BOND_MAX,
    468 };
    469 #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1)
    470 enum {
    471   IFLA_BOND_AD_INFO_UNSPEC,
    472   IFLA_BOND_AD_INFO_AGGREGATOR,
    473   IFLA_BOND_AD_INFO_NUM_PORTS,
    474   IFLA_BOND_AD_INFO_ACTOR_KEY,
    475   IFLA_BOND_AD_INFO_PARTNER_KEY,
    476   IFLA_BOND_AD_INFO_PARTNER_MAC,
    477   __IFLA_BOND_AD_INFO_MAX,
    478 };
    479 #define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1)
    480 enum {
    481   IFLA_BOND_SLAVE_UNSPEC,
    482   IFLA_BOND_SLAVE_STATE,
    483   IFLA_BOND_SLAVE_MII_STATUS,
    484   IFLA_BOND_SLAVE_LINK_FAILURE_COUNT,
    485   IFLA_BOND_SLAVE_PERM_HWADDR,
    486   IFLA_BOND_SLAVE_QUEUE_ID,
    487   IFLA_BOND_SLAVE_AD_AGGREGATOR_ID,
    488   IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
    489   IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
    490   __IFLA_BOND_SLAVE_MAX,
    491 };
    492 #define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1)
    493 enum {
    494   IFLA_VF_INFO_UNSPEC,
    495   IFLA_VF_INFO,
    496   __IFLA_VF_INFO_MAX,
    497 };
    498 #define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1)
    499 enum {
    500   IFLA_VF_UNSPEC,
    501   IFLA_VF_MAC,
    502   IFLA_VF_VLAN,
    503   IFLA_VF_TX_RATE,
    504   IFLA_VF_SPOOFCHK,
    505   IFLA_VF_LINK_STATE,
    506   IFLA_VF_RATE,
    507   IFLA_VF_RSS_QUERY_EN,
    508   IFLA_VF_STATS,
    509   IFLA_VF_TRUST,
    510   IFLA_VF_IB_NODE_GUID,
    511   IFLA_VF_IB_PORT_GUID,
    512   IFLA_VF_VLAN_LIST,
    513   __IFLA_VF_MAX,
    514 };
    515 #define IFLA_VF_MAX (__IFLA_VF_MAX - 1)
    516 struct ifla_vf_mac {
    517   __u32 vf;
    518   __u8 mac[32];
    519 };
    520 struct ifla_vf_vlan {
    521   __u32 vf;
    522   __u32 vlan;
    523   __u32 qos;
    524 };
    525 enum {
    526   IFLA_VF_VLAN_INFO_UNSPEC,
    527   IFLA_VF_VLAN_INFO,
    528   __IFLA_VF_VLAN_INFO_MAX,
    529 };
    530 #define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1)
    531 #define MAX_VLAN_LIST_LEN 1
    532 struct ifla_vf_vlan_info {
    533   __u32 vf;
    534   __u32 vlan;
    535   __u32 qos;
    536   __be16 vlan_proto;
    537 };
    538 struct ifla_vf_tx_rate {
    539   __u32 vf;
    540   __u32 rate;
    541 };
    542 struct ifla_vf_rate {
    543   __u32 vf;
    544   __u32 min_tx_rate;
    545   __u32 max_tx_rate;
    546 };
    547 struct ifla_vf_spoofchk {
    548   __u32 vf;
    549   __u32 setting;
    550 };
    551 struct ifla_vf_guid {
    552   __u32 vf;
    553   __u64 guid;
    554 };
    555 enum {
    556   IFLA_VF_LINK_STATE_AUTO,
    557   IFLA_VF_LINK_STATE_ENABLE,
    558   IFLA_VF_LINK_STATE_DISABLE,
    559   __IFLA_VF_LINK_STATE_MAX,
    560 };
    561 struct ifla_vf_link_state {
    562   __u32 vf;
    563   __u32 link_state;
    564 };
    565 struct ifla_vf_rss_query_en {
    566   __u32 vf;
    567   __u32 setting;
    568 };
    569 enum {
    570   IFLA_VF_STATS_RX_PACKETS,
    571   IFLA_VF_STATS_TX_PACKETS,
    572   IFLA_VF_STATS_RX_BYTES,
    573   IFLA_VF_STATS_TX_BYTES,
    574   IFLA_VF_STATS_BROADCAST,
    575   IFLA_VF_STATS_MULTICAST,
    576   IFLA_VF_STATS_PAD,
    577   __IFLA_VF_STATS_MAX,
    578 };
    579 #define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
    580 struct ifla_vf_trust {
    581   __u32 vf;
    582   __u32 setting;
    583 };
    584 enum {
    585   IFLA_VF_PORT_UNSPEC,
    586   IFLA_VF_PORT,
    587   __IFLA_VF_PORT_MAX,
    588 };
    589 #define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1)
    590 enum {
    591   IFLA_PORT_UNSPEC,
    592   IFLA_PORT_VF,
    593   IFLA_PORT_PROFILE,
    594   IFLA_PORT_VSI_TYPE,
    595   IFLA_PORT_INSTANCE_UUID,
    596   IFLA_PORT_HOST_UUID,
    597   IFLA_PORT_REQUEST,
    598   IFLA_PORT_RESPONSE,
    599   __IFLA_PORT_MAX,
    600 };
    601 #define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1)
    602 #define PORT_PROFILE_MAX 40
    603 #define PORT_UUID_MAX 16
    604 #define PORT_SELF_VF - 1
    605 enum {
    606   PORT_REQUEST_PREASSOCIATE = 0,
    607   PORT_REQUEST_PREASSOCIATE_RR,
    608   PORT_REQUEST_ASSOCIATE,
    609   PORT_REQUEST_DISASSOCIATE,
    610 };
    611 enum {
    612   PORT_VDP_RESPONSE_SUCCESS = 0,
    613   PORT_VDP_RESPONSE_INVALID_FORMAT,
    614   PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES,
    615   PORT_VDP_RESPONSE_UNUSED_VTID,
    616   PORT_VDP_RESPONSE_VTID_VIOLATION,
    617   PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION,
    618   PORT_VDP_RESPONSE_OUT_OF_SYNC,
    619   PORT_PROFILE_RESPONSE_SUCCESS = 0x100,
    620   PORT_PROFILE_RESPONSE_INPROGRESS,
    621   PORT_PROFILE_RESPONSE_INVALID,
    622   PORT_PROFILE_RESPONSE_BADSTATE,
    623   PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES,
    624   PORT_PROFILE_RESPONSE_ERROR,
    625 };
    626 struct ifla_port_vsi {
    627   __u8 vsi_mgr_id;
    628   __u8 vsi_type_id[3];
    629   __u8 vsi_type_version;
    630   __u8 pad[3];
    631 };
    632 enum {
    633   IFLA_IPOIB_UNSPEC,
    634   IFLA_IPOIB_PKEY,
    635   IFLA_IPOIB_MODE,
    636   IFLA_IPOIB_UMCAST,
    637   __IFLA_IPOIB_MAX
    638 };
    639 enum {
    640   IPOIB_MODE_DATAGRAM = 0,
    641   IPOIB_MODE_CONNECTED = 1,
    642 };
    643 #define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
    644 enum {
    645   IFLA_HSR_UNSPEC,
    646   IFLA_HSR_SLAVE1,
    647   IFLA_HSR_SLAVE2,
    648   IFLA_HSR_MULTICAST_SPEC,
    649   IFLA_HSR_SUPERVISION_ADDR,
    650   IFLA_HSR_SEQ_NR,
    651   IFLA_HSR_VERSION,
    652   __IFLA_HSR_MAX,
    653 };
    654 #define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1)
    655 struct if_stats_msg {
    656   __u8 family;
    657   __u8 pad1;
    658   __u16 pad2;
    659   __u32 ifindex;
    660   __u32 filter_mask;
    661 };
    662 enum {
    663   IFLA_STATS_UNSPEC,
    664   IFLA_STATS_LINK_64,
    665   IFLA_STATS_LINK_XSTATS,
    666   IFLA_STATS_LINK_XSTATS_SLAVE,
    667   IFLA_STATS_LINK_OFFLOAD_XSTATS,
    668   __IFLA_STATS_MAX,
    669 };
    670 #define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1)
    671 #define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1))
    672 enum {
    673   LINK_XSTATS_TYPE_UNSPEC,
    674   LINK_XSTATS_TYPE_BRIDGE,
    675   __LINK_XSTATS_TYPE_MAX
    676 };
    677 #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
    678 enum {
    679   IFLA_OFFLOAD_XSTATS_UNSPEC,
    680   IFLA_OFFLOAD_XSTATS_CPU_HIT,
    681   __IFLA_OFFLOAD_XSTATS_MAX
    682 };
    683 #define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
    684 #define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
    685 #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST)
    686 enum {
    687   IFLA_XDP_UNSPEC,
    688   IFLA_XDP_FD,
    689   IFLA_XDP_ATTACHED,
    690   IFLA_XDP_FLAGS,
    691   __IFLA_XDP_MAX,
    692 };
    693 #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
    694 #endif
    695