mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-05-05 04:16:11 +02:00
vrrp: fix param of virtual_ip_address for rpc_api
It looks VRRPManager can't handle virtual_ip_address properly as bellow.
$ sudo ryu-manager ryu.services.protocols.vrrp.rpc_manager.py
loading app ryu.services.protocols.vrrp.rpc_manager.py
loading app ryu.services.protocols.vrrp.manager
instantiating app ryu.services.protocols.vrrp.manager of VRRPManager
instantiating app ryu.services.protocols.vrrp.rpc_manager.py of RpcVRRPManager
instantiating app None of VRRPInterfaceMonitorNetworkDevice
instantiating app None of VRRPRouterV3
handle EventVRRPStateChanged
VRID:1 VRRP-Router-VRRPInterfaceNetworkDevice<00:00:00:00:00:00, 192.168.0.2, None, eth1>-1-ipv4: None -> Initialize
handle EventVRRPStateChanged
VRID:1 VRRP-Router-VRRPInterfaceNetworkDevice<00:00:00:00:00:00, 192.168.0.2, None, eth1>-1-ipv4: Initialize -> Backup
hub: uncaught exception: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line 52, in _launch
func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py", line 276, in _event_loop
handler(ev)
File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/vrrp/router.py", line 234, in master_down_handler
self.state_impl.master_down(ev)
File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/vrrp/router.py", line 613, in master_down
self._master_down()
File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/vrrp/router.py", line 579, in _master_down
vrrp_router.send_advertisement()
File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/vrrp/router.py", line 219, in send_advertisement
packet_.serialize()
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/packet/packet.py", line 74, in serialize
data = p.serialize(self.data, prev)
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/packet/vrrp.py", line 394, in serialize
return self.serialize_static(self, prev)
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/packet/vrrp.py", line 625, in serialize_static
*[conv(x) for x in vrrp_.ip_addresses])
File "/usr/local/lib/python2.7/dist-packages/ryu/lib/addrconv.py", line 27, in text_to_bin
return self._addr(text, **self._addr_kwargs).packed
File "/usr/local/lib/python2.7/dist-packages/netaddr/ip/__init__.py", line 314, in __init__
% (addr, self._module.version))
AddrFormatError: base address '.' is not IPv4
Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
7af6e28ea3
commit
f4f24469da
@ -129,6 +129,8 @@ class RpcVRRPManager(app_manager.RyuApp):
|
||||
'preempt_delay',
|
||||
'statistics_interval'))
|
||||
try:
|
||||
ip_addr = config_params.pop('ip_addresses')
|
||||
config_params['ip_addresses'] = [ip_addr]
|
||||
config = vrrp_event.VRRPConfig(**config_params)
|
||||
except:
|
||||
raise RPCError('parameters are invalid, %s' % (str(param_dict)))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user