Napatech抓包SmartNIC:插一个不在认证清单里的SFP+,实际会发生什么
我们在几块Napatech卡上跑抓包,正在为下一个机柜整理光模块订单。花钱之前我想先搞清楚这份认证模块清单在实际中到底意味着什么,因为文字表述本身留有解读空间。
- 现有主机上的Napatech NT40E3和NT20E3抓包卡
- 新构建里要用的一块NT200A02
- 主要是10G SFP+和25G SFP28链路,面向汇聚层还有一些40G QSFP+
- 库房里已经有一批Coherent FTLX8571D3BCL 10G SFP+模块
手头的清单:
NT40E3, NT20E3, NT200A02 - capture cards
FTLX8571D3BCL - 10G SR/LR SFP+ from stock
到目前为止我已经翻过了认证模块目录,把几个型号跟我们手上的卡对上,也看了每个条目对应的驱动版本一栏。我还没搞清楚的是失败模式。如果我往NT40E3里插一个机械上完全相同、但不在那份清单里的SFP+,这块卡会不会像带EEPROM校验的交换机那样直接拒收,还是会安静地待在那儿没有反应?反过来说,在清单上是不是就一定能保证这个模块被正常驱动?
Comments 3
Napatech上没有EEPROM锁,所以你可以先排除那种交换机式的拒收场景。我们跑NT20E3和一块NT40E3已经好几年了,从来没有哪块卡因为厂商代码而把模块吐出来。
真正存在的是一份认证可插拔模块目录,而且比大家想的要窄。每个条目里有三件事:哪个模块、针对哪块SmartNIC测试过、以及最早支持它的驱动版本。第三点我曾经被坑过一次——一个型号可能明明列在你手上这块卡下面,但换成老一点的驱动就什么都不干。目录里还有一列监管安全认证信息,不同条目写的也不一样。你的FTLX8571D3BCL在这份清单上到处都能找到,作为认证过的10G SR/LR型号,所以库房里的存货是个安全的起点。
你问的那个陷阱其实清单本身就写着。列在清单上不等于会被驱动:某种模块类型能不能工作,取决于固件镜像——是Napatech在交钥匙卡上出厂预装的镜像,还是你自己在Link-Programmable卡上编译的镜像。所以一个机械上完全没问题的SFP+,不管在不在清单上,都可能因为镜像从未学过它而安静地没反应,而不是因为被谁拒绝了。对交钥匙卡来说,是数据手册说了算,而不是目录。
这正是我理解错的地方。我之前把这份目录当成了卡强制执行的白名单,而它其实更接近于一份关于固件已经学会驱动什么的说明。我们两台主机是交钥匙型的,新的NT200A02是按Link-Programmable方式接入的,所以这是两个不同的问题,我会分开处理:交钥匙这一对看数据手册,可编程的那块卡用我们自己的镜像。FTLX8571D3BCL的库存已经覆盖了10G那部分,25G链路那边我会先查一下驱动版本那一列再做决定。
值得知道不同厂商在这个问题上的措辞差别有多大,因为实际后果在每种情况下都不一样。
Extreme现在旗下拥有Brocade的SLX、VDX和MLX产品线,加上自家平台,针对每个产品系列都维护一份认证清单。附带的政策说明写得很直白:插入任何未经认证的东西,光模块也好,配套的接口模块也好,后果自己承担——他们不承诺质保,不做合规声明,也不承担任何服务义务。清单上的部件带有NRTL、FCC CFR 21 1040.10、CDRH、CE、EN60825-1和/或GR-468认证。但它不会告诉你,插一个不在清单上的东西,某台具体设备会怎么反应。
Barracuda走的是另一条路,压根不维护什么设备白名单,而是依赖Intel的驱动测试清单,因为能不能被接受由网卡说了算:一个ET076模块在Intel X710上就是4口10GbE SFP+,所以X710驱动拒绝什么,防火墙就拒绝什么。Cisco在Firepower 2100上则完全不拦截非Cisco的SFP,只是建议不要用,TAC对涉及这类模块的互通问题工单可以拒绝受理。三家厂商三种政策,失败模式也完全不同。