Я видел http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ , который описывает обоснование согласованного / предсказуемого именования устройств, а затем правила, по которым генерируются имена устройств :
* Two character prefixes based on the type of interface:
* en -- ethernet
* sl -- serial line IP (slip)
* wl -- wlan
* ww -- wwan
*
* Type of names:
* b<number> -- BCMA bus core number
* ccw<name> -- CCW bus group name
* o<index> -- on-board device index number
* s<slot>[f<function>][d<dev_port>] -- hotplug slot index number
* x<MAC> -- MAC address
* [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]
* -- PCI geographical location
* [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]
* -- USB port number chain
Допустим, у меня есть устройство eno16777736
: почему оно так называется? Это карта Ethernet, я понял. Но как мне вернуться к названию этого интерфейса?
Я осмотрел /sys/class/net/eno16777736
и увидел:
eno16777736 -> ../../devices/pci0000:00/0000:00:11.0/0000:02:01.0/net/eno16777736
Не уверен, как это интерпретировать, или я могу использовать эту информацию, чтобы добраться до eno16777736
.
Обновить
Таким образом, 16777736
это устройство acpi_index
. По https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci :
What: /sys/bus/pci/devices/.../acpi_index
Date: July 2010
Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
Description:
Reading this attribute will provide the firmware
given instance (ACPI _DSM instance number) of the PCI device.
The attribute will be created only if the firmware has given
an instance number to the PCI device. ACPI _DSM instance number
will be given priority if the system firmware provides SMBIOS
type 41 device type instance also.
И действительно:
core@localhost /sys/devices/pci0000:00/0000:00:11.0/0000:02:01.0 $ find . -type f | xargs grep 1677 2> /dev/null
./net/eno16777736/uevent:INTERFACE=eno16777736
./acpi_index:16777736
Кроме того, чтобы согласовать вывод от ifconfig
или ip link
и ваших устройств в lspci
:
$ ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.37 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe70:c039 prefixlen 64 scopeid 0x20<link>
inet6 2601:a:7c0:66:20c:29ff:fe70:c039 prefixlen 64 scopeid 0x0<global>
ether 00:0c:29:70:c0:39 txqueuelen 1000 (Ethernet)
RX packets 326 bytes 37358 (36.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 172 bytes 45999 (44.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
Обратите внимание на «прерывание устройства 19». И из того lspci -v
, что имеет "IRQ 19":
02:01.0 Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)
Subsystem: Advanced Micro Devices, Inc. [AMD] PCnet - Fast 79C971
Physical Slot: 33
Flags: bus master, medium devsel, latency 64, IRQ 19
I/O ports at 2000 [size=128]
[virtual] Expansion ROM at fd500000 [disabled] [size=64K]
Kernel driver in use: pcnet32
Здесь вы также видите «Phyiscal Slot 33», и действительно, иногда VMWare загружает виртуальные машины, которые получают в ens33
качестве имени интерфейса. Итак, неясно, почему в других случаях он выбирает eno16777736. Но 16777736 происходит от acpi_index
, а 33 - от слота PCI.
источник
Ответы:
en
для Etherneto
для бортового16777736
это индекс устройства в соответствии с прошивкой (BIOS / EFI). Было бы логично начать индекс с1
. Либо так, либо у вас разумная прошивка и более 16 миллионов встроенных устройств! Но, скорее всего, вы видите проблему, поднятую (но не получившую ответа) в сообществе VMware - кажется, что это число связано с возможным отрицательным переполнениемacpi_index
.Вы можете просмотреть аналогичную информацию
udev
для вашей системы с:источник
Используете VMware?
У сайта Unix Stackexchange был вопрос и ответ по этому поводу. Похоже, что информация о NIC предоставляется BIOS.
Если вы хотите изменить его на
eth0
(или другое имя), вы можете использовать udev для этого. Вот удобное руководство для этого.источник
ens33
тоже, например, использовал VMWare. Очень хочу знать, как он выбирает эти ценности и как я могу вернуться к ним сам.