背景
一般交换机关闭自动协商,网卡开启自动协商。某些情况下自动协商失败(比如网卡固件和第三方模块的兼容性问题造成协商失败)
配置方式
查看协商情况
mlxlink -d <bdf>
如果自动协商失败,会报错。
其他查看:
mlxlink -d -m -e -c --show_serdes_tx --rx_fec_histogram --show_histogram
ethtool动态关闭autoneg
如果协商失败,假设在PXE阶段,那么系统都无法安装。会带来很多问题。
如果有协同,协商失败,可以通过ethtool的autonegotiation来配置:
# 基本语法
sudo ethtool -s <网卡名> autoneg off speed <速率> duplex <模式>
# 示例:设置为 1000Mbps 全双工,关闭自动协商
sudo ethtool -s eth0 autoneg off speed 1000 duplex full
# 示例:设置为 100Mbps 全双工
sudo ethtool -s eth0 autoneg off speed 100 duplex full
# 示例:设置为 10Mbps 半双工
sudo ethtool -s eth0 autoneg off speed 10 duplex half
比如设置为200G:
ethtool -s speed 200000 duplex full autoneg off
通过mlxconfig配置关闭
(这个配置只能部分影响,无法真正做到)
mlxconfig -d </dev/mst/mstdevice> set PHY_AUTO_NEG_P1=2 PHY_RATE_MASK_OVERRIDE_P1=1
PHY_AUTO_NEG_P1配置开关自动协商
可设置的值:
- 0 默认(根据固件配置)
- 1 开自动协商
- 2 关自动协商
[root@localhost ~]# mlxconfig -d /dev/mst/mt4117_pciconf0 i |grep -i PHY_AUTO_NEG_P1 -A 20
PHY_AUTO_NEG_P1=<AUTO_NEG_DISABLED|AUTO_NEG_ENABLED|DEVICE_DEFAULT>Control link Auto Negotiation operation
0x0: DEVICE_DEFAULT
0x1: AUTO_NEG_ENABLED
0x2: AUTO_NEG_DISABLED other values are reserved.
PHY_RATE_MASK_OVERRIDE_P1和PHY_RATE_MASK_P1
P1表示物理端口1(不是从0开始,第二个端口是P1
PHY_RATE_MASK_OVERRIDE_P1表示可以用户自定义。当设置为true之后可以通过 PHY_RATE_MASK_P1的bitmap来配置默认值。
PHY_RATE_MASK_P1 这个值有些网卡需要先打开PHY_RATE_MASK_OVERRIDE_P1之后mlxfwreset然后再才能看到。
比如设置200G的就是 Bit 12 - 200GAUI-4 / 200GBASE-CR4/KR4
这里长度CR4的4表示4个lanes(200G的话 就是50G的serdes的速率)。这个值要根据网卡serdes来配置。
PHY_RATE_MASK_OVERRIDE_P1=<False|True> When TRUE, the supported link speeds can be customized by PHY_RATE_MASK
PHY_RATE_MASK_P1=<NUM> Enables the supported rates for the link. Each bit represents a rate, set bit indicates the speed may be used, if supported by the device,
Valid when PHY_RATE_MASK_OVERRIDE is TRUE.
Bit 0 - SGMII_100M
Bit 1 - 1000BASE-X / SGMII
Bit 3 - 5GBASE-R
Bit 4 - XFI / XAUI-1 - 10G
Bit 5 - XLAUI-4/XLPPI-4 - 40G
Bit 6 - 25GAUI-1/ 25GBASE-CR / KR
Bit 7 - 50GAUI-2 / LAUI-2/ 50GBASE-CR2/KR2
Bit 8 - 50GAUI-1 /50GBASE-CR / KR
Bit 9 - CAUI-4 / 100GBASE-CR4 / KR4
Bit 10 - 100GAUI-2 / 100GBASE-CR2 / KR2
Bit 11 - 100GAUI-1 / 100GBASE-CR / KR
Bit 12 - 200GAUI-4 / 200GBASE-CR4/KR4
Bit 13 - 200GAUI-2 / 200GBASE-CR2/KR2
Bit 15 - 400GAUI-8/ 400GBASE-CR8
Bit 16 - 400GAUI-4/ 400GBASE-CR4
Bit 19 - 800GAUI-8/ 800GBASE-CR8
Bit 31 - SGMII_10M


被折叠的 条评论
为什么被折叠?



