<div dir="ltr">I have a patch ready for ovn to send REPLIES additionally to the requests<div>so, if we believe it makes sense, I can send it to the dev list.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 16, 2017 at 4:18 PM, Ihar Hrachyshka <span dir="ltr">&lt;<a href="mailto:ihrachys@redhat.com" target="_blank">ihrachys@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In neutron reference implementation, initially we were sending ARP<br>
REPLYs only that didn&#39;t work with existing kernels in specific<br>
scenarios. We added ARP REQUESTs (while continuing sending REPLYs). I<br>
think it makes sense to send both types because some nodes may e.g.<br>
know about REPLYs and not REQUESTs. If linux kernel had the mistake of<br>
ignoring gratuitous REQUESTs till very recently, there may be other,<br>
more niche networking stacks also exposing inconsistent behavior.<br>
<br>
Ihar<br>
<br>
On Thu, Nov 16, 2017 at 6:22 AM, Miguel Angel Ajo Pelayo<br>
<div class="HOEnZb"><div class="h5">&lt;<a href="mailto:majopela@redhat.com">majopela@redhat.com</a>&gt; wrote:<br>
&gt; Sorry, it&#39;s the other way around.<br>
&gt;<br>
&gt; REQUEST is what neutron reference solution started using (ANSWER was the<br>
&gt; previous type of ARP packet which was leading to issues with the buggy<br>
&gt; kernels).<br>
&gt;<br>
&gt; Since ovn-controller emits gratuitous ARPs as broadcast ARP requests, that<br>
&gt; should<br>
&gt; work.<br>
&gt;<br>
&gt; @Ihar, if you can confirm that our understanding is correct, that&#39;d be<br>
&gt; great, I also<br>
&gt; see that your upstream kernel patch is really modifying the behaviour to<br>
&gt; also<br>
&gt; catch ANSWER packets with sha == tha, which should be equivalent as per RFC.<br>
&gt;<br>
&gt; On Wed, Nov 15, 2017 at 8:10 PM, Miguel Angel Ajo Pelayo<br>
&gt; &lt;<a href="mailto:majopela@redhat.com">majopela@redhat.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; See inline email, I wasn&#39;t subscribed to ovs-discuss, sorry :)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Nov 15, 2017 2:32 PM, &quot;Miguel Angel Ajo Pelayo&quot; &lt;<a href="mailto:majopela@redhat.com">majopela@redhat.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; We&#39;re finding that sometimes reused floating IP addresses<br>
&gt;&gt; won&#39;t be reachable, for some reason. And I remembered that,<br>
&gt;&gt; we found the same issue once for the reference<br>
&gt;&gt; solution once, it was fixed here: [1]<br>
&gt;&gt;<br>
&gt;&gt; Basically because the linux kernel, under some conditions will<br>
&gt;&gt; ignore the gARP requests, and reset a timeout value that would<br>
&gt;&gt; keep ignoring those requests. But if it received a REPLY<br>
&gt;&gt; packet instead, it worked.<br>
&gt;&gt;<br>
&gt;&gt; I believe that we may want to do the same in ovn controller.<br>
&gt;&gt;<br>
&gt;&gt; [1]<br>
&gt;&gt; <a href="https://github.com/openstack/neutron/commit/82831b9d8d4bd61f90610df9eca8c7f6e447f8d8" rel="noreferrer" target="_blank">https://github.com/openstack/<wbr>neutron/commit/<wbr>82831b9d8d4bd61f90610df9eca8c7<wbr>f6e447f8d8</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div>