Subject: network interface state

From: Ulrich Drepper <[email-masked]>
Date: Wed, 14 Nov 2007 12:59:52 -0800

Just FYI, with the current getaddrinfo code it is even more critical to
get to a point where I can cache network interface information and query
the kernel whether it changed.  We now have to read the RTM_GETADDR
tables for every lookup.  It was more limited with the old, incomplete
implementation.

Even if it's something as simple as a RTM_SEQUENCE request which returns
a number that is bumped at every interface change.

Related: I need to know about the device type (the ARPHRD_* values) to
determine whether a device is for a native transport or a tunnel.  What
I currently do is:

- - at the beginning I get information about all interfaces using
RTM_GETADDR

- - them later I have to find the device type by

  + reading the RTM_GETLINK data to get to the device name

  + then using the name and ioctl(SIOCGIFHWADDR) I get the device type

It would be so much nicer if the device type would be part of the
RTM_GETADDR data, or at least the RTM_GETLINK data.

Any help on any of these issues?

- --
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖