问题描述
在一个网络拓扑发现的应用中,定义了
net = Mininet(topo=topo, link=TCLink, controller=None, autoSetMacs=True,
autoStaticArp=True,switch=UserSwitch)
但是在互相ping的时候发现不能ping通,而且交换机发现不了host的位置;
感觉交换机的学习功能没了
分析和解决
因为之前在CLI中使用mininet的时候没有出现这个问题,就将目光看向了多定义的这几个参数,其中的autoStaticArp的意思是set all-pairs static MAC addrs, and don’t have arp traffic.也就是说没有arp的过程,那交换机当然没法学习了,将这个参数改为False即可.
net = Mininet(topo=topo, link=TCLink, controller=None, autoSetMacs=True,
autoStaticArp=False,switch=UserSwitch)
所以在需要交换机实现学习功能的应用,在创建拓扑的时候都不要去指定这个选项为True,否则网络是没法正常工作的