diff options
Diffstat (limited to 'include/net/psample.h')
| -rw-r--r-- | include/net/psample.h | 21 | 
1 files changed, 16 insertions, 5 deletions
diff --git a/include/net/psample.h b/include/net/psample.h index 68ae16bb0a4a..e328c5127757 100644 --- a/include/net/psample.h +++ b/include/net/psample.h @@ -14,6 +14,19 @@ struct psample_group {  	struct rcu_head rcu;  }; +struct psample_metadata { +	u32 trunc_size; +	int in_ifindex; +	int out_ifindex; +	u16 out_tc; +	u64 out_tc_occ;	/* bytes */ +	u64 latency;	/* nanoseconds */ +	u8 out_tc_valid:1, +	   out_tc_occ_valid:1, +	   latency_valid:1, +	   unused:5; +}; +  struct psample_group *psample_group_get(struct net *net, u32 group_num);  void psample_group_take(struct psample_group *group);  void psample_group_put(struct psample_group *group); @@ -21,15 +34,13 @@ void psample_group_put(struct psample_group *group);  #if IS_ENABLED(CONFIG_PSAMPLE)  void psample_sample_packet(struct psample_group *group, struct sk_buff *skb, -			   u32 trunc_size, int in_ifindex, int out_ifindex, -			   u32 sample_rate); +			   u32 sample_rate, const struct psample_metadata *md);  #else  static inline void psample_sample_packet(struct psample_group *group, -					 struct sk_buff *skb, u32 trunc_size, -					 int in_ifindex, int out_ifindex, -					 u32 sample_rate) +					 struct sk_buff *skb, u32 sample_rate, +					 const struct psample_metadata *md)  {  }  |