]> 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 31f584cb2576c17c3c90aaa6e9d0202ed7da4aa1..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 */
@@ -149,6 +153,10 @@ enum {
        IFLA_LINK_NETNSID,
        IFLA_PHYS_PORT_NAME,
        IFLA_PROTO_DOWN,
+       IFLA_GSO_MAX_SEGS,
+       IFLA_GSO_MAX_SIZE,
+       IFLA_PAD,
+       IFLA_XDP,
        __IFLA_MAX
 };
 
@@ -216,6 +224,7 @@ 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 */
@@ -261,6 +270,9 @@ enum {
        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,
 };
 
@@ -303,6 +315,8 @@ enum {
        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)
@@ -398,6 +412,44 @@ enum {
 
 #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,
@@ -410,6 +462,7 @@ enum {
 enum ipvlan_mode {
        IPVLAN_MODE_L2 = 0,
        IPVLAN_MODE_L3,
+       IPVLAN_MODE_L3S,
        IPVLAN_MODE_MAX
 };
 
@@ -441,6 +494,8 @@ enum {
        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)
@@ -459,10 +514,33 @@ enum {
        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 {
@@ -549,6 +627,8 @@ enum {
                                 */
        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,
 };
 
@@ -581,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 */
@@ -605,6 +690,7 @@ enum {
        IFLA_VF_STATS_TX_BYTES,
        IFLA_VF_STATS_BROADCAST,
        IFLA_VF_STATS_MULTICAST,
+       IFLA_VF_STATS_PAD,
        __IFLA_VF_STATS_MAX,
 };
 
@@ -715,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 */