I have created a torus topology in mininet by enabling sflow and connecting to POX controller for topology discovery. Below is the command.

sudo mn --custom=sflow-rt/extras/sflow.py --link tc,bw=10 --topo torus,3,3 --controller remote --switch ovsk,stp=1 --mac

My topology discovery program works well, but I don't see any response when I try to ping all the hosts.

mininet> h1x1 ping h1x2
PING ( 56(84) bytes of data.
From icmp_seq=1 Destination Host Unreachable
From icmp_seq=2 Destination Host Unreachable
From icmp_seq=3 Destination Host Unreachable
From icmp_seq=4 Destination Host Unreachable
From icmp_seq=5 Destination Host Unreachable
From icmp_seq=6 Destination Host Unreachable

Therefore, I have added arp and icmp rules to the ovsk switch. Even after adding, ping does not work.

sudo ovs-ofctl add-flow s1x1 priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02,arp_spa=,arp_tpa=,arp_op=2 actions=output:1
sudo ovs-ofctl add-flow s1x2 priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=00:00:00:00:00:02,dl_dst=00:00:00:00:00:01,arp_spa=,arp_tpa=,arp_op=2,actions=output:1
sudo ovs-ofctl add-flow s1x1 priority=65535,icmp,in_port=1,vlan_tci=0x0000,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02,nw_src=,nw_dst=,nw_tos=0,icmp_type=8,icmp_code=0,actions=output:1
sudo ovs-ofctl add-flow s1x2 priority=65535,icmp,in_port=1,vlan_tci=0x0000,dl_src=00:00:00:00:00:02,dl_dst=00:00:00:00:00:01,nw_src=,nw_dst=,nw_tos=0,icmp_type=8,icmp_code=0,actions=output:1

I am not sure what else need to be added. I have tried running POX with l2_learning as well but the python program crashes.

Can someone please help me with this problem? Thanks in advance.

  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide and accept your own answer.
    – Ron Maupin
    Dec 25 '18 at 9:12

I figured it my self.

I have used spanning tree module along with l2_learning from openflow which allowed me to ping other hosts successfully. Below is the command to be execute in pox directory.

./pox.py topoDiscovery forwarding.l2_learning openflow.discovery --eat-early-packets --link_timeout=50 openflow.spanning_tree log.color log --format="[%(asctime)s %(name)s %(levelname)s] %(message)s" --datefmt="%H:%M:%S" log.level --DEBUG

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.