]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - include/linux/if_link.h
update kernel headers from net-next
[mirror_iproute2.git] / include / linux / if_link.h
index 167ec34bab73ba280ff9e2aee43213a118470ef8..b9299e33f45b0daafcd9daab001fad7bdd80ed02 100644 (file)
@@ -35,6 +35,8 @@ struct rtnl_link_stats {
        /* for cslip etc */
        __u32   rx_compressed;
        __u32   tx_compressed;
+
+       __u32   rx_nohandler;           /* dropped, no handler found    */
 };
 
 /* The main device statistics structure */
@@ -68,6 +70,8 @@ struct rtnl_link_stats64 {
        /* for cslip etc */
        __u64   rx_compressed;
        __u64   tx_compressed;
+
+       __u64   rx_nohandler;           /* dropped, no handler found    */
 };
 
 /* The struct should be in sync with struct ifmap */
@@ -146,6 +150,13 @@ enum {
        IFLA_PHYS_PORT_ID,
        IFLA_CARRIER_CHANGES,
        IFLA_PHYS_SWITCH_ID,
+       IFLA_LINK_NETNSID,
+       IFLA_PHYS_PORT_NAME,
+       IFLA_PROTO_DOWN,
+       IFLA_GSO_MAX_SEGS,
+       IFLA_GSO_MAX_SIZE,
+       IFLA_PAD,
+       IFLA_XDP,
        __IFLA_MAX
 };
 
@@ -212,6 +223,8 @@ enum {
 enum in6_addr_gen_mode {
        IN6_ADDR_GEN_MODE_EUI64,
        IN6_ADDR_GEN_MODE_NONE,
+       IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
+       IN6_ADDR_GEN_MODE_RANDOM,
 };
 
 /* Bridge section */
@@ -221,11 +234,55 @@ enum {
        IFLA_BR_FORWARD_DELAY,
        IFLA_BR_HELLO_TIME,
        IFLA_BR_MAX_AGE,
+       IFLA_BR_AGEING_TIME,
+       IFLA_BR_STP_STATE,
+       IFLA_BR_PRIORITY,
+       IFLA_BR_VLAN_FILTERING,
+       IFLA_BR_VLAN_PROTOCOL,
+       IFLA_BR_GROUP_FWD_MASK,
+       IFLA_BR_ROOT_ID,
+       IFLA_BR_BRIDGE_ID,
+       IFLA_BR_ROOT_PORT,
+       IFLA_BR_ROOT_PATH_COST,
+       IFLA_BR_TOPOLOGY_CHANGE,
+       IFLA_BR_TOPOLOGY_CHANGE_DETECTED,
+       IFLA_BR_HELLO_TIMER,
+       IFLA_BR_TCN_TIMER,
+       IFLA_BR_TOPOLOGY_CHANGE_TIMER,
+       IFLA_BR_GC_TIMER,
+       IFLA_BR_GROUP_ADDR,
+       IFLA_BR_FDB_FLUSH,
+       IFLA_BR_MCAST_ROUTER,
+       IFLA_BR_MCAST_SNOOPING,
+       IFLA_BR_MCAST_QUERY_USE_IFADDR,
+       IFLA_BR_MCAST_QUERIER,
+       IFLA_BR_MCAST_HASH_ELASTICITY,
+       IFLA_BR_MCAST_HASH_MAX,
+       IFLA_BR_MCAST_LAST_MEMBER_CNT,
+       IFLA_BR_MCAST_STARTUP_QUERY_CNT,
+       IFLA_BR_MCAST_LAST_MEMBER_INTVL,
+       IFLA_BR_MCAST_MEMBERSHIP_INTVL,
+       IFLA_BR_MCAST_QUERIER_INTVL,
+       IFLA_BR_MCAST_QUERY_INTVL,
+       IFLA_BR_MCAST_QUERY_RESPONSE_INTVL,
+       IFLA_BR_MCAST_STARTUP_QUERY_INTVL,
+       IFLA_BR_NF_CALL_IPTABLES,
+       IFLA_BR_NF_CALL_IP6TABLES,
+       IFLA_BR_NF_CALL_ARPTABLES,
+       IFLA_BR_VLAN_DEFAULT_PVID,
+       IFLA_BR_PAD,
+       IFLA_BR_VLAN_STATS_ENABLED,
+       IFLA_BR_MCAST_STATS_ENABLED,
        __IFLA_BR_MAX,
 };
 
 #define IFLA_BR_MAX    (__IFLA_BR_MAX - 1)
 
+struct ifla_bridge_id {
+       __u8    prio[2];
+       __u8    addr[6]; /* ETH_ALEN */
+};
+
 enum {
        BRIDGE_MODE_UNSPEC,
        BRIDGE_MODE_HAIRPIN,
@@ -244,6 +301,22 @@ enum {
        IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */
        IFLA_BRPORT_PROXYARP,   /* proxy ARP */
        IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */
+       IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */
+       IFLA_BRPORT_ROOT_ID,    /* designated root */
+       IFLA_BRPORT_BRIDGE_ID,  /* designated bridge */
+       IFLA_BRPORT_DESIGNATED_PORT,
+       IFLA_BRPORT_DESIGNATED_COST,
+       IFLA_BRPORT_ID,
+       IFLA_BRPORT_NO,
+       IFLA_BRPORT_TOPOLOGY_CHANGE_ACK,
+       IFLA_BRPORT_CONFIG_PENDING,
+       IFLA_BRPORT_MESSAGE_AGE_TIMER,
+       IFLA_BRPORT_FORWARD_DELAY_TIMER,
+       IFLA_BRPORT_HOLD_TIMER,
+       IFLA_BRPORT_FLUSH,
+       IFLA_BRPORT_MULTICAST_ROUTER,
+       IFLA_BRPORT_PAD,
+       IFLA_BRPORT_MCAST_FLOOD,
        __IFLA_BRPORT_MAX
 };
 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -330,6 +403,53 @@ enum macvlan_macaddr_mode {
 
 #define MACVLAN_FLAG_NOPROMISC 1
 
+/* VRF section */
+enum {
+       IFLA_VRF_UNSPEC,
+       IFLA_VRF_TABLE,
+       __IFLA_VRF_MAX
+};
+
+#define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1)
+
+enum {
+       IFLA_VRF_PORT_UNSPEC,
+       IFLA_VRF_PORT_TABLE,
+       __IFLA_VRF_PORT_MAX
+};
+
+#define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1)
+
+/* MACSEC section */
+enum {
+       IFLA_MACSEC_UNSPEC,
+       IFLA_MACSEC_SCI,
+       IFLA_MACSEC_PORT,
+       IFLA_MACSEC_ICV_LEN,
+       IFLA_MACSEC_CIPHER_SUITE,
+       IFLA_MACSEC_WINDOW,
+       IFLA_MACSEC_ENCODING_SA,
+       IFLA_MACSEC_ENCRYPT,
+       IFLA_MACSEC_PROTECT,
+       IFLA_MACSEC_INC_SCI,
+       IFLA_MACSEC_ES,
+       IFLA_MACSEC_SCB,
+       IFLA_MACSEC_REPLAY_PROTECT,
+       IFLA_MACSEC_VALIDATION,
+       IFLA_MACSEC_PAD,
+       __IFLA_MACSEC_MAX,
+};
+
+#define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1)
+
+enum macsec_validation_type {
+       MACSEC_VALIDATE_DISABLED = 0,
+       MACSEC_VALIDATE_CHECK = 1,
+       MACSEC_VALIDATE_STRICT = 2,
+       __MACSEC_VALIDATE_END,
+       MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1,
+};
+
 /* IPVLAN section */
 enum {
        IFLA_IPVLAN_UNSPEC,
@@ -342,6 +462,7 @@ enum {
 enum ipvlan_mode {
        IPVLAN_MODE_L2 = 0,
        IPVLAN_MODE_L3,
+       IPVLAN_MODE_L3S,
        IPVLAN_MODE_MAX
 };
 
@@ -368,6 +489,13 @@ enum {
        IFLA_VXLAN_UDP_CSUM,
        IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
        IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
+       IFLA_VXLAN_REMCSUM_TX,
+       IFLA_VXLAN_REMCSUM_RX,
+       IFLA_VXLAN_GBP,
+       IFLA_VXLAN_REMCSUM_NOPARTIAL,
+       IFLA_VXLAN_COLLECT_METADATA,
+       IFLA_VXLAN_LABEL,
+       IFLA_VXLAN_GPE,
        __IFLA_VXLAN_MAX
 };
 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
@@ -377,6 +505,42 @@ struct ifla_vxlan_port_range {
        __be16  high;
 };
 
+/* GENEVE section */
+enum {
+       IFLA_GENEVE_UNSPEC,
+       IFLA_GENEVE_ID,
+       IFLA_GENEVE_REMOTE,
+       IFLA_GENEVE_TTL,
+       IFLA_GENEVE_TOS,
+       IFLA_GENEVE_PORT,       /* destination port */
+       IFLA_GENEVE_COLLECT_METADATA,
+       IFLA_GENEVE_REMOTE6,
+       IFLA_GENEVE_UDP_CSUM,
+       IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
+       IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
+       IFLA_GENEVE_LABEL,
+       __IFLA_GENEVE_MAX
+};
+#define IFLA_GENEVE_MAX        (__IFLA_GENEVE_MAX - 1)
+
+/* PPP section */
+enum {
+       IFLA_PPP_UNSPEC,
+       IFLA_PPP_DEV_FD,
+       __IFLA_PPP_MAX
+};
+#define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1)
+
+/* GTP section */
+enum {
+       IFLA_GTP_UNSPEC,
+       IFLA_GTP_FD0,
+       IFLA_GTP_FD1,
+       IFLA_GTP_PDP_HASHSIZE,
+       __IFLA_GTP_MAX,
+};
+#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
+
 /* Bonding section */
 
 enum {
@@ -404,6 +568,10 @@ enum {
        IFLA_BOND_AD_LACP_RATE,
        IFLA_BOND_AD_SELECT,
        IFLA_BOND_AD_INFO,
+       IFLA_BOND_AD_ACTOR_SYS_PRIO,
+       IFLA_BOND_AD_USER_PORT_KEY,
+       IFLA_BOND_AD_ACTOR_SYSTEM,
+       IFLA_BOND_TLB_DYNAMIC_LB,
        __IFLA_BOND_MAX,
 };
 
@@ -429,6 +597,8 @@ enum {
        IFLA_BOND_SLAVE_PERM_HWADDR,
        IFLA_BOND_SLAVE_QUEUE_ID,
        IFLA_BOND_SLAVE_AD_AGGREGATOR_ID,
+       IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
+       IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
        __IFLA_BOND_SLAVE_MAX,
 };
 
@@ -452,6 +622,13 @@ enum {
        IFLA_VF_SPOOFCHK,       /* Spoof Checking on/off switch */
        IFLA_VF_LINK_STATE,     /* link state enable/disable/auto switch */
        IFLA_VF_RATE,           /* Min and Max TX Bandwidth Allocation */
+       IFLA_VF_RSS_QUERY_EN,   /* RSS Redirection Table and Hash Key query
+                                * on/off switch
+                                */
+       IFLA_VF_STATS,          /* network device statistics */
+       IFLA_VF_TRUST,          /* Trust VF */
+       IFLA_VF_IB_NODE_GUID,   /* VF Infiniband node GUID */
+       IFLA_VF_IB_PORT_GUID,   /* VF Infiniband port GUID */
        __IFLA_VF_MAX,
 };
 
@@ -484,6 +661,11 @@ struct ifla_vf_spoofchk {
        __u32 setting;
 };
 
+struct ifla_vf_guid {
+       __u32 vf;
+       __u64 guid;
+};
+
 enum {
        IFLA_VF_LINK_STATE_AUTO,        /* link state of the uplink */
        IFLA_VF_LINK_STATE_ENABLE,      /* link always up */
@@ -496,6 +678,29 @@ struct ifla_vf_link_state {
        __u32 link_state;
 };
 
+struct ifla_vf_rss_query_en {
+       __u32 vf;
+       __u32 setting;
+};
+
+enum {
+       IFLA_VF_STATS_RX_PACKETS,
+       IFLA_VF_STATS_TX_PACKETS,
+       IFLA_VF_STATS_RX_BYTES,
+       IFLA_VF_STATS_TX_BYTES,
+       IFLA_VF_STATS_BROADCAST,
+       IFLA_VF_STATS_MULTICAST,
+       IFLA_VF_STATS_PAD,
+       __IFLA_VF_STATS_MAX,
+};
+
+#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
+
+struct ifla_vf_trust {
+       __u32 vf;
+       __u32 setting;
+};
+
 /* VF ports management section
  *
  *     Nested layout of set/get msg is:
@@ -596,9 +801,67 @@ enum {
        IFLA_HSR_MULTICAST_SPEC,        /* Last byte of supervision addr */
        IFLA_HSR_SUPERVISION_ADDR,      /* Supervision frame multicast addr */
        IFLA_HSR_SEQ_NR,
+       IFLA_HSR_VERSION,               /* HSR version */
        __IFLA_HSR_MAX,
 };
 
 #define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1)
 
+/* STATS section */
+
+struct if_stats_msg {
+       __u8  family;
+       __u8  pad1;
+       __u16 pad2;
+       __u32 ifindex;
+       __u32 filter_mask;
+};
+
+/* A stats attribute can be netdev specific or a global stat.
+ * For netdev stats, lets use the prefix IFLA_STATS_LINK_*
+ */
+enum {
+       IFLA_STATS_UNSPEC, /* also used as 64bit pad attribute */
+       IFLA_STATS_LINK_64,
+       IFLA_STATS_LINK_XSTATS,
+       IFLA_STATS_LINK_XSTATS_SLAVE,
+       IFLA_STATS_LINK_OFFLOAD_XSTATS,
+       __IFLA_STATS_MAX,
+};
+
+#define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1)
+
+#define IFLA_STATS_FILTER_BIT(ATTR)    (1 << (ATTR - 1))
+
+/* These are embedded into IFLA_STATS_LINK_XSTATS:
+ * [IFLA_STATS_LINK_XSTATS]
+ * -> [LINK_XSTATS_TYPE_xxx]
+ *    -> [rtnl link type specific attributes]
+ */
+enum {
+       LINK_XSTATS_TYPE_UNSPEC,
+       LINK_XSTATS_TYPE_BRIDGE,
+       __LINK_XSTATS_TYPE_MAX
+};
+#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1)
+
+/* These are stats embedded into IFLA_STATS_LINK_OFFLOAD_XSTATS */
+enum {
+       IFLA_OFFLOAD_XSTATS_UNSPEC,
+       IFLA_OFFLOAD_XSTATS_CPU_HIT, /* struct rtnl_link_stats64 */
+       __IFLA_OFFLOAD_XSTATS_MAX
+};
+#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1)
+
+/* XDP section */
+
+enum {
+       IFLA_XDP_UNSPEC,
+       IFLA_XDP_FD,
+       IFLA_XDP_ATTACHED,
+       __IFLA_XDP_MAX,
+};
+
+#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
+
 #endif /* _LINUX_IF_LINK_H */