iplink: display the value of IFLA_PROMISCUITY
This is useful to know the 'real' status of an interface (the flag IFF_PROMISC
is exported by the kernel only when the user set it explicitly, for example it
will not be exported when a tcpdump is running).
This information will be displayed when '-details' is provided by the user.
Example:
$ ip -d l l tun10
6: tun10: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN mode DEFAULT
link/sit 10.16.0.249 peer 10.16.0.121
sit remote 10.16.0.121 local 10.16.0.249 ttl inherit pmtudisc 6rd-prefix 2002::/16
promiscuity 2
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
diff --git a/ip/ipaddress.c b/ip/ipaddress.c
index 2eb1a0a..e8cab40 100644
--- a/ip/ipaddress.c
+++ b/ip/ipaddress.c
@@ -464,6 +464,10 @@
if (do_link && tb[IFLA_LINKINFO] && show_details)
print_linktype(fp, tb[IFLA_LINKINFO]);
+ if (do_link && tb[IFLA_PROMISCUITY] && show_details)
+ fprintf(fp, "\n promiscuity %u ",
+ *(int*)RTA_DATA(tb[IFLA_PROMISCUITY]));
+
if (do_link && tb[IFLA_IFALIAS])
fprintf(fp,"\n alias %s",
rta_getattr_str(tb[IFLA_IFALIAS]));