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:~$