我开始使用 ovs-ofctl 和 mininet 学习 SDN,并且我正在按照一些教程配置交换机,但有些东西我没有掌握。
当我开始我的拓扑时:
sudo mn --topo single,2 --controller remote --switch ovsk
现在,如果我想在 h1 和 h5 之间添加一个简单的流程,我会这样做:
sh ovs-ofctl add-flow s1 in_port=1,actions=output:2
sh ovs-ofctl add-flow s1 in_port=2,actions=output:1
如果我测试主机之间的连接性一切正常。
但是现在,如果我尝试删除所有流程:
sh ovs-ofctl add-flow s1 in_port=1,dl_type=0x806,nw_dst=10.0.0.2,actions=output:2
sh ovs-ofctl add-flow s1 in_port=2,dl_type=0x806,nw_dst=10.0.0.1,actions=output:1
现在,如果我尝试 ping,则无法访问,但如果我执行:
sh ovs-ofctl add-flow s1 action=NORMAL
现在我可以在主机之间再次 ping。
我在这里想念什么?在命令中指定仅允许使用 ARP 流量的以太网dl_type=0x806
是不够的?为什么 ping 在那里失败?