~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/psample.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 #ifndef __UAPI_PSAMPLE_H
  3 #define __UAPI_PSAMPLE_H
  4 
  5 enum {
  6         PSAMPLE_ATTR_IIFINDEX,
  7         PSAMPLE_ATTR_OIFINDEX,
  8         PSAMPLE_ATTR_ORIGSIZE,
  9         PSAMPLE_ATTR_SAMPLE_GROUP,
 10         PSAMPLE_ATTR_GROUP_SEQ,
 11         PSAMPLE_ATTR_SAMPLE_RATE,       /* u32, ratio between observed and
 12                                          * sampled packets or scaled probability
 13                                          * if PSAMPLE_ATTR_SAMPLE_PROBABILITY
 14                                          * is set.
 15                                          */
 16         PSAMPLE_ATTR_DATA,
 17         PSAMPLE_ATTR_GROUP_REFCOUNT,
 18         PSAMPLE_ATTR_TUNNEL,
 19 
 20         PSAMPLE_ATTR_PAD,
 21         PSAMPLE_ATTR_OUT_TC,            /* u16 */
 22         PSAMPLE_ATTR_OUT_TC_OCC,        /* u64, bytes */
 23         PSAMPLE_ATTR_LATENCY,           /* u64, nanoseconds */
 24         PSAMPLE_ATTR_TIMESTAMP,         /* u64, nanoseconds */
 25         PSAMPLE_ATTR_PROTO,             /* u16 */
 26         PSAMPLE_ATTR_USER_COOKIE,       /* binary, user provided data */
 27         PSAMPLE_ATTR_SAMPLE_PROBABILITY,/* no argument, interpret rate in
 28                                          * PSAMPLE_ATTR_SAMPLE_RATE as a
 29                                          * probability scaled 0 - U32_MAX.
 30                                          */
 31 
 32         __PSAMPLE_ATTR_MAX
 33 };
 34 
 35 enum psample_command {
 36         PSAMPLE_CMD_SAMPLE,
 37         PSAMPLE_CMD_GET_GROUP,
 38         PSAMPLE_CMD_NEW_GROUP,
 39         PSAMPLE_CMD_DEL_GROUP,
 40 };
 41 
 42 enum psample_tunnel_key_attr {
 43         PSAMPLE_TUNNEL_KEY_ATTR_ID,                 /* be64 Tunnel ID */
 44         PSAMPLE_TUNNEL_KEY_ATTR_IPV4_SRC,           /* be32 src IP address. */
 45         PSAMPLE_TUNNEL_KEY_ATTR_IPV4_DST,           /* be32 dst IP address. */
 46         PSAMPLE_TUNNEL_KEY_ATTR_TOS,                /* u8 Tunnel IP ToS. */
 47         PSAMPLE_TUNNEL_KEY_ATTR_TTL,                /* u8 Tunnel IP TTL. */
 48         PSAMPLE_TUNNEL_KEY_ATTR_DONT_FRAGMENT,      /* No argument, set DF. */
 49         PSAMPLE_TUNNEL_KEY_ATTR_CSUM,               /* No argument. CSUM packet. */
 50         PSAMPLE_TUNNEL_KEY_ATTR_OAM,                /* No argument. OAM frame.  */
 51         PSAMPLE_TUNNEL_KEY_ATTR_GENEVE_OPTS,        /* Array of Geneve options. */
 52         PSAMPLE_TUNNEL_KEY_ATTR_TP_SRC,             /* be16 src Transport Port. */
 53         PSAMPLE_TUNNEL_KEY_ATTR_TP_DST,             /* be16 dst Transport Port. */
 54         PSAMPLE_TUNNEL_KEY_ATTR_VXLAN_OPTS,         /* Nested VXLAN opts* */
 55         PSAMPLE_TUNNEL_KEY_ATTR_IPV6_SRC,           /* struct in6_addr src IPv6 address. */
 56         PSAMPLE_TUNNEL_KEY_ATTR_IPV6_DST,           /* struct in6_addr dst IPv6 address. */
 57         PSAMPLE_TUNNEL_KEY_ATTR_PAD,
 58         PSAMPLE_TUNNEL_KEY_ATTR_ERSPAN_OPTS,        /* struct erspan_metadata */
 59         PSAMPLE_TUNNEL_KEY_ATTR_IPV4_INFO_BRIDGE,   /* No argument. IPV4_INFO_BRIDGE mode.*/
 60         __PSAMPLE_TUNNEL_KEY_ATTR_MAX
 61 };
 62 
 63 /* Can be overridden at runtime by module option */
 64 #define PSAMPLE_ATTR_MAX (__PSAMPLE_ATTR_MAX - 1)
 65 
 66 #define PSAMPLE_NL_MCGRP_CONFIG_NAME "config"
 67 #define PSAMPLE_NL_MCGRP_SAMPLE_NAME "packets"
 68 #define PSAMPLE_GENL_NAME "psample"
 69 #define PSAMPLE_GENL_VERSION 1
 70 
 71 #endif
 72 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php