在执行Shortestforwording.py以及自定义拓扑topo.py时遇见以下报错:
hub: uncaught exception: Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/ryu/lib/hub.py", line 60, in _launch return func(*args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/ryu/topology/switches.py", line 944, in lldp_loop self.send_lldp_packet(port) File "/usr/local/lib/python3.8/dist-packages/ryu/topology/switches.py", line 892, in send_lldp_packet port_data = self.ports.lldp_sent(port) File "/usr/local/lib/python3.8/dist-packages/ryu/topology/switches.py", line 323, in lldp_sent port_data.lldp_sent() AttributeError: 'PortData' object has no attribute 'lldp_sent'
1.问题是ryu的topology文件下的switches.py出现错误,
2.解决方案是对ryu的topology文件下的switches.py以及/usr/local/lib/python3.8/dist-packages/ryu/topology/switches.py的代码进行修改,
3.修改代码如下链接所示,
4.在该代码基础上加self.delay = 0,位置在PortData类下。修改之后找到ryu/setup.py,执行sudo python setup.py install
5.ryu/ryu/topology/switches.py at master · faucetsdn/ryu (github.com)