我一直在对核心网络上的 mac move 行为进行故障排除,该网络由 2 个 Nexus 7K 和 F3 系列模块组成。它们通过结构路径模式端口通道相互连接。所有远程分支都通过 VPC 连接到核心网络,除了一个通过单个链路连接到核心网络的远程分支,因此仅连接到核心连接之一。连接此远程分支的链接没有特殊配置,只是禁用生成树的 L2 链接。
从一开始我就看到mac只在通过这个链接的一个vlan上移动,到目前为止我一直无法弄清楚为什么会发生这种情况,有问题的vlan是VID 100。
nexus CPDA 直接连接到这个远程分支,作为 100 的 switch-id,我可以看到有一个 mac 从外部端口移动到远程分支所连接的端口。
N7K01-CPDA-CORE1 %L2FM-4-L2FM_MAC_MOVE: Mac 408d.5c39.0e4c in vlan 100 has moved from p(\227ÿ^Yºâöôÿ¥ö^A to Eth1/22
我无法识别始发港,因为这个版本很可能存在一个错误,即 6.2(16)。
在具有相同 kickstart 版本 6.2.(16) 但上次重置显示系统版本 6.2(10) 的 nexus RECT 上,我可以正确查看日志。这个 nexus 作为 101 的 switch-id。
N7K02-RECT-CORE2 %L2FM-4-L2FM_MAC_MOVE: Mac 408d.5c39.0e4c in vlan 100 has moved from 100.0.65535 to 100.0.3050
从nexus RECT,我已经能够破译nexus CPDA的外国港口,这显然看起来像是某种洪水。我一直在寻找有关洪水的fabricpath文档,但到目前为止我还没有找到任何(如果有人有请分享),端口100.0.3050也对应于nexus CPDA上的eth1/22,这是远程的物理端口分支已连接。
从这些日志中,我能够得到的唯一结论是,这些 vlan 上的 mac 地址正在从物理端口反弹到 nexus CPDA 上的这个防洪盖端口并返回,我无法真正理解为什么。需要注意的是,通过 VPC 连接的所有其他分支都不会显示此行为。
我一直在阅读 Cisco Nexus 7k Fabricpath 文档,发现了一些有趣的东西,这可能只是巧合,但仍然很有趣。根据 Cisco 文档,模式结构中的所有 VLAN 只有一种 MAC 地址学习模式,即“会话学习”。
Nexus 核心上的所有 vlan 都配置有“模式结构”。
vlan 100
mode fabricpath
state active
no shutdown
name VLAN0100
有趣的是,当我运行命令“show mac address-table learning-mode vlan 100”时显示为非对话式。
N7K01-CPDA-CORE1# sh mac address-table learning-mode vlan 100
Vlan/BD Learning Mode
---- ----------
100 Non-Conversational-Learning
这怎么可能,如果 vlan 100 配置有“模式结构”。这也是“非对话式学习”中唯一的 vlan,巧合的是,这是唯一发生 mac 移动的 vlan。
我不知道这是否是一个结构路径错误,我也不知道端口 100.0.65535 的用途是什么以及在哪里可以找到有关它的文档,我想了解为什么会发生这种 mac 移动,我将不胜感激一种帮助。
问候贡萨洛雷斯
