linux – 为什么我的eth0名为eno16777736?
|
我见过 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/,它描述了一致/可预测设备命名的基本原理,然后是 the rules by which device names are generated: * 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:为什么叫它?这是一张以太网卡,我知道了.但是我怎么能自己回到这个界面的其余部分呢? 我检查了/ 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作为接口名称的VM.所以,目前还不清楚为什么其他时候选择eno16777736.但是16777736来自acpi_index,而33来自PCI插槽. 解决方法用于以太网o对于机上 16777736是固件(BIOS / EFI)提供的设备索引.在1开始索引是合乎逻辑的.要么就是这样,要么你有合理的固件和超过1600万的板载设备!但更有可能的是,你在VMware Community上看到了这个问题(但没有回答) – 似乎这个数字来自于acpi_index可能出现的负溢出. 您可以使用以下命令从udev查看系统的类似信息: udevadm info --name=/dev/eno16777736 --attribute-walk (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
