From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH iproute2] ip: IFLA_NEW_NETNSID/IFLA_NEW_IFINDEX support Date: Thu, 31 May 2018 11:46:15 -0400 Message-ID: <20180531114615.3f10766f@shemminger-XPS-13-9360> References: <20180531142848.377-1-nicolas.dichtel@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: shemminger@vyatta.com, netdev@vger.kernel.org To: Nicolas Dichtel Return-path: Received: from mail-qt0-f194.google.com ([209.85.216.194]:46300 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755459AbeEaPqT (ORCPT ); Thu, 31 May 2018 11:46:19 -0400 Received: by mail-qt0-f194.google.com with SMTP id h5-v6so20385529qtm.13 for ; Thu, 31 May 2018 08:46:19 -0700 (PDT) In-Reply-To: <20180531142848.377-1-nicolas.dichtel@6wind.com> Sender: netdev-owner@vger.kernel.org List-ID: On Thu, 31 May 2018 16:28:48 +0200 Nicolas Dichtel wrote: > Parse and display those attributes. > Example: > ip l a type dummy > ip netns add foo > ip monitor link& > ip l s dummy1 netns foo > Deleted 6: dummy1: mtu 1500 qdisc noop state DOWN group default > link/ether 66:af:3a:3f:a0:89 brd ff:ff:ff:ff:ff:ff new-nsid 0 new-ifindex 6 > > Signed-off-by: Nicolas Dichtel > --- > ip/ipaddress.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/ip/ipaddress.c b/ip/ipaddress.c > index 00da14c6f97c..c7c7e7df4e81 100644 > --- a/ip/ipaddress.c > +++ b/ip/ipaddress.c > @@ -964,6 +964,17 @@ int print_linkinfo(const struct sockaddr_nl *who, > } > } > > + if (tb[IFLA_NEW_NETNSID]) { > + int id = rta_getattr_u32(tb[IFLA_NEW_NETNSID]); > + > + print_int(PRINT_FP, NULL, " new-nsid %d", id); > + } > + if (tb[IFLA_NEW_IFINDEX]) { > + int id = rta_getattr_u32(tb[IFLA_NEW_IFINDEX]); > + > + print_int(PRINT_FP, NULL, " new-ifindex %d", id); > + } > + > if (tb[IFLA_PROTO_DOWN]) { > if (rta_getattr_u8(tb[IFLA_PROTO_DOWN])) > print_bool(PRINT_ANY, This makes sense. All of linkinfo that is present should be displayed. Both netns and ifindex are really unsigned values. Use __u32 and print_uint. Also why not convert numeric values to names?