On 02/17/2015 09:23 AM, Stephen Hemminger wrote: > On Mon, 16 Feb 2015 18:07:12 -0600 > Matthew Thode 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