LINUX.ORG.RU

еще такая фигня интересует. Есть ioctl SIOCGIFCONF. Пример его использования есть в comp.os.linux.development faq: http://kasperd.net/~kasperd/comp.os.linux.development.faq http://groups.google.com/group/comp.os.linux.development.apps/msg/10f14dda86e...

но в этом примере результат этого ioctl'a проходится как массив структур фиксированного размера sizeof(struct ifreq). Но с другой стороны многоуважаемый человек itojun говорит что это неправильно: http://mail-index.netbsd.org/tech-net/2001/05/09/0001.html

Кому верить?

dilmah ★★★★★
() автор топика

допустим я получил этим иоцтлом интерфейсы eth0 и eth0:2. Как я могу связать их, понять что eth0:2 относится к eth0? Кроме двоеточия в имени?

dilmah ★★★★★
() автор топика
Ответ на: комментарий от klalafuda

> посмотреть исходники ifconfig?

по ходу алиасы действительно предполагается различать только по суффиксу :i

одна из фишек в том что /sbin/ip умеет делать такие вещи которые не понимает ifconfig. Например он может посеттить на интерфейс несколько адресов без создания алиасов. И ifconfig их не увидит.

dilmah ★★★★★
() автор топика
Ответ на: комментарий от dilmah

> без создания алиасов

в смысле у них не будет имен

dilmah ★★★★★
() автор топика
Ответ на: комментарий от dilmah

> одна из фишек в том что /sbin/ip умеет делать такие вещи которые не понимает ifconfig. Например он может посеттить на интерфейс несколько адресов без создания алиасов. И ifconfig их не увидит.

тогда, очевидно, следующее оригинальное предложение - посмотреть исходники /sbin/ip ? :)

// wbr

klalafuda ★☆☆
()

SIOCGIFCONF
Returns configuration information for all the interfaces configured on the system.
ioctl(fd, SIOCGIFCONF, (caddr_t)&ifc);
struct ifconf ifc;
The configuration information is returned in a list of ifreq structures pointed to by the ifc.ifc_req field, with one ifreq structure per interface.

# ifconfig lo:1 127.0.0.3
# strace ifconfig 2>&1 | grep PF_INET
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
# strace ifconfig 2>&1 | grep IFCONF
ioctl(4, SIOCGIFCONF, {96, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"lo:1", {AF_INET, inet_addr("127.0.0.3")}}, {"ppp0", {AF_INET, inet_addr("172.16.22.1")}}}}) = 0

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ib...

Chubaka
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.