ip link и ip addr выходной смысл

15

Я ищу объяснение, что именно вывод команд ip linkи что ip addrозначает на коробке Linux.

# ip link
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:a1:ba:51:4c:11 brd ff:ff:ff:ff:ff:ff
4: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000
link/ether 00:a1:ba:51:4c:12 brd ff:ff:ff:ff:ff:ff

Что именно LOWER_UP, NO-CARRIERи другие флаги? Я нашел ссылку на http://download.vikis.lt/doc/iproute-doc-2.6.32/ip-cref.ps, но она не содержит полную информацию, а справочные страницы недостаточно подробны.

Забой Кампула
источник
Похоже, swlx01.hs-esslingen.de не работает, поэтому ссылка не доступна :-(
Аттила Чипак
1
Неработающая ссылка обновляется. Тем не менее, справочная страница, на которую есть ссылка в ответе, является лучшим источником информации.
Забой Кампула

Ответы:

19

Это флаги интерфейса. Они задокументированы на netdevice(7)странице руководства . Ниже приведена соответствующая часть (в алфавитном порядке):

IFF_ALLMULTI      Receive all multicast packets.
IFF_AUTOMEDIA     Auto media selection active.
IFF_BROADCAST     Valid broadcast address set.
IFF_DEBUG         Internal debugging flag.
IFF_DORMANT       Driver signals dormant (since Linux 2.6.17)
IFF_DYNAMIC       The addresses are lost when the interface goes down.
IFF_ECHO          Echo sent packets (since Linux 2.6.25)
IFF_LOOPBACK      Interface is a loopback interface.
IFF_LOWER_UP      Driver signals L1 up (since Linux 2.6.17)
IFF_MASTER        Master of a load balancing bundle.
IFF_MULTICAST     Supports multicast
IFF_NOARP         No arp protocol, L2 destination address not set.
IFF_NOTRAILERS    Avoid use of trailers.
IFF_POINTOPOINT   Interface is a point-to-point link.
IFF_PORTSEL       Is able to select media type via ifmap.
IFF_PROMISC       Interface is in promiscuous mode. 
IFF_RUNNING       Resources allocated.
IFF_SLAVE         Slave of a load balancing bundle.
IFF_UP            Interface is running.

Таким образом, LOWER_UPозначает, что есть сигнал на физическом уровне (то есть что-то активное подключено к сетевому интерфейсу). NO-CARRIER, полная противоположность: на физическом уровне сигнал не обнаружен.

xhienne
источник
2
Интересно , как NO-CARRIERэто не документированы в netdevice(7)...
Питер В. Мерк
3
Это потому, что NO-CARRIERэто не фактический флаг, который вы можете получить или установить. Это определяется как комбинация IFF_UP and not IFF_RUNNING.
Ксиэнн