diff options
author | Matthieu Baerts (NGI0) <matttbe@kernel.org> | 2024-01-13 18:10:21 +0100 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2024-01-17 09:18:04 -0800 |
commit | 87d804ca0854b09c07872e9fd6036bf5d3e0cc85 (patch) | |
tree | fc9b234d7475dfefa74485716af31c6ff6f5e4ab | |
parent | 84c45b8acb30e75d9452653e763f422ba99e6a50 (diff) | |
download | iproute2-87d804ca0854b09c07872e9fd6036bf5d3e0cc85.tar.gz |
ss: show extra info when '--processes' is not used
A recent modification broke "extra" options for all protocols showing
info about the processes when '-p' / '--processes' option was not used
as well. In other words, all the additional bits displayed at the end or
at the next line were no longer printed if the user didn't ask to show
info about processes as well.
The reason is that, the "current_field" pointer never switched to the
"Ext" column. If the user didn't ask to display the processes, nothing
happened when trying to print extra bits using the "out()" function,
because the current field was still pointing to the "Process" one, now
marked as disabled.
Before the commit mentioned below, it was not an issue not to switch to
the "Ext" or "Process" columns because they were never marked as
"disabled".
Here is a quick list of options that were no longer displayed if '-p' /
'--processes' was not set:
- AF_INET(6):
-o, --options
-e, --extended
--tos
--cgroup
--inet-sockopt
-m, --memory
-i, --info
- AF_PACKET:
-e, --extended
- AF_XDP:
-e, --extended
- AF_UNIX:
-m, --memory
-e, --extended
- TIPC:
--tipcinfo
That was just by quickly reading the code, I probably missed some. But
this shows that the impact can be quite important for all scripts using
'ss' to monitor connections or to report info.
Fixes: 1607bf53 ("ss: prevent "Process" column from being printed unless requested")
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
-rw-r--r-- | misc/ss.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -2427,6 +2427,8 @@ static void proc_ctx_print(struct sockstat *s) free(buf); } } + + field_next(); } static void inet_stats_print(struct sockstat *s, bool v6only) |