faucetsdn / ryu

Ryu component-based software defined networking framework
https://ryu-sdn.org
Apache License 2.0
1.5k stars 1.16k forks source link

Fix bug where path.source is set to VRF_TABLE (in vrf.py) #153

Closed jbemmel closed 3 years ago

jbemmel commented 3 years ago
20:15:21,496 ryu.lib.hub ERROR hub: uncaught exception: Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/ryu/lib/hub.py", line 60, in _launch
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/base.py", line 256, in start
    self._run(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/processor.py", line 99, in _run
    self._process_dest()
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/processor.py", line 116, in _process_dest
    next_dest.process()
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/info_base/base.py", line 421, in process
    self._process()
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/info_base/base.py", line 391, in _process
    new_best_path, reason = self._process_paths()
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/info_base/base.py", line 510, in _process_paths
    current_best_path, reason = self._compute_best_known_path()
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/info_base/base.py", line 613, in _compute_best_known_path
    next_path)
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/processor.py", line 252, in compute_best_path
    best_path = _cmp_by_asn(local_asn, path1, path2)
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/processor.py", line 437, in _cmp_by_asn
    p1_asn = get_path_source_asn(path1)
  File "/usr/local/lib/python3.6/site-packages/ryu/services/protocols/bgp/processor.py", line 434, in get_path_source_asn
    asn = path.source.remote_as
AttributeError: 'str' object has no attribute 'remote_as'

Happens when path.source is set to "vrf_table"