[PATCH RFC v2 6/6] tools: ynl: ethtool.py: Output timestamping statistics from tsinfo-get operation

From: Rahul Rameshbabu
Date: Sat Mar 09 2024 - 03:46:40 EST


Print the nested stats attribute containing timestamping statistics when
the --show-time-stamping flag is used.

[root@binary-eater-vm-01 linux-ethtool-ts]# ./tools/net/ynl/ethtool.py --show-time-stamping mlx5_1
Time stamping parameters for mlx5_1:
Capabilities:
hardware-transmit
hardware-receive
hardware-raw-clock
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
off
on
Hardware Receive Filter Modes:
none
all
Statistics:
tx-pkts: 8
tx-lost: 0
tx-err: 0

Signed-off-by: Rahul Rameshbabu <rrameshbabu@xxxxxxxxxx>
---
tools/net/ynl/ethtool.py | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/net/ynl/ethtool.py b/tools/net/ynl/ethtool.py
index 44ba3ba58ed9..193399e7fbd1 100755
--- a/tools/net/ynl/ethtool.py
+++ b/tools/net/ynl/ethtool.py
@@ -324,7 +324,13 @@ def main():
return

if args.show_time_stamping:
- tsinfo = dumpit(ynl, args, 'tsinfo-get')
+ req = {
+ 'header': {
+ 'flags': 1 << 2,
+ },
+ }
+
+ tsinfo = dumpit(ynl, args, 'tsinfo-get', req)

print(f'Time stamping parameters for {args.device}:')

@@ -338,6 +344,9 @@ def main():

print('Hardware Receive Filter Modes:')
[print(f'\t{v}') for v in bits_to_dict(tsinfo['rx-filters'])]
+
+ print('Statistics:')
+ [print(f'\t{k}: {v}') for k, v in tsinfo['stats'].items()]
return

print(f'Settings for {args.device}:')
--
2.42.0