Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
[linux-2.6-microblaze.git] / include / net / psample.h
index 68ae16b..e328c51 100644 (file)
@@ -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)
 {
 }