VPP defunc_ interfaces have to be flushed for the Mellanox
vyos@vyos-for-test:~$ show int Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address MAC VRF MTU S/L Description ----------- ---------------- ----------------- ------- ----- ----- ------------- eth0 00:90:fa:79:ef:92 default 1500 u/u eth1 - 00:90:fa:79:ef:96 default 1500 u/D eth2 - 00:90:fa:79:ef:9a default 1500 u/D eth3 - 00:90:fa:79:ef:9e default 1500 u/D eth4 - b8:ce:f6:f2:67:72 default 1500 u/D eth5 - b8:ce:f6:f2:67:73 default 1500 u/D eth6 192.168.2.1/24 0c:42:a1:2b:74:22 default 9500 u/u eth7 192.168.3.1/24 0c:42:a1:2b:74:23 default 9500 u/u lo 127.0.0.1/8 00:00:00:00:00:00 default 65536 u/u ::1/128 vyos@vyos-for-test:~$ vyos@vyos-for-test:~$ vyos@vyos-for-test:~$ ping 192.168.2.2 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. 64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=0.166 ms ^C --- 192.168.2.2 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.166/0.166/0.166/0.000 ms vyos@vyos-for-test:~$ vyos@vyos-for-test:~$ conf se[edit] vyos@vyos-for-test# set vpp settings interface eth6 driver dpdk [edit] vyos@vyos-for-test# commit [ vpp ] WARNING: ring-buffer option in eth6 settings is not supported by VPP interfaces. It will be ignored. [edit] vyos@vyos-for-test# [edit] vyos@vyos-for-test# run ping 192.168.2.2 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. From 192.168.2.1 icmp_seq=1 Destination Host Unreachable From 192.168.2.1 icmp_seq=2 Destination Host Unreachable From 192.168.2.1 icmp_seq=3 Destination Host Unreachable From 192.168.2.1 icmp_seq=4 Destination Host Unreachable From 192.168.2.1 icmp_seq=5 Destination Host Unreachable From 192.168.2.1 icmp_seq=6 Destination Host Unreachable
To get it working needs to flush interface address
vyos@vyos-for-test:~$ sudo ip addr flush dev defunct_eth6 vyos@vyos-for-test:~$ show ip route Codes: K - kernel route, C - connected, L - local, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure S>* 16.0.0.0/8 [1/0] via 192.168.2.2, eth6, weight 1, 00:00:02 S>* 48.0.0.0/8 [1/0] via 192.168.3.2, eth7, weight 1, 1d19h44m C>* 192.168.2.0/24 is directly connected, eth6, weight 1, 00:15:17 L>* 192.168.2.1/32 is directly connected, eth6, weight 1, 00:15:17 C>* 192.168.3.0/24 is directly connected, eth7, weight 1, 1d19h44m L>* 192.168.3.1/32 is directly connected, eth7, weight 1, 1d19h44m vyos@vyos-for-test:~$ ping 192.168.2.2 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. 64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=0.140 ms 64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 time=0.041 ms 64 bytes from 192.168.2.2: icmp_seq=3 ttl=64 time=0.033 ms ^C64 bytes from 192.168.2.2: icmp_seq=4 ttl=64 time=0.038 ms
Something is wrong here https://github.com/vyos/vyos-vpp/blob/7de0ab73af90d4d39519f3ba0dec80fb6b9badf5/src/conf_mode/vpp.py#L684