[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1436964642-35194-1-git-send-email-nikolay@cumulusnetworks.com>
Date: Wed, 15 Jul 2015 05:50:42 -0700
From: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
To: netdev@...r.kernel.org
Cc: eric.dumazet@...il.com, miham@...ondsemi.com, vadim4j@...il.com,
davem@...emloft.net, stephen@...workplumber.org,
Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Subject: [PATCH iproute2] ss: fix display of raw sockets
After commit 8250bc9ff4e5 ("ss: Unify inet sockets output") raw sockets
are displayed as udp because dgram_show_line() is used for both and
thus IPPROTO_UDP is used for both so proto_name() returns "udp".
Fix this by checking dg_proto which is set according to the caller of
dgram_show_line().
Reported-by: Miha Marolt <miham@...ondsemi.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
---
note: use 0 instead of IPPROTO_RAW like Eric suggested
misc/ss.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/misc/ss.c b/misc/ss.c
index 03f92fa69270..6abd1d1206b3 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -1552,6 +1552,8 @@ out:
static char *proto_name(int protocol)
{
switch (protocol) {
+ case 0:
+ return "raw";
case IPPROTO_UDP:
return "udp";
case IPPROTO_TCP:
@@ -2416,7 +2418,7 @@ static int dgram_show_line(char *line, const struct filter *f, int family)
if (n < 9)
opt[0] = 0;
- inet_stats_print(&s, IPPROTO_UDP);
+ inet_stats_print(&s, dg_proto == UDP_PROTO ? IPPROTO_UDP : 0);
if (show_details && opt[0])
printf(" opt:\"%s\"", opt);
--
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists