LINUX.ORG.RU

struct net_device - объясните


0

0

в файле /include/linux/netdevice.h
определена структура struct net_device{...}

/* Interface index. Unique device identifier */
int ifindex;
int iflink;

Что из них односзначно определяет сетевой интерфейс?
Зачем два?

anonymous

попробуй так:

cd net find | xargs grep -n iflink

выдаст с десяток файлов, заметнее всего в core/dev.c, функция register_netdevice.. там по сути dev->iflink = dev->ifindex

а теперь find | xargs grep -n ifindex

даёт мноого файлов, значит скорее всего iflink - для какого-то узкого случая. и комментарий в netdevice.h стоит в первую очередь над ifindex

..мне довелось узнать, что такое iflink, и даже ifindex - просто мысли по теме

erDiZz
()

ifindex определяет девайс однозначно, инициализируется
в register_netdevice().

iflink определяется в net_device->init(), то есть самим
драйвером, по умолчанию = ifindex.

зачем это поле нужно - я не знаю. кажется, используется
для туннелей.

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