]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ss: print value of IPV6_V6ONLY socket option if set
authorPhil Sutter <phil@nwl.cc>
Wed, 24 Jun 2015 11:07:20 +0000 (13:07 +0200)
committerStephen Hemminger <shemming@brocade.com>
Fri, 26 Jun 2015 04:13:47 +0000 (00:13 -0400)
If available and set, print 'v6only:1' for AF_INET6 sockets upon request
of extended information. For IPv6 sockets bound to in6addr_any, this is
the only way to determine if they will also accept IPv4 requests or not.

Signed-off-by: Phil Sutter <phil@nwl.cc>
misc/ss.c

index d22528de1bfc6196b75d77f2f07e3a255a7ab88a..03f92fa692708a21ea3aa305de18a281b50e5ec1 100644 (file)
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -2045,6 +2045,11 @@ static int inet_show_sock(struct nlmsghdr *nlh, struct filter *f, int protocol)
 
        if (show_details) {
                sock_details_print(&s);
+               if (s.local.family == AF_INET6 && tb[INET_DIAG_SKV6ONLY]) {
+                       unsigned char v6only;
+                       v6only = *(__u8 *)RTA_DATA(tb[INET_DIAG_SKV6ONLY]);
+                       printf(" v6only:%u", v6only);
+               }
                if (tb[INET_DIAG_SHUTDOWN]) {
                        unsigned char mask;
                        mask = *(__u8 *)RTA_DATA(tb[INET_DIAG_SHUTDOWN]);