NE40E qinq 接口没有配置local-switch 导致本地VPLS 用户无法互访

发布时间:  2011-11-15 浏览次数:  137 下载次数:  0
问题描述
组网结构:
NE40E
        |
  S8500
/                \
S3500 S3500
|                 |
PC 1        PC2

NE40E 上不同子接口配置qinq 绑定相同的vsi,需要要进行本地vpls互访,S8500 打外层vlan,配置完成后发现NE40E 上可以正常学习到不同子接口下带用户的mac PC之间却无法相互ping 通,但PC访问远端PE 下带用户没问题,将S8500 改为单层vlan 透传测试本地互访正常。

NE40E接口配置如下:
interface eth-trunk11.4002
control-vid 4002 qinq-termination
qinq termination pe-vid 2305 ce-vid 4002
l2 binding vsi 40014002

interface eth-trunk11.4001
control-vid 4002 qinq-termination
qinq termination pe-vid 2304ce-vid 4001
l2 binding vsi 40014002



处理过程
1、S8500单层vlan透传时PC互访正常,打外层tag后有问题,怀疑S8500 对外层vlan 实现了二层隔离,联系S8500工程师 查看配置正常,在S8500上行口镜像抓包,PC1访问PC2 的包发给NE40E 后没有再回送,排除S8500问题。
2、NE40E 在dot1q接口配置本地vpls互访则没问题,只有qinq接口异常,且从S85 收到的报文没有回送,怀疑NE40E 本地转发有问题,查看命令手册有local-switch的命令,但命令手册中解释如下:
local-swich 用来配置qinq终结子接口支持本地连接功能,此功能适用的网络具有如下特征:
a. 不同的ce接入同一个pe的相同vsi中。
b. ce发送到pe的报文带有两层tag且外层tag相同。
c. ce之间需要实现互通。
现网设备两个子接口外层tag并不相同,所以应该不需配置local-switch,但查看其他表现均无异常,抱着试试看的态度在NE40E 上子接口配置此命令后用户正常互通。
经确认,对于NE40E而言,local-switch命令在硬件实现上有差异,对于lpuf-20,lpuf-21,lpuf-40 单板,不管外层tag是否相同,只要是本地vsi都需要配置local-switch,否则本地转发不通。

根因

对于LPUF-20、LPUF-21、LPUF-40单板,qinq终结子接口之间进行VPLS互通,需要配置local-switch,否则无法互通。

解决方案


在两个需要互通的qinq终结子接口上的vsi上部署local-switch。
建议与总结
对于本地vpls互访,除了参考普通配置外,还要注意不同产品硬件实现的差异,在NE40E lpuf-20,lpuf-21,lpuf-40 单板必须配置,否则可能导致业务不通。
另外,local-switch命令手册中还有如下要求:
如果终结子接口下使用了local-switch参数,那么与该终结子接口连接的对端设备需要关闭mac地址学习功能并清空mac表中的所有地址表项。否则对端设备可能在两个不同的接口学习到相同的mac地址,进而导致转发不正确。
对于何时关闭mac学习功能,事实上取决于对端产品的mac学习机制,配置时需要注意:
如果mac地址的学习的k值是基于源mac+入接口,那么无论外层q是否一样都要去使能mac地址学习功能。
如果mac地址的学习的k值是基于源mac+入接口+vlan id或源mac+ vlan id,那么无论外层q是否一样,是否去使能mac地址学习功能都没有影响。






END