diff options
author | Ido Schimmel <idosch@nvidia.com> | 2021-03-14 13:19:31 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-03-14 23:00:43 +0100 |
commit | 07e1a5809b595df6e125504dff6245cb2c8ed3de (patch) | |
tree | 66779269807aa977b8571968248afbb0da6f765f /include/net/psample.h | |
parent | psample: Encapsulate packet metadata in a struct (diff) | |
download | linux-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.h | 7 |
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); |