Message ID | 1360052881-17935-1-git-send-email-nicolas.dichtel@6wind.com |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
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 @@ 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]));
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> --- v2: because IFLA_PROMISCUITY is read only, display it only when '-details' is provided (and even if the value is zero) ip/ipaddress.c | 4 ++++ 1 file changed, 4 insertions(+)