摘要

  • 路由从 BIRD 进入 Linux FIB,再由内核通知传给 LAN969x 驱动和 ASIC;Banelli 报告称,256 条额外路由可以干净地加入和撤回。
  • 演示没有覆盖完整路由表、铜缆端口的三层转发、ECMP 实际流量分配、BFD、ACL 或拔线故障。Novarq 仓库写着“mainline support”,而 Banelli 在 RIPE 介绍的测试版本仍使用公司自己的内核。

256 条路由增删成功,是 Bruno Banelli 这场演示最扎实的数字。更决定运营商能否部署的数字——设备能安装并持续卸载多少条完整路由——这次没有出现。

Banelli 是 Novarq 的联合创始人兼 CEO。他在 RIPE 93 展示的路径很直:BIRD 把路由写入 Linux 的转发表 FIB;内核通知交给 LAN969x 驱动;驱动再配置交换 ASIC。按他的描述,这条路径中没有 SAI、FPM 或单独的厂商路由代理。Linux 内核把 switchdev 定义为一套将数据转发卸载到交换硬件的驱动模型。

测试环境由两个路由 VLAN 组成,挂在支持 VLAN 的网桥上。四条双栈 eBGP 会话建立成功,导入和导出过滤器只放行测试前缀,默认路由和管理路由不进入 BGP。Banelli 说,邻居通告或撤回一条路由后,Linux FIB 在不到半秒内变化。抓包和计数器显示,IPv4 与 IPv6 的转发流量经过 ASIC;在这套配置下,CPU 占用低于 10%。

测试边界随后变得清楚:没有完整路由表,没有测试所有端口,也没有铜缆端口的三层转发结果。ECMP 虽然打开,却没测流量是否按预期分流;next-hop 对象没有卸载到芯片。BFD、ACL 和拔线恢复同样空白。做管理性下线时,对端网卡仍维持光链路,交换机看不到物理链路断开,路由直到 9 秒 hold timer 到期才离开。这测到的是定时器,不是断链恢复。

IPv6 邻居发现还要靠一个每 60 秒刷新一次组播邻居项的临时办法。Banelli 把问题归到驱动层,并称已提交报告。路由能进入 Linux FIB、数据包能从芯片转发,是两项不同证据;邻居老化、卸载失败和物理故障还要单独验收。

内核状态也需要精确版本。Novarq 的公开仓库称产品具有“mainline support”和完整内核集成。RIPE 93 的演讲则说,测试构建仍使用公司自己的内核,L3 补丁正在上游整合,完整 L3 支持预计在 2027 年第二季度进入主线。现有公开材料没有列出这句“主线支持”覆盖的内核版本和 L3 功能;一张按版本列出的功能表就能厘清范围。

Banelli 证明了 BIRD 可以通过 Linux 路径驱动 ASIC,也报告了几项明确通过的检查。下一份有用的凭据应列出内核、驱动和 BIRD 版本,已安装与已卸载路由数、端口类型、邻居老化、ECMP 分流和故障恢复轨迹。256 条路由是一次成功试验,不能代替生产容量数据。

来源