summaryrefslogtreecommitdiffstats
path: root/include/net/psample.h
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@nvidia.com>2021-03-14 13:19:31 +0100
committerDavid S. Miller <davem@davemloft.net>2021-03-14 23:00:43 +0100
commit07e1a5809b595df6e125504dff6245cb2c8ed3de (patch)
tree66779269807aa977b8571968248afbb0da6f765f /include/net/psample.h
parentpsample: Encapsulate packet metadata in a struct (diff)
downloadlinux-07e1a5809b595df6e125504dff6245cb2c8ed3de.tar.xz
linux-07e1a5809b595df6e125504dff6245cb2c8ed3de.zip
psample: Add additional metadata attributes
Extend psample to report the following attributes when available: * Output traffic class as a 16-bit value * Output traffic class occupancy in bytes as a 64-bit value * End-to-end latency of the packet in nanoseconds resolution * Software timestamp in nanoseconds resolution (always available) * Packet's protocol. Needed for packet dissection in user space (always available) Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/psample.h')
-rw-r--r--include/net/psample.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/net/psample.h b/include/net/psample.h
index ac6dbfb3870d..e328c5127757 100644
--- a/include/net/psample.h
+++ b/include/net/psample.h
@@ -18,6 +18,13 @@ 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);