Page MenuHomeVyOS Platform

VPP cannot add interface to dataplane if it already has an address configured
Closed, ResolvedPublicBUG

Description

On adding an interface to VPP dataplane, if it has any configuration on it already (addresses etc), VPP fails the first time, with the below error. The 2nd commit actually makes the interfaces intended to configure, along with their addresses/SVIs, disappear, effectively breaking the router.

Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/vpp.py", line 204, in <module>
    apply(c)
  File "/usr/libexec/vyos/conf_mode/vpp.py", line 192, in apply
    vpp_control.lcp_pair_add(iface, iface)
  File "/usr/lib/python3/dist-packages/vyos/vpp.py", line 66, in check_retval_wrapper
    return_value = decorated_func(cls, *args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/vpp.py", line 49, in api_safe_wrapper
    return decorated_func(cls, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/vpp.py", line 163, in lcp_pair_add
    return self.vpp_api_client.api.lcp_itf_pair_add_del(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 129, in __call__
    return self._func(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 526, in f
    return self._call_vpp(i, msg, multipart, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 794, in _call_vpp
    raise VPPIOError(2, "VPP API client: read failed")
vpp_papi.vpp_papi.VPPIOError: [Errno 2] VPP API client: read failed

Details

Difficulty level
Unknown (require assessment)
Version
VyOS 1.5
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)