Commit 5c1b994d authored by Daniel Borkmann's avatar Daniel Borkmann Committed by Martin KaFai Lau
Browse files

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: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
Link: https://lore.kernel.org/r/20231024214904.29825-3-daniel@iogearbox.net


Signed-off-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
parent 35dfaad7
Loading
Loading
Loading
Loading
+141 −0
Original line number Diff line number Diff line
@@ -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 */