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/module.h>
   7#include <linux/list.h>
   8
   9struct psample_group {
  10        struct list_head list;
  11        struct net *net;
  12        u32 group_num;
  13        u32 refcount;
  14        u32 seq;
  15};
  16
  17struct psample_group *psample_group_get(struct net *net, u32 group_num);
  18void psample_group_put(struct psample_group *group);
  19
  20#if IS_ENABLED(CONFIG_PSAMPLE)
  21
  22void psample_sample_packet(struct psample_group *group, struct sk_buff *skb,
  23                           u32 trunc_size, int in_ifindex, int out_ifindex,
  24                           u32 sample_rate);
  25
  26#else
  27
  28static inline void psample_sample_packet(struct psample_group *group,
  29                                         struct sk_buff *skb, u32 trunc_size,
  30                                         int in_ifindex, int out_ifindex,
  31                                         u32 sample_rate)
  32{
  33}
  34
  35#endif
  36
  37#endif /* __NET_PSAMPLE_H */
  38