Message ID | 1436964642-35194-1-git-send-email-nikolay@cumulusnetworks.com |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
On Wed, 15 Jul 2015 05:50:42 -0700 Nikolay Aleksandrov <nikolay@cumulusnetworks.com> wrote: > 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@beyondsemi.com> > Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> > --- > note: use 0 instead of IPPROTO_RAW like Eric suggested > > misc/ss.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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);
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@beyondsemi.com> Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> --- note: use 0 instead of IPPROTO_RAW like Eric suggested misc/ss.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)