-
Notifications
You must be signed in to change notification settings - Fork 93
'Graph' object has no attribute 'add_switch' #73
Description
Hi guys, I am new to pyretic, I just installed pyretic on Mininet VM by following the guide on pyretic Wiki.
I am just trying to run them together, but I found that once I set the controller to "remote", then there will be some log like below.
mininet@mininet-vm:~/pyretic$ pyretic.py -m p0 pyretic.modules.mac_learner
POX 0.2.0 (carp) / Copyright 2011-2013 James McCauley, et al.
Connected to pyretic frontend.
INFO:core:POX 0.2.0 (carp) is up.
<The time when I typed " sudo mn --controller=remote" on another terminal.>
INFO:openflow.of_01:[None 1] closed
INFO:openflow.of_01:[00-00-00-00-00-01 2] connected
error: uncaptured python exception, closing channel <pyretic.backend.backend.BackendChannel connected 127.0.0.1:56792 at 0x7f7960eda1b8> (<type 'exceptions.AttributeError'>:'Graph' object has no attribute 'add_switch' [/usr/lib/python2.7/asyncore.py|read|83] [/usr/lib/python2.7/asyncore.py|handle_read_event|449] [/usr/lib/python2.7/asynchat.py|handle_read|160] [/home/mininet/pyretic/pyretic/backend/backend.py|found_terminator|92] [/home/mininet/pyretic/pyretic/core/runtime.py|handle_switch_join|1948] [/home/mininet/pyretic/pyretic/core/runtime.py|handle_switch_join|2342])
I tried to figure out what happened but seems no one met such issue before.
And I tried to troubleshoot it by comment out the code "self.next_topo.add_switch(switch)" in /home/mininet/pyretic/pyretic/core/runtime.py and here is the another log:
error: uncaptured python exception, closing channel <pyretic.backend.backend.BackendChannel connected 127.0.0.1:56644 at 0x7f39440c26c8> (<type 'exceptions.AttributeError'>:'Graph' object has no attribute 'add_port' [/usr/lib/python2.7/asyncore.py|read|83] [/usr/lib/python2.7/asyncore.py|handle_read_event|449] [/usr/lib/python2.7/asynchat.py|handle_read|160] [/home/mininet/pyretic/pyretic/backend/backend.py|found_terminator|99] [/home/mininet/pyretic/pyretic/core/runtime.py|handle_port_join|1954] [/home/mininet/pyretic/pyretic/core/runtime.py|handle_port_join|2376])
And now I have no idea why Graph object was trying to call add_switch and add_port function.
Can someone experienced can me a hand on this case?
Thanks.