From: Matthieu Baerts (NGI0) Date: Sat, 13 Jan 2024 17:10:21 +0000 (+0100) Subject: ss: show extra info when '--processes' is not used X-Git-Tag: v6.8.0~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87d804ca0854b09c07872e9fd6036bf5d3e0cc85;p=thirdparty%2Fiproute2.git 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) Signed-off-by: Stephen Hemminger --- diff --git a/misc/ss.c b/misc/ss.c index 900fefa42..5296cabe9 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -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)