Intermittent Connectivity

A common cause of intermittent connectivity, especially when multiple interfaces are on the same L2 segment, is the default behavior of ARP on linux.

Reproduce the issue

First, identify your gateway IP address, referred to hereafter as gateway_ip

[root@chi-edge etc]# ip route show default
default via dev brpublic proto static metric 427

Attempt to ping this address, both from the host, and from inside the neutron router namespace.

-D Print timestamp (unix time + microseconds as in gettimeofday) before each line.

-O Report outstanding ICMP ECHO reply before sending next packet. This is useful together with the timestamp -D to log output to a diagnostic file and search for missing answers.

-n Numeric output only. No attempt will be made to lookup symbolic names for host addresses.

[shermanm@chi-edge ~]$ ping -D -O -n
PING ( 56(84) bytes of data.
[1642959883.911513] 64 bytes from icmp_seq=1 ttl=64 time=2.21 ms
[1642959884.910674] 64 bytes from icmp_seq=2 ttl=64 time=1.83 ms
[shermanm@chi-edge ~]$ sudo ip netns exec qrouter-33cbf0c8-ff4e-40f3-b704-55bc9cbb5dcf bash
[root@chi-edge shermanm]# ping -D -O -n
PING ( 56(84) bytes of data.
[1642959964.131076] 64 bytes from icmp_seq=1 ttl=64 time=1.29 ms
[1642959965.137204] 64 bytes from icmp_seq=2 ttl=64 time=6.02 ms

If you observe this failing from one or the other namespace, check the system arp table.

[root@chi-edge etc]# ip -s  neighbor show dev br-ex lladdr 50:c7:09:09:e9:60 used 153459/153519/153459 probes 0 STALE dev brpublic lladdr 50:c7:09:09:e9:60 ref 1 used 661/1/661 probes 4 REACHABLE

Last updated