<div dir="ltr">Hi folks,<div><br></div><div>I'm experiencing a weird issue with OpenStack Networking + OpenvSwitch. My setup consists of several compute nodes, and a networking node (l3, OVS, dhcp, etc.). These are connected via a Gigabit switch, and it is no where near capacity.</div>
<div><br></div><div>It seems that the first packet being sent through a quantum router is delayed by several hundred milliseconds. Here is some sample ping output:</div><div><br></div><div><u>VM(comp node 1) -> VM(comp node 2)</u></div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div># ping 10.199.0.7</div><div>PING 10.199.0.7 (10.199.0.7) 56(84) bytes of data.</div><div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_seq=1 ttl=64 time=3.45 ms</div>
<div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_seq=2 ttl=64 time=0.792 ms</div><div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_seq=3 ttl=64 time=0.837 ms</div><div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_seq=4 ttl=64 time=0.864 ms</div>
</div><div><br></div></blockquote><u>VM -> qrouter</u><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div># ping 10.199.0.1</div><div>PING 10.199.0.1 (10.199.0.1) 56(84) bytes of data.</div>
<div>64 bytes from <a href="http://10.199.0.1">10.199.0.1</a>: icmp_seq=1 ttl=64 time=248 ms</div><div>64 bytes from <a href="http://10.199.0.1">10.199.0.1</a>: icmp_seq=2 ttl=64 time=0.512 ms</div><div>64 bytes from <a href="http://10.199.0.1">10.199.0.1</a>: icmp_seq=3 ttl=64 time=0.553 ms</div>
<div>64 bytes from <a href="http://10.199.0.1">10.199.0.1</a>: icmp_seq=4 ttl=64 time=0.533 ms</div><div>64 bytes from <a href="http://10.199.0.1">10.199.0.1</a>: icmp_seq=5 ttl=64 time=0.679 ms</div></div><div><br></div>
</blockquote><u>qrouter -> VM</u></div><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div># ip netns exec qrouter-XXXXX ping 10.199.0.7</div><div>PING 10.199.0.7 (10.199.0.7) 56(84) bytes of data.</div>
<div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_req=1 ttl=64 time=576 ms</div><div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_req=2 ttl=64 time=0.530 ms</div><div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_req=3 ttl=64 time=0.597 ms</div>
<div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_req=4 ttl=64 time=0.723 ms</div><div>64 bytes from <a href="http://10.199.0.7">10.199.0.7</a>: icmp_req=5 ttl=64 time=0.677 ms</div></div><div><br></div>
</blockquote><u>qrouter -> Internet</u></div><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div># ip netns exec qrouter-XXXXX ping 8.8.8.8</div><div>PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.</div>
<div>64 bytes from <a href="http://8.8.8.8">8.8.8.8</a>: icmp_req=1 ttl=43 time=267 ms</div><div>64 bytes from <a href="http://8.8.8.8">8.8.8.8</a>: icmp_req=2 ttl=43 time=37.0 ms</div><div>64 bytes from <a href="http://8.8.8.8">8.8.8.8</a>: icmp_req=3 ttl=43 time=37.2 ms</div>
<div>64 bytes from <a href="http://8.8.8.8">8.8.8.8</a>: icmp_req=4 ttl=43 time=37.3 ms</div></div><div><br></div></blockquote><br></div><div>Here's a tcpdump on the qrouter of a ping from a vm on that network. It doesn't appear to show the large delay:</div>
<div><div>14:33:38.024040 fa:16:3e:36:8e:f2 > fa:16:3e:99:85:5d, ethertype IPv4 (0x0800), length 98: 10.199.0.4 > <a href="http://10.199.0.1">10.199.0.1</a>: ICMP echo request, id 29953, seq 1, length 64</div><div>14:33:38.024089 fa:16:3e:99:85:5d > fa:16:3e:36:8e:f2, ethertype IPv4 (0x0800), length 98: 10.199.0.1 > <a href="http://10.199.0.4">10.199.0.4</a>: ICMP echo reply, id 29953, seq 1, length 64</div>
<div>14:33:38.526725 fa:16:3e:36:8e:f2 > fa:16:3e:99:85:5d, ethertype IPv4 (0x0800), length 98: 10.199.0.4 > <a href="http://10.199.0.1">10.199.0.1</a>: ICMP echo request, id 29953, seq 2, length 64</div><div>14:33:38.526781 fa:16:3e:99:85:5d > fa:16:3e:36:8e:f2, ethertype IPv4 (0x0800), length 98: 10.199.0.1 > <a href="http://10.199.0.4">10.199.0.4</a>: ICMP echo reply, id 29953, seq 2, length 64</div>
<div>14:33:39.526943 fa:16:3e:36:8e:f2 > fa:16:3e:99:85:5d, ethertype IPv4 (0x0800), length 98: 10.199.0.4 > <a href="http://10.199.0.1">10.199.0.1</a>: ICMP echo request, id 29953, seq 3, length 64</div><div>14:33:39.527000 fa:16:3e:99:85:5d > fa:16:3e:36:8e:f2, ethertype IPv4 (0x0800), length 98: 10.199.0.1 > <a href="http://10.199.0.4">10.199.0.4</a>: ICMP echo reply, id 29953, seq 3, length 64</div>
<div>14:33:39.665664 fa:16:3e:61:ef:25 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 10.199.0.7 tell 10.199.0.9, length 28</div><div>14:33:40.526963 fa:16:3e:36:8e:f2 > fa:16:3e:99:85:5d, ethertype IPv4 (0x0800), length 98: 10.199.0.4 > <a href="http://10.199.0.1">10.199.0.1</a>: ICMP echo request, id 29953, seq 4, length 64</div>
<div>14:33:40.527021 fa:16:3e:99:85:5d > fa:16:3e:36:8e:f2, ethertype IPv4 (0x0800), length 98: 10.199.0.1 > <a href="http://10.199.0.4">10.199.0.4</a>: ICMP echo reply, id 29953, seq 4, length 64</div></div><div><br>
</div><div>And a dump from the VM performing the ping:</div><div><div>14:34:59.897783 fa:16:3e:36:8e:f2 > fa:16:3e:99:85:5d, ethertype IPv4 (0x0800), length 98: 10.199.0.4 > <a href="http://10.199.0.1">10.199.0.1</a>: ICMP echo request, id 38145, seq 1, length 64</div>
<div>14:35:00.897569 fa:16:3e:36:8e:f2 > fa:16:3e:99:85:5d, ethertype IPv4 (0x0800), length 98: 10.199.0.4 > <a href="http://10.199.0.1">10.199.0.1</a>: ICMP echo request, id 38145, seq 2, length 64</div><div>14:35:01.260201 fa:16:3e:99:85:5d > fa:16:3e:36:8e:f2, ethertype IPv4 (0x0800), length 98: 10.199.0.1 > <a href="http://10.199.0.4">10.199.0.4</a>: ICMP echo reply, id 38145, seq 1, length 64</div>
<div>14:35:01.260229 fa:16:3e:99:85:5d > fa:16:3e:36:8e:f2, ethertype IPv4 (0x0800), length 98: 10.199.0.1 > <a href="http://10.199.0.4">10.199.0.4</a>: ICMP echo reply, id 38145, seq 2, length 64</div></div><div><br>
</div><div>So the router sees a sub-millisecond delay, while the VM sees a significant delay (almost a second). This only happens during the first packet, and then responses are sub 1ms.</div><div><br></div><div>It appears to be an issue with the router, as delays are seem with both internal and external traffic on the router itself. Any thoughts are greatly appreciated!</div>
</div>