linux/include/net/psample.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __NET_PSAMPLE_H
   3#define __NET_PSAMPLE_H
   4
   5#include <uapi/linux/psample.h>
   6#include <linux/list.h>
   7
   8struct psample_group {
   9        struct list_head list;
  10        struct net *net;
  11        u32 group_num;
  12        u32 refcount;
  13        u32 seq;
  14};
  15
  16struct psample_group *psample_group_get(struct net *net, u32 group_num);
  17void psample_group_put(struct psample_group *group);
  18
  19#if IS_ENABLED(CONFIG_PSAMPLE)
  20
  21void psample_sample_packet(struct psample_group *group, struct sk_buff *skb,
  22                           u32 trunc_size, int in_ifindex, int out_ifindex,
  23                           u32 sample_rate);
  24
  25#else
  26
  27static inline void psample_sample_packet(struct psample_group *group,
  28                                         struct sk_buff *skb, u32 trunc_size,
  29                                         int in_ifindex, int out_ifindex,
  30                                         u32 sample_rate)
  31{
  32}
  33
  34#endif
  35
  36#endif /* __NET_PSAMPLE_H */
  37