hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/include/uapi/linux/psample.h
....@@ -3,7 +3,6 @@
33 #define __UAPI_PSAMPLE_H
44
55 enum {
6
- /* sampled packet metadata */
76 PSAMPLE_ATTR_IIFINDEX,
87 PSAMPLE_ATTR_OIFINDEX,
98 PSAMPLE_ATTR_ORIGSIZE,
....@@ -11,9 +10,8 @@
1110 PSAMPLE_ATTR_GROUP_SEQ,
1211 PSAMPLE_ATTR_SAMPLE_RATE,
1312 PSAMPLE_ATTR_DATA,
14
-
15
- /* commands attributes */
1613 PSAMPLE_ATTR_GROUP_REFCOUNT,
14
+ PSAMPLE_ATTR_TUNNEL,
1715
1816 __PSAMPLE_ATTR_MAX
1917 };
....@@ -25,6 +23,27 @@
2523 PSAMPLE_CMD_DEL_GROUP,
2624 };
2725
26
+enum psample_tunnel_key_attr {
27
+ PSAMPLE_TUNNEL_KEY_ATTR_ID, /* be64 Tunnel ID */
28
+ PSAMPLE_TUNNEL_KEY_ATTR_IPV4_SRC, /* be32 src IP address. */
29
+ PSAMPLE_TUNNEL_KEY_ATTR_IPV4_DST, /* be32 dst IP address. */
30
+ PSAMPLE_TUNNEL_KEY_ATTR_TOS, /* u8 Tunnel IP ToS. */
31
+ PSAMPLE_TUNNEL_KEY_ATTR_TTL, /* u8 Tunnel IP TTL. */
32
+ PSAMPLE_TUNNEL_KEY_ATTR_DONT_FRAGMENT, /* No argument, set DF. */
33
+ PSAMPLE_TUNNEL_KEY_ATTR_CSUM, /* No argument. CSUM packet. */
34
+ PSAMPLE_TUNNEL_KEY_ATTR_OAM, /* No argument. OAM frame. */
35
+ PSAMPLE_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */
36
+ PSAMPLE_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */
37
+ PSAMPLE_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */
38
+ PSAMPLE_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested VXLAN opts* */
39
+ PSAMPLE_TUNNEL_KEY_ATTR_IPV6_SRC, /* struct in6_addr src IPv6 address. */
40
+ PSAMPLE_TUNNEL_KEY_ATTR_IPV6_DST, /* struct in6_addr dst IPv6 address. */
41
+ PSAMPLE_TUNNEL_KEY_ATTR_PAD,
42
+ PSAMPLE_TUNNEL_KEY_ATTR_ERSPAN_OPTS, /* struct erspan_metadata */
43
+ PSAMPLE_TUNNEL_KEY_ATTR_IPV4_INFO_BRIDGE, /* No argument. IPV4_INFO_BRIDGE mode.*/
44
+ __PSAMPLE_TUNNEL_KEY_ATTR_MAX
45
+};
46
+
2847 /* Can be overridden at runtime by module option */
2948 #define PSAMPLE_ATTR_MAX (__PSAMPLE_ATTR_MAX - 1)
3049