更新时间:2024-06-14
【触发问题场景】
• 非网口自适应平台刷系统;
• 设备做过网口定制;
• 更换&添加网卡;
• 网口位置做过变动。
【解决方案】
AC/SG网口乱序
①确认网口物理接口贴膜顺序与实际顺序的对应关系,一般可以物理网口插线,看控制台对应哪个口亮来确认,例下
物理接口
|
ETH0
|
ETH1
|
ETH2
|
ETH3
|
ETH4
|
ETH5
|
控制台显示
|
ETH5
|
ETH4
|
ETH3
|
ETH2
|
ETH1
|
ETH0
|
②进入设备后台找到并编辑网口交换文件
版本:6.0 网口交换文件位置:/etc/sinfor/rc2swapnic.sh
版本:11.x以上 网口交换文件位置: /etc/udev/rules.d/70-persistent-net.rules
③vi /etc/sinfor/rc2swapnic.sh或vi /etc/udev/rules.d/70-persistent-net.rules
④键盘敲I进入编辑模式,将每条命令后方的NAME=“ETHX”改为①步骤所测出相对应的物理接口顺序,如图
⑤输入:wq保存,reboot重启,再验证一次顺序即可。
AF网口乱序
• 老架构调序方法(AF8.0.48版本以下)
方法一:
①进入设备后台编辑网口交换文件vi /etc/rc2.d/S09swapnic 在第二行加exit 0,保存退出,重启设备,目的是为了在没有交换网口的前提下进行测试对应关系(部分设备做完这一步重启后就可以恢复正常顺序)
②确认网口物理接口贴膜顺序与实际顺序的对应关系,一般可以物理网口插线,看控制台对应哪个口亮来确认,例下
贴膜
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
实际
|
0
|
9
|
10
|
11
|
12
|
13
|
5
|
6
|
7
|
8
|
1
|
2
|
3
|
4
|
③在刚刚第二行增加exit 0 前,增加ethseq.sh"原始网口顺序""目标网口顺序" ,重启设备。
原始网口顺序就是面板上物理接口的顺序0 1 2 3 4 5 6 7 8 9 10 11 12 13目标网口顺序就是物理接口实际对应的顺序0 9 10 11 12 13 5 6 7 8 1 2 3 4,则输入命令
ethseq.sh"0 1 2 3 4 5 6 7 8 9 10 11 12 13""0 9 10 11 12 13 5 6 7 8 1 2 3 4"
④输入:wq保存,reboot重启,再验证一次顺序即可。
方法二:
①使用/usr/sbin/swapnic.sh ethx ethx命令交换对应关系的两个网口位置
②测出网口顺序,在/etc/rc2.d/S09swapnic第二行增加exit 0 前加入交换命令,如下图所示
③:wq保存退出,reboot重启,如顺序部分未恢复,原位置下方继续添加即可。
• 新架构调序方法(AF8.0.59以上)
①首先测试当前面板网口顺序与实际顺序的对应关系
(图中可以看出,1-12口是正常的,只有中间8个网口顺序是乱序的)
②进入设备后台,输入命令,找到设备的对应型号
hal_param -m
hal_family -m
③输入命令,找到pci总线对应的网卡类型(根据总线位置可以判断,存在12个电口,10个万兆光口,2个40G口,其中I210网口是单独的管理,因为这个PCI总线地址是单独的)
④获取当前的网口读取顺序(由此图结合上述硬件网口面板可知,前面1-12口顺序正常,13-20的顺序是反的,且igb电口必须是9-16,光口是17-20)
⑤修改网口配置文件,进入对应型号的PCI网口目录下(不同型号,对应的目录是不一样的),调整
(1)先使用“hal_family -m”命令确认PCI网卡归属目录
(2)前缀目录加归属目录是当前型号的PCI网口目录
“/sfos/system/share/hal/”+“sxf/tina/602_2_2/pci_interface.conf”
例子:
/sfos/system/share/hal/lihua/c610/af-2000-k448/pci_interface.conf
⑥将pci_interface.conf下原有的网口顺序文件删除,新增现在的网口顺序文件,比如eth0 对应的pci 是 0000:0c:00.0 ,就可以把这个pci地址写到pci_inrerface.conf 文件第一行,其中 0000:0c:00.0 可以写成 0000:0c:00/1,如果有多个地址顺序排列,如:0000:0c:00.0 0000:0c:00.1 0000:0c:00.2 0000:0c:00.3 , 可以简写成 0000:0c:00/4,如下图
⑦调整完后,保存配置文件,执行命令进行重新加载网卡
systemctl stop sfos_app&&nic_init.py&&systemctl start sfos_app
⑧验证网口顺序没问题后,修改版本号,加上网口定制标签
vi /sfos/system/sysinfo/appversion
添加这两行
custom-build support information
KB_AF_interface-order_20220512
⑨重启设备最后验证一次顺序即可