pfSense下的Chelsio T580:怎么把一个QSFP+端口配成4x10G以接分支线缆
我在一台装了Chelsio T580的小机器上跑pfSense,想让其中一个QSFP+端口给四台10G主机供电,而不是接一条单独的40G链路。分支线缆还在路上,所以我想在它到货之前先把网卡调到正确的模式。
- pfSense机器,Chelsio T580,一个QSFP+端口现在接着一根40G DAC,第二个笼子是空的
- cxgbe驱动,shell里能用cxgbetool
- QSFP+转4xSFP+分支DAC,型号OCTTAPCABLE3M(备选方案是一根OCTCABLE5M-SR AOC)
- 对端是10G主机,普通SFP+笼子
现在网卡只显示两个40G接口:
cxgbe0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9000
media: Ethernet 40Gbase-CR4 <full-duplex>
cxgbe1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
media: Ethernet autoselect
status: no carrier
我已经做过的事:
- 翻遍了cxgbetool的各个子命令,找看起来像端口模式设置的东西,什么都没找到
- 找过能拆分端口的cxgbe loader tunable,也没找到
- 看了足够多资料,基本确定光靠线缆本身是做不到的,网卡得先切到4x10G模式
所以这个40G/4x10G的切换,FreeBSD驱动到底能不能做,还是说这其实是网卡自身配置里的东西?如果是配置层面的,在一台基于FreeBSD的机器上,官方支持的修改方式是什么?
Comments 5
简单说:驱动做不到。端口布局来自加载进网卡的配置,这正是为什么cxgbe和cxgbetool都没有暴露一个模式切换开关。你得用Chelsio自己的配置工具来改,改完网卡会以新的形态重新出现。
把这个工具弄到机器上(挂载一个U盘就够了),然后运行:
它会问你指的是哪块网卡,然后问你要哪种模式。分支模式在列表里叫Spider(4x10G),就是它把QSFP+端口变成四条10G通道。
在一个全新安装的系统上,第一次运行往往会直接报错:
没什么特别的,就是少一个库。装flashrom会把它作为依赖一起带进来:
这样会带来libpci 3.5.6_1,之后脚本就能正常启动,模式切换也会报告成功。
有一点提醒,既然你是在线缆到货之前先做这一步:到那个阶段你得到的只是工具告诉你模式已经应用了。四条通道到底能不能真正起来,只有插上分支线缆才能验证,所以在测试通过之前先别拆掉40G那边的配置。
在你继续找驱动开关之前,先搞清楚:这块卡现在实际跑的是哪种配置,而且你能不能在这台机器上装上python2.7?真正能改这个的是Chelsio自己的一个工具,不属于FreeBSD自带的工具链,在一个全新安装的系统上还需要几个默认没有的东西。
还有一件事,鉴于cxgbe0现在正以40G链路在跑:那个端口上有没有什么你承受不起中断的业务?模式来自加载进网卡的配置,所以切换的时候网卡会以另一种形态重新出现,期间两个端口都会消失。建议从console上操作,而不是通过那条40G链路本身。
确认了,而且顺序完全一样。第一次运行就挂在
然后pkg install flashrom把libpci 3.5.6_1带进来之后,脚本就顺利跑起来了。它列出了网卡,我选了Spider(4x10G),它报告模式切换成功。
线缆还没到,所以四个端口本身目前还说不了什么。等OCTTAPCABLE3M真正插进笼子之后我再来回报。
交换机芯片上也是同样的思路,只是仪式感更强。在ICX 7750上,40G端口在设备离开cut-through模式之前根本不会拆分:
然后把40G端口上的配置全部清空,再在上面启用breakout:
第二次重启之后,四个子端口以1/2/1:1到1/2/1:4的形式出现,表现得就像普通的独立10G接口。插一根线缆要重启两次,不过至少这是文档记载的行为,而不是一个你得自己知道存在的隐藏网卡配置。
值得补充一点:模式只是问题的一半,对端设备也得接受这根线缆本身。在MX204和MX10003上,普通的40G DAC在较老的Junos版本下能正常建链;一旦100G DAC拿到正式支持,40G那些就悄悄从列表里被拿掉了,现在这两款设备上根本不支持40G DAC。目前支持的是4x10G分支光模块,QSFPP-4X10GE-LR或SFPP-4X10GE-SR,而且第三方部件通常得编码成匹配的SKU,端口才会认它们。
你这块Chelsio网卡比路由器线卡宽松得多,但如果这四条支路最终要接到厂商设备上,先看看那台设备对分支DAC是怎么处理的,再回头怪罪网卡的模式。