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        struct rcu_head rcu;
  15};
  16
  17struct psample_group *psample_group_get(struct net *net, u32 group_num);
  18void psample_group_take(struct psample_group *group);
  19void psample_group_put(struct psample_group *group);
  20
  21#if IS_ENABLED(CONFIG_PSAMPLE)
  22
  23void psample_sample_packet(struct psample_group *group, struct sk_buff *skb,
  24                           u32 trunc_size, int in_ifindex, int out_ifindex,
  25                           u32 sample_rate);
  26
  27#else
  28
  29static inline void psample_sample_packet(struct psample_group *group,
  30                                         struct sk_buff *skb, u32 trunc_size,
  31                                         int in_ifindex, int out_ifindex,
  32                                         u32 sample_rate)
  33{
  34}
  35
  36#endif
  37
  38#endif /* __NET_PSAMPLE_H */
  39