为什么我的 Cisco 6509 BGP 表在我的 TCAM 中使用两个条目?

网络工程 思科 bgp 聚光灯 cisco-ios-12
2021-07-07 18:38:19

我的 Cisco 6509 有问题,BGP 表中的每个条目都占用 TCAM 中的两个条目。如果我显示容量转发,我会在 L3 转发资源中看到 MPLS 条目。但是,我不在我的机箱上使用 MPLS!

#show run | i mpls
mls cef maximum-routes mpls 508
no mpls ldp advertise-labels
no mpls ip

还有我的 L3 前进:

L3 Forwarding Resources
             FIB TCAM usage:                     Total        Used       %Used
                  72 bits (IPv4, MPLS, EoM)     1032192      899612         87%
                 144 bits (IP mcast, IPv6)        8192           7          1%

                     detail:      Protocol                    Used       %Used
                                  IPv4                      450051         44%
                                  MPLS                      449560         44%
                                  EoM                            1          1%

                                  IPv6                           1          1%
                                  IPv4 mcast                     3          1%
                                  IPv6 mcast                     3          1%

            Adjacency usage:                     Total        Used       %Used
                                               1048576      448758         43%

任何的想法?可能是路由在 VRF 中吗?

2个回答

如果 BGP 在 VRF 中运行,似乎 6500 会为每条路由生成 MPLS 标签。您的 IPv4 和 MPLS TCAM 使用几乎相同的事实似乎也表明了这一点。你可以试试这个命令:

show bgp vpnv4 uni all labels

似乎有一个隐藏命令使 IOS 为每个 VRF 而不是每个前缀分配标签。

mpls label mode all-vrfs protocol bgp-vpnv4 per-vrf

这是一个隐藏的命令,因此 IOS 不会显示它。同样在运行之前,您可以尝试运行:

show ip vrf detail

哦,6500。我运行一个小型服务提供商网络,并将 6500 作为 PE 路由器运行。我一生中最糟糕的决定。(这是一个修饰的声明,但你明白我的意思。)

我在 VRF 中运行完整的 BGP 路由,并且遇到了很多围绕此的问题。

你的例子并不奇怪。正如丹尼尔在他的帖子中所说,每个 VRF 前缀都有一个 LFIB 条目以及一个 VPNv4 条目。这可以通过添加命令来改变mpls label mode vrf Internet protocol all-afs per-vrf然而,这并不能让您摆脱困境。如果您更改为每个 VRF 前缀,它会删除 LFIB 条目(是的!),但会为每个前缀添加一个条目到邻接表中(等等,什么?!)。由于 6500 转发硬件在 L2 和 L3 转发之间共享,因此根本不会改变您的硬件内存使用情况。如果有的话,它会使问题更难找到。

如果您在更改为按 VRF 使用(使用show platform hardware cef resource-level)后查看您的使用情况,您似乎已经解决了问题。但是,如果您使用该命令,show platform hardware cef adjacencies resource-level则会显示问题刚刚移至其他位置。

以下是我的 6500 的资源级别和邻接使用之一的输出。概述我在说什么。

资源级

Global watermarks: apply to Fib shared area only.
Protocol watermarks: apply to protocols with non-default max-routes

Fib-size: 1024k (1048576), shared-size: 1016k (1040384), shared-usage: 458k(469769)

Global watermarks:
            Red_WM: 95%,   Greem_WM: 80%,   Current usage: 45%

Protocol watermarks:

 Protocol           Red_WM(%)      Green_WM(%)     Current(%)
 --------           ---------      ----------      ----------
 IPV4                --             --              42% (of shared)
 IPV4-MCAST          --             --              0 % (of shared)
 IPV6                --             --              2 % (of shared)
 IPV6-MCAST          --             --              0 % (of shared)
 MPLS                --             --              0 % (of shared)
 EoMPLS              --             --              0 % (of shared)
 VPLS-IPV4-MCAST     --             --              0 % (of shared)
 VPLS-IPV6-MCAST     --             --              0 % (of shared)

邻接使用

Watermarks apply to regions available for allocation and not pre-reserved
Stats region size for alloc:        444160
Non-stats region size for alloc:    376832

Adjacency Mgr watermarks:

 Type             Red_WM(%)      Green_WM(%)     Current usage(%)
 ----             ---------      ----------      ----------------
 Stats_WM         95%            80%             97%
 Non-Stats_WM     95%            80%             14%

伊万关于这个的帖子是基于我在这里的发现。我目前正在与 Cisco 合作尝试解决此问题,但不幸的是,目前无法解决此问题。

您的里程可能会有所不同,因为您没有 MPLS 邻接。既然您已经进行了更改,就会有兴趣查看您的邻接使用情况。