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>
This commit is contained in:
Nicolas Dichtel 2013-02-05 00:38:34 -08:00 committed by Stephen Hemminger
parent e72ca3fbb0
commit ede6a3eaf5

View File

@ -464,6 +464,10 @@ int print_linkinfo(const struct sockaddr_nl *who,
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]));