转发表大小和配置文件
Cumulus Linux 公布交换机上支持的最大转发表条目数,包括
- 掩码小于 /32 的第 3 层 IPv4 LPM 条目
- 掩码为 /64 或更小的第 3 层 IPv6 LPM 条目
- 掩码大于 /64 的第 3 层 IPv6 LPM 条目
- 在
ip neighbor
中看到的下一跳第 3 层 IPv4 邻居(或主机)条目 - 在
ip -6 neighbor
中看到的下一跳第 3 层 IPv6 邻居条目 - ECMP 下一跳,即路由表中指定其路由路径中下一个最近或最优路由器的 IP 地址条目
- MAC 地址
要确定交换机上的当前表大小,请运行 NVUE nv show platform asic resource
命令或 Linux cl-resource-query
命令。
每个交换架构都有可用于转发表条目的特定资源。Cumulus Linux 存储
Cumulus Linux 为转发表资源提供了各种通用配置文件,并且根据您的网络设计,您可能需要调整各种交换机参数以根据需要分配资源。
以下配置文件中提供的值是 Cumulus Linux 软件分配的最大值;理论硬件限制可能会更高。这些限制是指 NVIDIA 作为单维度规模验证一部分检查的值。如果您尝试在启用多个功能的情况下实现最大可扩展性,则结果可能与本指南中列出的值不同。
Spectrum 1
转发资源配置文件控制单播转发表条目分配。在 Spectrum 1 交换机上,TCAM 配置文件控制多播转发表条目分配。有关多播路由条目限制的更多信息,请参阅 ACL 规则的硬件限制。
配置文件 | MAC 地址 | 第 3 层邻居 | LPM |
---|---|---|---|
默认 | 40k | 32k (IPv4) 和 8k (IPv6) | 64k (IPv4) 和 22k (IPv6-long) |
l2-重负载 | 88k | 48k (IPv4) 和 18k (IPv6) | 8k (IPv4) 和 8k (IPv6-long) |
l2-重负载-1 | 176k | 4k (IPv4) 和 2k (IPv6) | 4k (IPv4) 和 2k (IPv6-long) |
l2-重负载-2 | 86k | 86k (IPv4) 和 4k (IPv6) | 8k (IPv4), 4k (IPv6-long) |
v4-LPM-重负载 | 8k | 8k (IPv4) 和 16k (IPv6) | 80k (IPv4) 和 16k (IPv6-long) |
v4-LPM-重负载-1 | 6k | 6k (IPv4) 和 2k (IPv6) | 176k (IPv4) 和 2k (IPv6-long) |
v6-LPM-重负载 | 27k | 8k (IPv4) 和 36k (IPv6) | 8k (IPv4), 32k (IPv6-long) 和 32k (IPv6/64) |
LPM-平衡 | 6k | 4k (IPv4) 和 3k (IPv6) | 60k (IPv4), 60k (IPv6-long) 和 120k (IPv6/64) |
ECMP-下一跳-重负载 | 20K | 32k (IPv4) 和 4k (IPv6) | 50k (IPv4) 4k (IPv6-long) |
ecmp-nh-heavy
配置文件不支持 热重启模式。
Spectrum-2 及更高版本
在 Spectrum-2 及更高版本上,转发资源配置文件控制单播和多播转发表条目分配。
配置文件 | MAC 地址 | 第 3 层邻居 | LPM |
---|---|---|---|
默认 | 50k | 41k (IPv4) 和 20k (IPv6) | 82k (IPv4), 74k (IPv6-short), 1k (IPv4-Mcast) |
l2-重负载 | 115k | 74k (IPv4) 和 37k (IPv6) | 16k (IPv4), 24k (IPv6-short), 1k (IPv4-Mcast) |
l2-重负载-1 | 239k | 16k (IPv4) 和 12k (IPv6) | 16k (IPv4), 16k (IPv6-short), 1k (IPv4-Mcast) |
l2-重负载-2 | 124k | 132k (IPv4) 和 12k (IPv6) | 16k (IPv4), 16k (IPv6-short), 1k (IPv4-Mcast) |
l2-重负载-3 | 107k | 90k (IPv4) 和 80k (IPv6) | 25k (IPv4), 10k (IPv6-short), 1k (IPv4-Mcast) |
v4-LPM-重负载 | 16k | 41k (IPv4) 和 24k (IPv6) | 124k (IPv4), 24k (IPv6-short), 1k (IPv4-Mcast) |
v4-LPM-重负载-1 | 16k | 16k (IPv4) 和 4k (IPv6) | 256k (IPv4), 8k (IPv6-short), 1k (IPv4-Mcast) |
v6-LPM-重负载 | 16k | 16k (IPv4) 和 62k (IPv6) | 16k (IPv4), 99k (IPv6-short), 1k (IPv4-Mcast) |
v6-LPM-重负载-1 | 5k | 4k (IPv4) 和 4k (IPv6) | 90k (IPv4), 235k (IPv6-short), 1k (IPv4-Mcast) |
LPM-平衡 | 16k | 16k (IPv4) 和 12k (IPv6) | 124k (IPv4), 124k (IPv6-short), 1k (IPv4-Mcast) |
IPMC-重负载 | 57k | 41k (IPv4) 和 20k (IPv6) | 82k (IPv4), 66k (IPv6-short), 8k (IPv4-Mcast) |
IPMC-最大 | 41K | 41k (IPv4) 和 20k (IPv6) | 74k (IPv4), 66k (IPv6-short), 15k (IPv4-Mcast) |
IPv6 数字对应于 /64 IPv6 前缀。/128 IPv6 前缀数字是 /64 IPv6 前缀数字的一半。
对于 ipmc-max 配置文件,cl-resource-query
命令输出显示 33K 而不是 15K 作为 switchd
中 IPv4 多播路由的最大数量。15K 是受支持和验证的值。您可以使用更高的值 33K 在非生产环境中测试更高的多播规模。
更改转发资源配置文件
您可以设置最适合您网络架构的配置文件。
运行 nv set system forwarding profile <profile-name>
命令以指定要使用的配置文件。
以下示例命令设置 l2-heavy
配置文件
cumulus@switch:~$ nv set system forwarding profile l2-heavy
cumulus@switch:~$ nv config apply
要将配置文件设置回默认值
cumulus@switch:~$ nv unset system forwarding profile l2-heavy
cumulus@switch:~$ nv config apply
除了上述命令,您还可以运行 nv set system forwarding profile default
命令将配置文件设置回默认值。
使用 /etc/cumulus/datapath/traffic.conf
文件中的 forwarding_table.profile
变量指定要使用的配置文件。以下示例指定 l2-heavy
cumulus@switch:~$ sudo cat /etc/cumulus/datapath/traffic.conf
...
forwarding_table.profile = l2-heavy
指定不同的配置文件后,使用 sudo systemctl restart switchd.service
命令重启 switchd
。
要显示您的交换机支持的不同转发配置文件以及每个转发配置文件的 MAC 地址、第 3 层邻居和 LPM 规模可用性,请运行 nv show system forwarding profile-option
命令。
ACL 和 VLAN 内存资源
除了转发表内存资源外,ACL 和 VLAN 接口的其他内存资源也有限制;请参阅 ACL 规则的硬件限制。