locked vpp can communicate (ping) with other devices but linux host can't #routing #vpp #plugin #dpdk


najieb
 

hello i found a problem with vpp.
 
i use the plugin from https://github.com/pimvanpelt/lcpng
when i put the ip in the vlan and ping to another host via vpp the result is normal but if i ping from the linux host directly the result is not working.

vpp# show ip neighbors TenGigabitEthernetb5/0/3.921
    Time                       IP                    Flags      Ethernet              Interface
  59172.3827        fe80::c6ad:34ff:fe4d:d2a9          D    c4:ad:34:4d:d2:a9 TenGigabitEthernetb5/0/3.921
  59143.1475        fe80::a55:31ff:fe10:5886           D    08:55:31:10:58:86 TenGigabitEthernetb5/0/3.921
  59143.1443            2401:1700:1:1::bd              D    08:55:31:10:58:86 TenGigabitEthernetb5/0/3.921
vpp# show interface addr
TenGigabitEthernetb5/0/3.921 (up):
  L3 2401:1700:1:1::be/126
 

vpp# ping 2401:1700:1:1::bd
76 bytes from 2401:1700:1:1::bd: icmp_seq=1 ttl=64 time=17.8802 ms
76 bytes from 2401:1700:1:1::bd: icmp_seq=2 ttl=64 time=10.8126 ms
76 bytes from 2401:1700:1:1::bd: icmp_seq=3 ttl=64 time=13.9053 ms
76 bytes from 2401:1700:1:1::bd: icmp_seq=4 ttl=64 time=17.9334 ms
76 bytes from 2401:1700:1:1::bd: icmp_seq=5 ttl=64 time=10.9368 ms
 
Statistics: 5 sent, 5 received, 0% packet loss


najib@DPDK:~$ ip add show dev xe1.921
14: xe1.921@xe1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:ec:ef:43:b3:1b brd ff:ff:ff:ff:ff:ff
    inet6 2401:1700:1:1::be/126 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::3eec:efff:fe43:b31b/64 scope link
       valid_lft forever preferred_lft forever


najib@DPDK:~$ ip ne show dev xe1.921
2401:1700:1:1::bd  router FAILED

najib@DPDK:~$ ping 2401:1700:1:1::bd
PING 2401:1700:1:1::bd(2401:1700:1:1::bd) 56 data bytes
From 2401:1700:1:1::be icmp_seq=1 Destination unreachable: Address unreachable
From 2401:1700:1:1::be icmp_seq=2 Destination unreachable: Address unreachable
From 2401:1700:1:1::be icmp_seq=3 Destination unreachable: Address unreachable
^C
--- 2401:1700:1:1::bd ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4100ms



any suggestions for this problem?


Petr Boltík
 

Hi,

do you disabled ping plugin in vpp? You cannot mix ICMP from VPP and host on one machine.

You can also try VPP 22.06 with integrated linux-cp and linux-nl plugin.

Petr


Dne út 26. 7. 2022 3:37 uživatel najieb <maimun.najib@...> napsal:

hello i found a problem with vpp.
 
when i put the ip in the vlan and ping to another host via vpp the result is normal but if i ping from the linux host directly the result is not working.

vpp# show ip neighbors TenGigabitEthernetb5/0/3.921
    Time                       IP                    Flags      Ethernet              Interface
  59172.3827        fe80::c6ad:34ff:fe4d:d2a9          D    c4:ad:34:4d:d2:a9 TenGigabitEthernetb5/0/3.921
  59143.1475        fe80::a55:31ff:fe10:5886           D    08:55:31:10:58:86 TenGigabitEthernetb5/0/3.921
  59143.1443            2401:1700:1:1::bd              D    08:55:31:10:58:86 TenGigabitEthernetb5/0/3.921
vpp# show interface addr
TenGigabitEthernetb5/0/3.921 (up):
  L3 2401:1700:1:1::be/126
 

vpp# ping 2401:1700:1:1::bd
76 bytes from 2401:1700:1:1::bd: icmp_seq=1 ttl=64 time=17.8802 ms
76 bytes from 2401:1700:1:1::bd: icmp_seq=2 ttl=64 time=10.8126 ms
76 bytes from 2401:1700:1:1::bd: icmp_seq=3 ttl=64 time=13.9053 ms
76 bytes from 2401:1700:1:1::bd: icmp_seq=4 ttl=64 time=17.9334 ms
76 bytes from 2401:1700:1:1::bd: icmp_seq=5 ttl=64 time=10.9368 ms
 
Statistics: 5 sent, 5 received, 0% packet loss


najib@DPDK:~$ ip add show dev xe1.921
14: xe1.921@xe1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:ec:ef:43:b3:1b brd ff:ff:ff:ff:ff:ff
    inet6 2401:1700:1:1::be/126 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::3eec:efff:fe43:b31b/64 scope link
       valid_lft forever preferred_lft forever


najib@DPDK:~$ ip ne show dev xe1.921
2401:1700:1:1::bd  router FAILED

najib@DPDK:~$ ping 2401:1700:1:1::bd
PING 2401:1700:1:1::bd(2401:1700:1:1::bd) 56 data bytes
From 2401:1700:1:1::be icmp_seq=1 Destination unreachable: Address unreachable
From 2401:1700:1:1::be icmp_seq=2 Destination unreachable: Address unreachable
From 2401:1700:1:1::be icmp_seq=3 Destination unreachable: Address unreachable
^C
--- 2401:1700:1:1::bd ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4100ms



any suggestions for this problem?




najieb
 

Hi Petr,

i didn't disable the ping plugin in vpp. but that only happens in some vlan interfaces. in other vlan ping can work from vpp and host.

vpp# show interface addr
TenGigabitEthernetb5/0/3.914 (up):
  L3 2401:1700:1:1::a2/126


vpp# show ip neighbors TenGigabitEthernetb5/0/3.914
    Time                       IP                    Flags      Ethernet              Interface
   9829.2736        fe80::c6ad:34ff:fe4d:d2a8          D    c4:ad:34:4d:d2:a8 TenGigabitEthernetb5/0/3.914
   9871.3363            2401:1700:1:1::a1              D    c4:ad:34:4d:d2:a8 TenGigabitEthernetb5/0/3.914


vpp# ping 2401:1700:1:1::a1
76 bytes from 2401:1700:1:1::a1: icmp_seq=1 ttl=64 time=18.8173 ms
76 bytes from 2401:1700:1:1::a1: icmp_seq=2 ttl=64 time=11.7815 ms
76 bytes from 2401:1700:1:1::a1: icmp_seq=3 ttl=64 time=14.7457 ms
76 bytes from 2401:1700:1:1::a1: icmp_seq=4 ttl=64 time=11.7331 ms
76 bytes from 2401:1700:1:1::a1: icmp_seq=5 ttl=64 time=11.7573 ms


najib@DPDK:~$ ip nei show dev xe1.914
2401:1700:1:1::a1 lladdr c4:ad:34:4d:d2:a8 router REACHABLE


najib@DPDK:~$ ip addr show dev xe1.914
9: xe1.914@xe1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:ec:ef:43:b3:1b brd ff:ff:ff:ff:ff:ff
    inet6 2401:1700:1:1::a2/126 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::3eec:efff:fe43:b31b/64 scope link
       valid_lft forever preferred_lft forever


najib@DPDK:~$ ping 2401:1700:1:1::a1
PING 2401:1700:1:1::a1(2401:1700:1:1::a1) 56 data bytes
64 bytes from 2401:1700:1:1::a1: icmp_seq=1 ttl=64 time=9.76 ms
64 bytes from 2401:1700:1:1::a1: icmp_seq=2 ttl=64 time=9.84 ms
64 bytes from 2401:1700:1:1::a1: icmp_seq=3 ttl=64 time=9.77 ms
64 bytes from 2401:1700:1:1::a1: icmp_seq=4 ttl=64 time=9.80 ms
64 bytes from 2401:1700:1:1::a1: icmp_seq=5 ttl=64 time=9.84 ms
^C
--- 2401:1700:1:1::a1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 9.760/9.802/9.842/0.032 ms


Pim van Pelt
 

Hoi,

I have found with both VPP and DANOS (another open source routing platform with DPDK under the covers), that some IPv6 neighbors consistently do not make their way into the Linux neighbors list (but they are fine in VPP, as you showed).

If you pre-populate the IPv6 neighbor table in the LInux side, does the host respond?
# sudo ip -6 nei replace 2401:1700:1:1::a1 lladdr <itsmac> dev xe1.914

groet,
Pim


On Mon, Jul 25, 2022 at 10:02 PM najieb <maimun.najib@...> wrote:
Hi Petr,

i didn't disable the ping plugin in vpp. but that only happens in some vlan interfaces. in other vlan ping can work from vpp and host.
vpp# show interface addr
TenGigabitEthernetb5/0/3.914 (up):
  L3 2401:1700:1:1::a2/126


vpp# show ip neighbors TenGigabitEthernetb5/0/3.914
    Time                       IP                    Flags      Ethernet              Interface
   9829.2736        fe80::c6ad:34ff:fe4d:d2a8          D    c4:ad:34:4d:d2:a8 TenGigabitEthernetb5/0/3.914
   9871.3363            2401:1700:1:1::a1              D    c4:ad:34:4d:d2:a8 TenGigabitEthernetb5/0/3.914


vpp# ping 2401:1700:1:1::a1
76 bytes from 2401:1700:1:1::a1: icmp_seq=1 ttl=64 time=18.8173 ms
76 bytes from 2401:1700:1:1::a1: icmp_seq=2 ttl=64 time=11.7815 ms
76 bytes from 2401:1700:1:1::a1: icmp_seq=3 ttl=64 time=14.7457 ms
76 bytes from 2401:1700:1:1::a1: icmp_seq=4 ttl=64 time=11.7331 ms
76 bytes from 2401:1700:1:1::a1: icmp_seq=5 ttl=64 time=11.7573 ms


najib@DPDK:~$ ip nei show dev xe1.914
2401:1700:1:1::a1 lladdr c4:ad:34:4d:d2:a8 router REACHABLE


najib@DPDK:~$ ip addr show dev xe1.914
9: xe1.914@xe1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:ec:ef:43:b3:1b brd ff:ff:ff:ff:ff:ff
    inet6 2401:1700:1:1::a2/126 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::3eec:efff:fe43:b31b/64 scope link
       valid_lft forever preferred_lft forever


najib@DPDK:~$ ping 2401:1700:1:1::a1
PING 2401:1700:1:1::a1(2401:1700:1:1::a1) 56 data bytes
64 bytes from 2401:1700:1:1::a1: icmp_seq=1 ttl=64 time=9.76 ms
64 bytes from 2401:1700:1:1::a1: icmp_seq=2 ttl=64 time=9.84 ms
64 bytes from 2401:1700:1:1::a1: icmp_seq=3 ttl=64 time=9.77 ms
64 bytes from 2401:1700:1:1::a1: icmp_seq=4 ttl=64 time=9.80 ms
64 bytes from 2401:1700:1:1::a1: icmp_seq=5 ttl=64 time=9.84 ms
^C
--- 2401:1700:1:1::a1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 9.760/9.802/9.842/0.032 ms





--
Pim van Pelt <pim@...>
PBVP1-RIPE - http://www.ipng.nl/


najieb
 

Hi Pim,

I've tried populating the IPv6 neighbor table on the Linux side, but it still doesn't work.



najib@DPDK:~$ ip nei show dev xe1.921

2401:1700:1:1::bd lladdr c4:ad:34:4d:d2:a8 PERMANENT

najib@-DPDK:~$ ping 2401:1700:1:1::bd

PING 2401:1700:1:1::bd(2401:1700:1:1::bd) 56 data bytes

^C

--- 2401:1700:1:1::bd ping statistics ---

8 packets transmitted, 0 received, 100% packet loss, time 7149ms