Subject: Re: getting a list of naked interface names from iproute2

From: Matthew Thode <[email-masked]>
Date: Tue, 17 Feb 2015 22:45:06 -0600

On 02/17/2015 09:23 AM, Stephen Hemminger wrote:
> On Mon, 16 Feb 2015 18:07:12 -0600
> Matthew Thode <[email-masked]> wrote:
> 
>> iproute2 seems to like to add @ and : info to it's output.  This makes
>> parsing it hard for things like neutron (openstack).  I have a patch to
>> slightly update it (still missing some things, I'll link it at the end
>> if interested).  Is there a better way of getting interface names from
>> iproute2 without having to strip out at characters like '@' and ':'?
>>
>> changeset in neutron: https://review.openstack.org/#/c/154128/
>> link to current code:
>> https://github.com/openstack/neutron/blob/master/neutron/agent/linux/ip_lib.py#L110-L131
>>
>> I'd appreciate your help, I'd rather not have to go through each link
>> type to pull it's delimiter, but if needed I guess it's needed.
>>
> 
> Stop screenscraping, and use a real API.
> All of the above would work better:
>   1. Libc if_nameindex
>   2. Legacy ioctl(SIOCGIFCONF)
>   3. Netlink  NLMMSG_REQ (RTM_GETLINK)
>   4. Sysfs /sys/class/net
> 
Do you happen to know a way to request it for a specific namespace?
going over the links in /sys/class/net only gets you the current
namespace (was the easiest method to do in python2.7).

-- 
Matthew Thode