faucetsdn / ryu

Ryu component-based software defined networking framework

Home Page:https://ryu-sdn.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gui_topology.py throws version error when using OF 1.5

zhangineer2 opened this issue · comments

I am running mininet version 2.13.3. Receiving error AssertionError: No OpenFlow version is available

ryu-manager /ryu/ryu/app/simple_switch_15.py /ryu/ryu/app/gui_topology/gui_topology.py --observe-links

loading app /ryu/ryu/app/simple_switch_15.py
loading app //ryu/ryu/app/gui_topology/gui_topology.py
loading app ryu.controller.ofp_handler
loading app ryu.app.ofctl_rest
loading app ryu.app.rest_topology
loading app ryu.app.ws_topology
loading app ryu.controller.ofp_handler
creating context wsgi
instantiating app None of DPSet
creating context dpset
instantiating app None of Switches
creating context switches
instantiating app /home/ryu/ryu/app/simple_switch_15.py of SimpleSwitch15
Traceback (most recent call last):
File "/.venv/bin/ryu-manager", line 8, in
sys.exit(main())
File "/.venv/lib/python3.8/site-packages/ryu/cmd/manager.py", line 101, in main
services.extend(app_mgr.instantiate_apps(**contexts))
File "/.venv/lib/python3.8/site-packages/ryu/base/app_manager.py", line 509, in instantiate_apps
self._instantiate(app_name, cls, *args, **kwargs)
File "/.venv/lib/python3.8/site-packages/ryu/base/app_manager.py", line 491, in _instantiate
ofproto_protocol.set_app_supported_versions(cls.OFP_VERSIONS)
File "/.venv/lib/python3.8/site-packages/ryu/ofproto/ofproto_protocol.py", line 46, in set_app_supported_versions
assert _supported_versions, 'No OpenFlow version is available'
AssertionError: No OpenFlow version is available

I have confirmed that my mininet switch supports OF1.5, as shown below

mininet> sh ovs-ofctl dump-flows -O Openflow15 s1
cookie=0x0, duration=3.955s, table=0, n_packets=0, n_bytes=0, idle_age=3, priority=1,in_port="s1-eth16",dl_dst=aa:00:00:00:00:06 actions=output:"s1-eth1"
cookie=0x0, duration=3.923s, table=0, n_packets=0, n_bytes=0, idle_age=3, priority=1,in_port="s1-eth1",dl_dst=aa:00:00:00:00:01 actions=output:"s1-eth16"
cookie=0x0, duration=9.084s, table=0, n_packets=59, n_bytes=4910, idle_age=3, priority=0 actions=CONTROLLER:65535

If i launch only the simply_switch_15.py file, everything works fine. So it's the gui file that doesnt work for some reason.

Any ideas ?

I also tested with OF 1.4, which also works fine.

Thanks