Page MenuHomeVyOS Platform

VPP after the update image vpp cannot configure GRE or IPIP tunnel kernel-interface LCP but with clean install can
Open, NormalPublicBUG

Description

After the update via add system image xxxx, VPP cannot configure GRE or IPIP tunnel, but with a clean install it works as expected.
The failure happens per creating the kernel-interface to GRE tunnel (LCP pair)

vyos@r16:~$ /usr/libexec/vyos/tests/smoke/cli/test_vpp.py
test_01_vpp_basic (__main__.TestVPP.test_01_vpp_basic) ... ok
test_02_vpp_vxlan (__main__.TestVPP.test_02_vpp_vxlan) ... ok
test_03_vpp_gre (__main__.TestVPP.test_03_vpp_gre) ... ERROR

Related logs

Feb 03 11:24:00 r14 vyos-configd[794]: Received message: {"type": "node", "last": false, "data": "VYOS_TAGNODE_VALUE=gre12/usr/libexec/vyos/conf_mode/vpp_interfaces_gre.py"}
Feb 03 11:24:00 r14 (udev-worker)[6052]: Network interface NamePolicy= disabled on kernel command line.
Feb 03 11:24:00 r14 vpp[5948]: received signal SIGSEGV, PC 0x7fab04c28883, faulting address 0x7fbac479ed10
Feb 03 11:24:00 r14 vpp[5948]: #0  0x00007fab04261162 0x7fab04261162
Feb 03 11:24:00 r14 vyos-configd[794]: Sending reply: SUCCESS with output
Feb 03 11:24:00 r14 vpp[5948]: #1  0x00007fab03f81050 0x7fab03f81050
Feb 03 11:24:00 r14 vpp[5948]: #2  0x00007fab04c28883 0x7fab04c28883
Feb 03 11:24:00 r14 vpp[5948]: #3  0x00007fab04202a9b 0x7fab04202a9b
Feb 03 11:24:00 r14 vpp[5948]: #4  0x00007fab04208045 vlib_main + 0x1195
Feb 03 11:24:00 r14 vpp[5948]: #5  0x00007fab0426058a 0x7fab0426058a
Feb 03 11:24:00 r14 vpp[5948]: #6  0x00007fab041bd95c 0x7fab041bd95c
Feb 03 11:24:00 r14 vyos-configd[794]: Received message: {"type": "node", "last": true, "data": "VYOS_TAGNODE_VALUE=vpptun12/usr/libexec/vyos/conf_mode/vpp_kernel-interfaces.py"}
Feb 03 11:24:00 r14 netplugd[1336]: eth1: state INNING flags 0x00011043 UP,BROADCAST,RUNNING,MULTICAST,10000 -> 0x00001002 BROADCAST,MULTICAST
Feb 03 11:24:00 r14 systemd[1]: vpp.service: Main process exited, code=killed, status=6/ABRT
Feb 03 11:24:00 r14 vyos-configd[794]: Traceback (most recent call last):
Feb 03 11:24:00 r14 vyos-configd[794]:   File "/usr/libexec/vyos/services/vyos-configd", line 146, in run_script
Feb 03 11:24:00 r14 vyos-configd[794]:     script.apply(c)
Feb 03 11:24:00 r14 vyos-configd[794]:   File "/usr/libexec/vyos//conf_mode/vpp_kernel-interfaces.py", line 121, in apply
Feb 03 11:24:00 r14 vyos-configd[794]:     i.add_addr(address)
Feb 03 11:24:00 r14 vyos-configd[794]:   File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 1226, in add_addr
Feb 03 11:24:00 r14 vyos-configd[794]:     self._cmd(tmp)
Feb 03 11:24:00 r14 vyos-configd[794]:   File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 64, in _cmd
Feb 03 11:24:00 r14 vyos-configd[794]:     return cmd(command, self.debug, env=env)
Feb 03 11:24:00 r14 vyos-configd[794]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 03 11:24:00 r14 vyos-configd[794]:   File "/usr/lib/python3/dist-packages/vyos/utils/process.py", line 187, in cmd
Feb 03 11:24:00 r14 vyos-configd[794]:     raise OSError(code, feedback)
Feb 03 11:24:00 r14 vyos-configd[794]: PermissionError: [Errno 1] failed to run command:   ip addr add 10.0.0.0/31 dev vpptun12 brd +
Feb 03 11:24:00 r14 vyos-configd[794]: returned:
Feb 03 11:24:00 r14 vyos-configd[794]: exit code: 1
Feb 03 11:24:00 r14 vyos-configd[794]: Sending reply: ERROR_COMMIT with output
Feb 03 11:24:00 r14 vyos-configd[794]: scripts_called: ['vpp', 'vpp_interfaces_gre_gre12', 'vpp_kernel-interfaces_vpptun12']
Feb 03 11:24:00 r14 systemd[1]: vpp.service: Failed with result 'signal'.

The simplest way to reproduce:

set vpp settings interface eth1 driver 'dpdk'
set vpp interfaces gre gre2 remote '192.0.2.25'
set vpp interfaces gre gre2 source-address '192.0.2.1'
commit

set vpp interfaces gre gre2 kernel-interface 'vpptun12'
commit

After the second commit we get faulting address

Feb 03 11:33:04 r16 vyos-configd[784]: Received message: {"type": "node", "last": true, "data": "VYOS_TAGNODE_VALUE=gre2/usr/libexec/vyos/conf_mode/vpp_interfaces_gre.py"}
Feb 03 11:33:05 r16 vpp[6381]: received signal SIGSEGV, PC 0x7f919c62e883, faulting address 0x7fa15c19f490
Feb 03 11:33:05 r16 vpp[6381]: #0  0x00007f919bc67162 0x7f919bc67162
Feb 03 11:33:05 r16 vpp[6381]: #1  0x00007f919b987050 0x7f919b987050
Feb 03 11:33:05 r16 vpp[6381]: #2  0x00007f919c62e883 0x7f919c62e883
Feb 03 11:33:05 r16 vpp[6381]: #3  0x00007f919bc08a9b 0x7f919bc08a9b
Feb 03 11:33:05 r16 vpp[6381]: #4  0x00007f919bc0e045 vlib_main + 0x1195
Feb 03 11:33:05 r16 vpp[6381]: #5  0x00007f919bc6658a 0x7f919bc6658a
Feb 03 11:33:05 r16 vpp[6381]: #6  0x00007f919bbc395c 0x7f919bbc395c

Details

Version
VyOS 1.5-rolling-202502030007
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)
Story points
5