root/include/net/tc_act/tc_sample.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. is_tcf_sample
  2. tcf_sample_rate
  3. tcf_sample_truncate
  4. tcf_sample_trunc_size

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __NET_TC_SAMPLE_H
   3 #define __NET_TC_SAMPLE_H
   4 
   5 #include <net/act_api.h>
   6 #include <linux/tc_act/tc_sample.h>
   7 #include <net/psample.h>
   8 
   9 struct tcf_sample {
  10         struct tc_action common;
  11         u32 rate;
  12         bool truncate;
  13         u32 trunc_size;
  14         struct psample_group __rcu *psample_group;
  15         u32 psample_group_num;
  16         struct list_head tcfm_list;
  17 };
  18 #define to_sample(a) ((struct tcf_sample *)a)
  19 
  20 static inline bool is_tcf_sample(const struct tc_action *a)
  21 {
  22 #ifdef CONFIG_NET_CLS_ACT
  23         return a->ops && a->ops->id == TCA_ID_SAMPLE;
  24 #else
  25         return false;
  26 #endif
  27 }
  28 
  29 static inline __u32 tcf_sample_rate(const struct tc_action *a)
  30 {
  31         return to_sample(a)->rate;
  32 }
  33 
  34 static inline bool tcf_sample_truncate(const struct tc_action *a)
  35 {
  36         return to_sample(a)->truncate;
  37 }
  38 
  39 static inline int tcf_sample_trunc_size(const struct tc_action *a)
  40 {
  41         return to_sample(a)->trunc_size;
  42 }
  43 
  44 #endif /* __NET_TC_SAMPLE_H */

/* [<][>][^][v][top][bottom][index][help] */