Ask Your Question
1

Looping topologies

asked 2015-04-10 02:31:41 -0700

iiMaXii gravatar image

updated 2015-05-07 02:52:59 -0700

I've been trying to create looping topologies in Mininet with the OpenDaylight controller. However there appears to be some weird errors. Flows are not created consistently and there are some trouble be pinging the hosts.

This is the topology I have created: Looping topology in DLUX
OpenDaylight Karaf 0.2.3 Helium SR3
Source code: http://pastebin.com/mN7ubWX9
Installed packages: http://pastebin.com/d3LpPczF

The pingall command seems to be working in Mininet, but I cannot ping from some nodes:
h1 -> h2 OK
h1 -> h3 DUP! (response: "64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=32.4 ms (DUP!)")
h2 -> h3 DUP! (response: "64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=147 ms (DUP!)")

The following flows can be found on the switches:

mininet@mininet-vm:~$ sudo ovs-ofctl -O OpenFlow13 dump-flows s1
OFPST_FLOW reply (OF1.3) (xid=0x2):
 [...] priority=10,dl_src=00:00:00:00:ff:01,dl_dst=00:00:00:00:ff:02 actions=output:1 # OK
 [...] priority=10,dl_src=00:00:00:00:ff:02,dl_dst=00:00:00:00:ff:01 actions=output:3 # OK
 [...] priority=0 actions=drop
 [...] priority=2,in_port=3 actions=output:2,output:1,CONTROLLER:65535
 [...] priority=2,in_port=1 actions=output:2,output:3,CONTROLLER:65535
 [...] priority=2,in_port=2 actions=output:1,output:3,CONTROLLER:65535
 [...] priority=100,dl_type=0x88cc actions=CONTROLLER:65535
mininet@mininet-vm:~$ sudo ovs-ofctl -O OpenFlow13 dump-flows s2
OFPST_FLOW reply (OF1.3) (xid=0x2):
 [...] priority=10,dl_src=00:00:00:00:ff:01,dl_dst=00:00:00:00:ff:02 actions=output:3 # OK
 [...] priority=10,dl_src=00:00:00:00:ff:02,dl_dst=00:00:00:00:ff:01 actions=output:1 # OK
 [...] priority=10,dl_src=00:00:00:00:ff:03,dl_dst=00:00:00:00:ff:02 actions=output:3 # OK
 [...] priority=10,dl_src=00:00:00:00:ff:02,dl_dst=00:00:00:00:ff:03 actions=output:1 # Not optimal
 [...] priority=0 actions=drop
 [...] priority=2,in_port=3 actions=output:2,output:1,CONTROLLER:65535
 [...] priority=2,in_port=1 actions=output:3,output:2,CONTROLLER:65535
 [...] priority=2,in_port=2 actions=output:3,output:1 # Flood?
 [...] priority=100,dl_type=0x88cc actions=CONTROLLER:65535
mininet@mininet-vm:~$ sudo ovs-ofctl -O OpenFlow13 dump-flows s3
OFPST_FLOW reply (OF1.3) (xid=0x2):
 [...] priority=0 actions=drop
 [...] priority=2,in_port=3 actions=output:1,output:2,CONTROLLER:65535
 [...] priority=2,in_port=1 actions=output:3,output:2 # Flood?
 [...] priority=2,in_port=2 actions=output:3,output:1 # Flood?
 [...] priority=100,dl_type=0x88cc actions=CONTROLLER:65535

I also got the following exception in OpenDaylight

Exception in thread "Thread-49" java.util.concurrent.RejectedExecutionException: Task org.opendaylight.openflowplugin.openflow.md.core.HandshakeStepWrapper@75508e4e rejected from org.opendaylight.openflowplugin.openflow.md.core.ThreadPoolLoggingExecutor@7baedf0d[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0]
        at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)
        at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
        at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
        at org ...
(more)
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-05-07 02:39:37 -0700

iiMaXii gravatar image

updated 2015-05-07 02:51:44 -0700

I managed to solve the problem by reinstalling OpenDaylight and installing the following features:

feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core odl-flow-services

I also found that you will have to wait a couple of seconds before you ping, this because the proactive flows takes some time to get installed on the switches. Otherwise the controller will create mac-to-mac flows i.e. flows with both dl_src and dl_dst. These flows will somehow mess up the traffic and I will not try to analyse why this failed since it is working properly now.

It would be great if one could disable the reactive mac-to-mac flows, since it appears they are not needed.

edit flag offensive delete publish link more

Comments

Works for me +1

Luke123 ( 2015-05-08 02:31:38 -0700 )edit

This question/solution reminded me of a currently open bug to watch out for: https://bugs.opendaylight.org/show_bug.cgi?id=2629 in short, a loop topology that is brought down and back again might not behave properly.

jamoluhrsen ( 2015-05-08 15:58:30 -0700 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Question Tools

Follow
2 followers

Stats

Asked: 2015-04-10 02:31:41 -0700

Seen: 346 times

Last updated: May 07 '15