Page MenuHomeVyOS Platform

VPP kernel interface sometimes deleted faster then ip address from this interface
Open, NormalPublicBUG

Description

VPP kernel interface sometimes deletes faster then IP address from this interface (or some dependency issues)

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'
set vpp interfaces gre gre2 kernel-interface 'vpptun12'
set vpp kernel-interfaces vpptun12 address '10.0.0.0/31'
commit

delete vpp
commit

Related output:

vyos@r16# set vpp settings interface eth1 driver 'dpdk'
[edit]
vyos@r16# set vpp interfaces gre gre2 remote '192.0.2.25'
[edit]
vyos@r16# set vpp interfaces gre gre2 source-address '192.0.2.1'
[edit]
vyos@r16# set vpp interfaces gre gre2 kernel-interface 'vpptun12'
[edit]
vyos@r16# set vpp kernel-interfaces vpptun12 address '10.0.0.0/31'
[edit]
vyos@r16# commit
[edit]
vyos@r16# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:8a:0c:b9 brd ff:ff:ff:ff:ff:ff
    altname enp1s0
    inet 192.168.122.16/24 brd 192.168.122.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe8a:cb9/64 scope link 
       valid_lft forever preferred_lft forever
4: pim6reg@NONE: <NOARP,UP,LOWER_UP> mtu 1452 qdisc noqueue state UNKNOWN group default qlen 1000
    link/pimreg 
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 52:54:00:2a:7f:63 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.1/30 brd 192.0.2.3 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe2a:7f63/64 scope link 
       valid_lft forever preferred_lft forever
6: vpptun12: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 9000 qdisc mq state UNKNOWN group default qlen 500
    link/none 
    inet 10.0.0.0/31 scope global vpptun12
       valid_lft forever preferred_lft forever
[edit]
vyos@r16# 
[edit]
vyos@r16# delete vpp 
[edit]
vyos@r16# commit
[ vpp kernel-interfaces vpptun12 ]
Interface vpptun12 must be created before using in configuration
delete [ vpp kernel-interfaces vpptun12 ] failed
delete [ vpp ] failed
Commit failed
[edit]
vyos@r16# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:8a:0c:b9 brd ff:ff:ff:ff:ff:ff
    altname enp1s0
    inet 192.168.122.16/24 brd 192.168.122.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe8a:cb9/64 scope link 
       valid_lft forever preferred_lft forever
4: pim6reg@NONE: <NOARP,UP,LOWER_UP> mtu 1452 qdisc noqueue state UNKNOWN group default qlen 1000
    link/pimreg 
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 52:54:00:2a:7f:63 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.1/30 brd 192.0.2.3 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe2a:7f63/64 scope link 
       valid_lft forever preferred_lft forever
[edit]
vyos@r16# show vpp
Possible completions:
  <Enter>	Execute the current command
      
[edit]
vyos@r16# show vpp
-kernel-interfaces vpptun12 {
-    address 10.0.0.0/31
-}
-settings {
-    interface eth1 {
-        driver dpdk
-    }
-}
[edit]
vyos@r16#

Logs:

vyos@r16:~$ sudo journalctl -f
Jan 31 14:33:47 r16 netplugd[2800]: /etc/netplug/netplug eth1 in -> pid 2800
Jan 31 14:33:47 r16 netplugd[2801]: /etc/netplug/netplug eth1 in -> pid 2801
Jan 31 14:33:47 r16 netplugd[1009]: eth1: state INNING flags 0x00011043 UP,BROADCAST,RUNNING,MULTICAST,10000 -> 0x00001002 BROADCAST,MULTICAST
Jan 31 14:33:47 r16 systemd[1]: opt-vyatta-config-tmp-new_config_2751.mount: Deactivated successfully.
Jan 31 14:33:47 r16 sshd[2747]: pam_env(sshd:session): deprecated reading of user environment enabled
Jan 31 14:33:48 r16 netplugd[1009]: eth1: state PROBING flags 0x00001002 BROADCAST,MULTICAST -> 0x00001003 UP,BROADCAST,MULTICAST
Jan 31 14:33:48 r16 netplugd[2933]: /etc/netplug/netplug eth1 probe -> pid 2933
Jan 31 14:33:48 r16 netplugd[1009]: eth1: state PROBING_UP flags 0x00001003 UP,BROADCAST,MULTICAST -> 0x00011043 UP,BROADCAST,RUNNING,MULTICAST,10000
Jan 31 14:33:48 r16 netplugd[1009]: eth1: state PROBING_UP pid 2933 exited status 256
Jan 31 14:33:48 r16 netplugd[2934]: /etc/netplug/netplug eth1 in -> pid 2934
Jan 31 14:33:50 r16 vyos-configd[748]: Sending reply: error_code 1 with output
Jan 31 14:33:50 r16 vyos-configd[748]: Received message: {"type": "node", "last": false, "data": "VYOS_TAGNODE_VALUE=gre2/usr/libexec/vyos/conf_mode/vpp_interfaces_gre.py"}
Jan 31 14:33:50 r16 (udev-worker)[3021]: Network interface NamePolicy= disabled on kernel command line.
Jan 31 14:33:50 r16 vyos-configd[748]: Sending reply: error_code 1 with output
Jan 31 14:33:50 r16 vyos-configd[748]: Received message: {"type": "node", "last": true, "data": "VYOS_TAGNODE_VALUE=vpptun12/usr/libexec/vyos/conf_mode/vpp_kernel-interfaces.py"}
Jan 31 14:33:50 r16 vpp[2735]: interface: hw_add_del_mac_address: vnet_hw_interface_add_del_mac_address: Secondary MAC Addresses not supported for interface index 3
Jan 31 14:33:50 r16 vpp[2735]: interface: hw_add_del_mac_address: vnet_hw_interface_add_del_mac_address: Secondary MAC Addresses not supported for interface index 3
Jan 31 14:33:50 r16 vpp[2735]: interface: hw_add_del_mac_address: vnet_hw_interface_add_del_mac_address: Secondary MAC Addresses not supported for interface index 3
Jan 31 14:33:50 r16 vyos-configd[748]: Sending reply: error_code 1 with output
Jan 31 14:33:50 r16 vyos-configd[748]: scripts_called: ['vpp', 'vpp_interfaces_gre_gre2', 'vpp_kernel-interfaces_vpptun12']
Jan 31 14:33:50 r16 systemd[1]: opt-vyatta-config-tmp-new_config_2509.mount: Deactivated successfully.
Jan 31 14:33:51 r16 commit[3080]: Successful change to active configuration by user vyos on /dev/pts/0
Jan 31 14:33:51 r16 netplugd[1009]: eth1: state INNING pid 2934 exited status 0
Jan 31 14:33:51 r16 netplugd[1009]: eth1: state INNING pid 2801 exited status 0
Jan 31 14:33:57 r16 vyos-configd[748]: Received message: {"type": "init"}
Jan 31 14:33:57 r16 vyos-configd[748]: config session pid is 2509
Jan 31 14:33:57 r16 vyos-configd[748]: config session sudo_user is vyos
Jan 31 14:33:57 r16 vyos-configd[748]: commit_scripts: ['vpp', 'vpp_interfaces_gre_gre2', 'vpp_kernel-interfaces_vpptun12']
Jan 31 14:33:57 r16 vyos-configd[748]: Received message: {"type": "node", "last": false, "data": "VYOS_TAGNODE_VALUE=gre2/usr/libexec/vyos/conf_mode/vpp_interfaces_gre.py"}
Jan 31 14:33:57 r16 vpp[2735]: interface: hw_add_del_mac_address: vnet_hw_interface_add_del_mac_address: Secondary MAC Addresses not supported for interface index 3
Jan 31 14:33:57 r16 vpp[2735]: interface: hw_add_del_mac_address: vnet_hw_interface_add_del_mac_address: Secondary MAC Addresses not supported for interface index 3
Jan 31 14:33:57 r16 vyos-configd[748]: Sending reply: error_code 1 with output
Jan 31 14:33:57 r16 vyos-configd[748]: Received message: {"type": "node", "last": false, "data": "VYOS_TAGNODE_VALUE=vpptun12/usr/libexec/vyos/conf_mode/vpp_kernel-interfaces.py"}
Jan 31 14:33:57 r16 vyos-configd[748]: Interface vpptun12 must be created before using in configuration
Jan 31 14:33:57 r16 vyos-configd[748]: Sending reply: error_code 2 with output
Jan 31 14:33:57 r16 systemd[1]: opt-vyatta-config-tmp-new_config_2509.mount: Deactivated successfully.
^C
vyos@r16:~$

Details

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

Event Timeline

Viacheslav triaged this task as Normal priority.