Skip to content
This repository was archived by the owner on Jun 27, 2018. It is now read-only.
This repository was archived by the owner on Jun 27, 2018. It is now read-only.

'Graph' object has no attribute 'add_switch' #73

@JeffreyWongNetwork

Description

@JeffreyWongNetwork

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions