为什么 ethtool 没有显示 NIC 的所有属性?

为什么 ethtool 没有显示 NIC 的所有属性?

CentOS 5.8 | VMWare ESX 5.1

当我运行时,ethtool eth0我看到以下内容:

[root@foo ~]# ethtool eth0
Settings for eth0:
         Current message level: 0x00000007 (7)
         Link detected: yes

有没有办法获取其余的详细信息?特别是速度和双工?我习惯于更详细的 ethtool 输出。例如:

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link detected: yes

我想知道这是否与在 VMWare 平台上运行有关?ESX 中的当前适配器类型为“灵活”,并且服务器上未安装 VMWare 工具。

答案1

我猜想它不会报告任何 PHY 设置,因为使用半虚拟驱动程序时,没有链接模式、没有自动协商、没有固定速度、没有端口或电缆类型、没有收发器等。

答案2

“ethtool” 报告的内容主要取决于网络设备驱动程序可以提供的内容。您的虚拟机可能模拟了一个非常原始的网络适配器,并且没有太多可用数据。

另一方面,在虚拟机中,链路速度或双工模式通常毫无意义,因为网络接口通常只是到主机系统的虚拟链路,没有实际的物理以太网层。速度最高可达 CPU 和内存可以处理的速度(或最低,取决于配置的连接速率限制),不存在布线类型,因为没有电缆等。此虚拟接口由主机系统桥接或路由到实际物理网络,并且只有在主机系统上才能获取物理端口参数。

只有在极少数情况下,虚拟域才可以直接访问网络接口硬件 - 然后您将获得此硬件驱动程序提供的所有功能。我怀疑情况并非如此。

答案3

我遇到了类似的问题。我没有为 eth0 分配任何 IP,因此它没有显示任何设置。因此,首先为您的以太网端口分配任何 IP。

ifconfig eth0 192.168.1.10

此后,所有设置均可见。

编辑:

这个问题的主要原因是端口关闭。所以如果你这样做。

ifconfig eth0 up

然后您还可以看到所有设置。

答案4

virtio-net 接口没有“设定速度”。它是网络接口的软件实现,它能获得最快的速度,并且该速度将根据当时虚拟化主机上的网络/CPU/内存负载以及流量而变化。您可以参考https://access.redhat.com/solutions/145833

相关内容