diff options
| author | Daniel Borkmann <daniel@iogearbox.net> | 2023-10-24 23:48:59 +0200 | 
|---|---|---|
| committer | Martin KaFai Lau <martin.lau@kernel.org> | 2023-10-24 16:06:43 -0700 | 
| commit | 5c1b994de4be8a27afa3281be2ff58b38e8bc50c (patch) | |
| tree | 6ad7198949de58b509db287e5b7b01e394ed5440 | |
| parent | 35dfaad7188cdc043fde31709c796f5a692ba2bd (diff) | |
tools: Sync if_link uapi header
Sync if_link uapi header to the latest version as we need the refresher
in tooling for netkit device. Given it's been a while since the last sync
and the diff is fairly big, it has been done as its own commit.
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://lore.kernel.org/r/20231024214904.29825-3-daniel@iogearbox.net
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
| -rw-r--r-- | tools/include/uapi/linux/if_link.h | 141 | 
1 files changed, 141 insertions, 0 deletions
| diff --git a/tools/include/uapi/linux/if_link.h b/tools/include/uapi/linux/if_link.h index 39e659c83cfd..a0aa05a28cf2 100644 --- a/tools/include/uapi/linux/if_link.h +++ b/tools/include/uapi/linux/if_link.h @@ -211,6 +211,9 @@ struct rtnl_link_stats {   * @rx_nohandler: Number of packets received on the interface   *   but dropped by the networking stack because the device is   *   not designated to receive packets (e.g. backup link in a bond). + * + * @rx_otherhost_dropped: Number of packets dropped due to mismatch + *   in destination MAC address.   */  struct rtnl_link_stats64 {  	__u64	rx_packets; @@ -243,6 +246,23 @@ struct rtnl_link_stats64 {  	__u64	rx_compressed;  	__u64	tx_compressed;  	__u64	rx_nohandler; + +	__u64	rx_otherhost_dropped; +}; + +/* Subset of link stats useful for in-HW collection. Meaning of the fields is as + * for struct rtnl_link_stats64. + */ +struct rtnl_hw_stats64 { +	__u64	rx_packets; +	__u64	tx_packets; +	__u64	rx_bytes; +	__u64	tx_bytes; +	__u64	rx_errors; +	__u64	tx_errors; +	__u64	rx_dropped; +	__u64	tx_dropped; +	__u64	multicast;  };  /* The struct should be in sync with struct ifmap */ @@ -350,7 +370,13 @@ enum {  	IFLA_GRO_MAX_SIZE,  	IFLA_TSO_MAX_SIZE,  	IFLA_TSO_MAX_SEGS, +	IFLA_ALLMULTI,		/* Allmulti count: > 0 means acts ALLMULTI */ + +	IFLA_DEVLINK_PORT, +	IFLA_GSO_IPV4_MAX_SIZE, +	IFLA_GRO_IPV4_MAX_SIZE, +	IFLA_DPLL_PIN,  	__IFLA_MAX  }; @@ -539,6 +565,12 @@ enum {  	IFLA_BRPORT_MRP_IN_OPEN,  	IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT,  	IFLA_BRPORT_MCAST_EHT_HOSTS_CNT, +	IFLA_BRPORT_LOCKED, +	IFLA_BRPORT_MAB, +	IFLA_BRPORT_MCAST_N_GROUPS, +	IFLA_BRPORT_MCAST_MAX_GROUPS, +	IFLA_BRPORT_NEIGH_VLAN_SUPPRESS, +	IFLA_BRPORT_BACKUP_NHID,  	__IFLA_BRPORT_MAX  };  #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) @@ -716,7 +748,79 @@ enum ipvlan_mode {  #define IPVLAN_F_PRIVATE	0x01  #define IPVLAN_F_VEPA		0x02 +/* Tunnel RTM header */ +struct tunnel_msg { +	__u8 family; +	__u8 flags; +	__u16 reserved2; +	__u32 ifindex; +}; + +/* netkit section */ +enum netkit_action { +	NETKIT_NEXT	= -1, +	NETKIT_PASS	= 0, +	NETKIT_DROP	= 2, +	NETKIT_REDIRECT	= 7, +}; + +enum netkit_mode { +	NETKIT_L2, +	NETKIT_L3, +}; + +enum { +	IFLA_NETKIT_UNSPEC, +	IFLA_NETKIT_PEER_INFO, +	IFLA_NETKIT_PRIMARY, +	IFLA_NETKIT_POLICY, +	IFLA_NETKIT_PEER_POLICY, +	IFLA_NETKIT_MODE, +	__IFLA_NETKIT_MAX, +}; +#define IFLA_NETKIT_MAX	(__IFLA_NETKIT_MAX - 1) +  /* VXLAN section */ + +/* include statistics in the dump */ +#define TUNNEL_MSG_FLAG_STATS	0x01 + +#define TUNNEL_MSG_VALID_USER_FLAGS TUNNEL_MSG_FLAG_STATS + +/* Embedded inside VXLAN_VNIFILTER_ENTRY_STATS */ +enum { +	VNIFILTER_ENTRY_STATS_UNSPEC, +	VNIFILTER_ENTRY_STATS_RX_BYTES, +	VNIFILTER_ENTRY_STATS_RX_PKTS, +	VNIFILTER_ENTRY_STATS_RX_DROPS, +	VNIFILTER_ENTRY_STATS_RX_ERRORS, +	VNIFILTER_ENTRY_STATS_TX_BYTES, +	VNIFILTER_ENTRY_STATS_TX_PKTS, +	VNIFILTER_ENTRY_STATS_TX_DROPS, +	VNIFILTER_ENTRY_STATS_TX_ERRORS, +	VNIFILTER_ENTRY_STATS_PAD, +	__VNIFILTER_ENTRY_STATS_MAX +}; +#define VNIFILTER_ENTRY_STATS_MAX (__VNIFILTER_ENTRY_STATS_MAX - 1) + +enum { +	VXLAN_VNIFILTER_ENTRY_UNSPEC, +	VXLAN_VNIFILTER_ENTRY_START, +	VXLAN_VNIFILTER_ENTRY_END, +	VXLAN_VNIFILTER_ENTRY_GROUP, +	VXLAN_VNIFILTER_ENTRY_GROUP6, +	VXLAN_VNIFILTER_ENTRY_STATS, +	__VXLAN_VNIFILTER_ENTRY_MAX +}; +#define VXLAN_VNIFILTER_ENTRY_MAX	(__VXLAN_VNIFILTER_ENTRY_MAX - 1) + +enum { +	VXLAN_VNIFILTER_UNSPEC, +	VXLAN_VNIFILTER_ENTRY, +	__VXLAN_VNIFILTER_MAX +}; +#define VXLAN_VNIFILTER_MAX	(__VXLAN_VNIFILTER_MAX - 1) +  enum {  	IFLA_VXLAN_UNSPEC,  	IFLA_VXLAN_ID, @@ -748,6 +852,8 @@ enum {  	IFLA_VXLAN_GPE,  	IFLA_VXLAN_TTL_INHERIT,  	IFLA_VXLAN_DF, +	IFLA_VXLAN_VNIFILTER, /* only applicable with COLLECT_METADATA mode */ +	IFLA_VXLAN_LOCALBYPASS,  	__IFLA_VXLAN_MAX  };  #define IFLA_VXLAN_MAX	(__IFLA_VXLAN_MAX - 1) @@ -781,6 +887,7 @@ enum {  	IFLA_GENEVE_LABEL,  	IFLA_GENEVE_TTL_INHERIT,  	IFLA_GENEVE_DF, +	IFLA_GENEVE_INNER_PROTO_INHERIT,  	__IFLA_GENEVE_MAX  };  #define IFLA_GENEVE_MAX	(__IFLA_GENEVE_MAX - 1) @@ -826,6 +933,8 @@ enum {  	IFLA_GTP_FD1,  	IFLA_GTP_PDP_HASHSIZE,  	IFLA_GTP_ROLE, +	IFLA_GTP_CREATE_SOCKETS, +	IFLA_GTP_RESTART_COUNT,  	__IFLA_GTP_MAX,  };  #define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1) @@ -1162,6 +1271,17 @@ enum {  #define IFLA_STATS_FILTER_BIT(ATTR)	(1 << (ATTR - 1)) +enum { +	IFLA_STATS_GETSET_UNSPEC, +	IFLA_STATS_GET_FILTERS, /* Nest of IFLA_STATS_LINK_xxx, each a u32 with +				 * a filter mask for the corresponding group. +				 */ +	IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS, /* 0 or 1 as u8 */ +	__IFLA_STATS_GETSET_MAX, +}; + +#define IFLA_STATS_GETSET_MAX (__IFLA_STATS_GETSET_MAX - 1) +  /* These are embedded into IFLA_STATS_LINK_XSTATS:   * [IFLA_STATS_LINK_XSTATS]   * -> [LINK_XSTATS_TYPE_xxx] @@ -1179,10 +1299,21 @@ enum {  enum {  	IFLA_OFFLOAD_XSTATS_UNSPEC,  	IFLA_OFFLOAD_XSTATS_CPU_HIT, /* struct rtnl_link_stats64 */ +	IFLA_OFFLOAD_XSTATS_HW_S_INFO,	/* HW stats info. A nest */ +	IFLA_OFFLOAD_XSTATS_L3_STATS,	/* struct rtnl_hw_stats64 */  	__IFLA_OFFLOAD_XSTATS_MAX  };  #define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1) +enum { +	IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC, +	IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST,		/* u8 */ +	IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED,		/* u8 */ +	__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX, +}; +#define IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX \ +	(__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX - 1) +  /* XDP section */  #define XDP_FLAGS_UPDATE_IF_NOEXIST	(1U << 0) @@ -1281,4 +1412,14 @@ enum {  #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1) +/* DSA section */ + +enum { +	IFLA_DSA_UNSPEC, +	IFLA_DSA_MASTER, +	__IFLA_DSA_MAX, +}; + +#define IFLA_DSA_MAX	(__IFLA_DSA_MAX - 1) +  #endif /* _UAPI_LINUX_IF_LINK_H */ | 
