forked from openvswitch/ovs
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
compat: Add psample and tc sample action defines for older kernels
Update kernel UAPI to support psample and the tc sample action. Signed-off-by: Chris Mi <cmi@nvidia.com> Reviewed-by: Eli Britstein <elibr@nvidia.com> Signed-off-by: 0-day Robot <robot@bytheb.org>
- Loading branch information
Showing
3 changed files
with
86 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
#ifndef __UAPI_PSAMPLE_H | ||
#define __UAPI_PSAMPLE_H | ||
|
||
enum { | ||
/* sampled packet metadata */ | ||
PSAMPLE_ATTR_IIFINDEX, | ||
PSAMPLE_ATTR_OIFINDEX, | ||
PSAMPLE_ATTR_ORIGSIZE, | ||
PSAMPLE_ATTR_SAMPLE_GROUP, | ||
PSAMPLE_ATTR_GROUP_SEQ, | ||
PSAMPLE_ATTR_SAMPLE_RATE, | ||
PSAMPLE_ATTR_DATA, | ||
PSAMPLE_ATTR_TUNNEL, | ||
|
||
/* commands attributes */ | ||
PSAMPLE_ATTR_GROUP_REFCOUNT, | ||
|
||
__PSAMPLE_ATTR_MAX | ||
}; | ||
|
||
enum psample_command { | ||
PSAMPLE_CMD_SAMPLE, | ||
PSAMPLE_CMD_GET_GROUP, | ||
PSAMPLE_CMD_NEW_GROUP, | ||
PSAMPLE_CMD_DEL_GROUP, | ||
}; | ||
|
||
enum psample_tunnel_key_attr { | ||
PSAMPLE_TUNNEL_KEY_ATTR_ID, /* be64 Tunnel ID */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_IPV4_SRC, /* be32 src IP address. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_IPV4_DST, /* be32 dst IP address. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_TOS, /* u8 Tunnel IP ToS. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_TTL, /* u8 Tunnel IP TTL. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_DONT_FRAGMENT, /* No argument, set DF. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_CSUM, /* No argument. CSUM packet. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_OAM, /* No argument. OAM frame. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested VXLAN opts* */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_IPV6_SRC, /* struct in6_addr src IPv6 address. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_IPV6_DST, /* struct in6_addr dst IPv6 address. */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_PAD, | ||
PSAMPLE_TUNNEL_KEY_ATTR_ERSPAN_OPTS, /* struct erspan_metadata */ | ||
PSAMPLE_TUNNEL_KEY_ATTR_IPV4_INFO_BRIDGE, /* No argument. IPV4_INFO_BRIDGE mode.*/ | ||
__PSAMPLE_TUNNEL_KEY_ATTR_MAX | ||
}; | ||
|
||
/* Can be overridden at runtime by module option */ | ||
#define PSAMPLE_ATTR_MAX (__PSAMPLE_ATTR_MAX - 1) | ||
|
||
#define PSAMPLE_NL_MCGRP_CONFIG_NAME "config" | ||
#define PSAMPLE_NL_MCGRP_SAMPLE_NAME "packets" | ||
#define PSAMPLE_GENL_NAME "psample" | ||
#define PSAMPLE_GENL_VERSION 1 | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
#ifndef __LINUX_TC_SAMPLE_H | ||
#define __LINUX_TC_SAMPLE_H | ||
|
||
#include <linux/types.h> | ||
#include <linux/pkt_cls.h> | ||
#include <linux/if_ether.h> | ||
|
||
struct tc_sample { | ||
tc_gen; | ||
}; | ||
|
||
enum { | ||
TCA_SAMPLE_UNSPEC, | ||
TCA_SAMPLE_TM, | ||
TCA_SAMPLE_PARMS, | ||
TCA_SAMPLE_RATE, | ||
TCA_SAMPLE_TRUNC_SIZE, | ||
TCA_SAMPLE_PSAMPLE_GROUP, | ||
TCA_SAMPLE_PAD, | ||
__TCA_SAMPLE_MAX | ||
}; | ||
#define TCA_SAMPLE_MAX (__TCA_SAMPLE_MAX - 1) | ||
|
||
#endif |