[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20130801121636.GA21970@zirkel.wertarbyte.de>
Date: Thu, 1 Aug 2013 14:16:36 +0200
From: Stefan Tomanek <stefan.tomanek@...tarbyte.de>
To: netdev@...r.kernel.org
Subject: [PATCH] ip link: fix display and filtering of ifgroups
This change adds the interface group to the output of "ip link show".
It also makes "ip link" print _all_ devices if no group filter is specified;
previously, only interfaces of the default group (0) were shown.
Signed-off-by: Stefan Tomanek <stefan.tomanek@...tarbyte.de>
---
ip/ipaddress.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/ip/ipaddress.c b/ip/ipaddress.c
index 013b4cb..cf4015a 100644
--- a/ip/ipaddress.c
+++ b/ip/ipaddress.c
@@ -418,7 +418,7 @@ int print_linkinfo(const struct sockaddr_nl *who,
if (tb[IFLA_GROUP]) {
int group = *(int*)RTA_DATA(tb[IFLA_GROUP]);
- if (group != filter.group)
+ if (filter.group != -1 && group != filter.group)
return -1;
}
@@ -458,6 +458,11 @@ int print_linkinfo(const struct sockaddr_nl *who,
if (do_link && tb[IFLA_LINKMODE])
print_linkmode(fp, tb[IFLA_LINKMODE]);
+ if (tb[IFLA_GROUP]) {
+ int group = *(int*)RTA_DATA(tb[IFLA_GROUP]);
+ fprintf(fp, "group %d ", group);
+ }
+
if (filter.showqueue)
print_queuelen(fp, tb);
@@ -1050,7 +1055,7 @@ static int ipaddr_list_flush_or_save(int argc, char **argv, int action)
if (filter.family == AF_UNSPEC)
filter.family = preferred_family;
- filter.group = INIT_NETDEV_GROUP;
+ filter.group = -1;
if (action == IPADD_FLUSH) {
if (argc <= 0) {
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists