<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"><<a href="mailto:ihrachys@redhat.com" target="_blank">ihrachys@redhat.com</a>></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'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"><<a href="mailto:majopela@redhat.com">majopela@redhat.com</a>> wrote:<br>
> Sorry, it's the other way around.<br>
><br>
> REQUEST is what neutron reference solution started using (ANSWER was the<br>
> previous type of ARP packet which was leading to issues with the buggy<br>
> kernels).<br>
><br>
> Since ovn-controller emits gratuitous ARPs as broadcast ARP requests, that<br>
> should<br>
> work.<br>
><br>
> @Ihar, if you can confirm that our understanding is correct, that'd be<br>
> great, I also<br>
> see that your upstream kernel patch is really modifying the behaviour to<br>
> also<br>
> catch ANSWER packets with sha == tha, which should be equivalent as per RFC.<br>
><br>
> On Wed, Nov 15, 2017 at 8:10 PM, Miguel Angel Ajo Pelayo<br>
> <<a href="mailto:majopela@redhat.com">majopela@redhat.com</a>> wrote:<br>
>><br>
>> See inline email, I wasn't subscribed to ovs-discuss, sorry :)<br>
>><br>
>><br>
>> On Nov 15, 2017 2:32 PM, "Miguel Angel Ajo Pelayo" <<a href="mailto:majopela@redhat.com">majopela@redhat.com</a>><br>
>> wrote:<br>
>><br>
>><br>
>> We're finding that sometimes reused floating IP addresses<br>
>> won't be reachable, for some reason. And I remembered that,<br>
>> we found the same issue once for the reference<br>
>> solution once, it was fixed here: [1]<br>
>><br>
>> Basically because the linux kernel, under some conditions will<br>
>> ignore the gARP requests, and reset a timeout value that would<br>
>> keep ignoring those requests. But if it received a REPLY<br>
>> packet instead, it worked.<br>
>><br>
>> I believe that we may want to do the same in ovn controller.<br>
>><br>
>> [1]<br>
>> <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>
>><br>
>><br>
><br>
</div></div></blockquote></div><br></div>