From: Brian Haley <brian.haley@hp.com>
To: Ulf samuelsson <netdev@emagii.com>
Cc: Netdev <netdev@vger.kernel.org>
Subject: Re: How to make stack send broadcast ARP request when entry is STALE?
Date: Tue, 11 Nov 2014 11:36:06 -0500 [thread overview]
Message-ID: <54623AF6.9020403@hp.com> (raw)
In-Reply-To: <C8A75CC5-18FA-4D2D-9259-74254D808107@emagii.com>
On 11/11/2014 05:08 AM, Ulf samuelsson wrote:
> If I set ucast_solicit to '0', then I always send broadcast, which is not desirable.
That seems to contradict your statement:
"The HP router is configured by a customer, and they intentionally limit replies
to broadcast, and that is how they want it."
So I'm not understanding your question.
The best way forward would be for you to send a patch out that gets your desired
behaviour, and let others give feedback on it.
-Brian
> In the PROBE state of the ARP state machine, "probes" count from 0 .. ucast_probes.
>
> I can see the following arguments for letting "probes" count from
>
> 0.. (ucast_probes + app_probes + mcast_probes)
>
>
> A: This is how the IPv6 is doing it.
> It is not standardized in IPv4, but why should the IPv4 have a different behaviour?
>
> B: If you do not send out broadcast if unicast fails, then a broadcast will be sent out
> anyway, once the ARP entry is removed by the garbage collector.
> You get an annoyingly long delay before that happens.
>
> C: If a large data centre does not want broadcasts to be sent out,
> then they can set mcast_probes to 0, in which case no broadcasts will be sent
> out in PROBE state.
>
> D: When in other states, the counter runs until it a reply is had, or the counter wraps around.
> It is sending broadcast all the time.
>
>
> Best Regards
> Ulf Samuelsson
> ulf@emagii.com
> +46 (722) 427 437
>
>
>> 10 nov 2014 kl. 23:52 skrev Brian Haley <brian.haley@hp.com>:
>>
>>> On 11/07/2014 05:11 AM, Ulf samuelsson wrote:
>>> The HP router is configured by a customer, and they intentionally limit replies
>>> to broadcast, and that is how they want it.
>>
>> So this is the crux of the problem - the customer has configured the router so
>> that it doesn't play well with most modern network stacks that try and use
>> unicast so they don't send unnecessary broadcast packets. I don't know why I
>> thought this was something wrong with the router software.
>>
>> Did you try this?
>>
>> $ sudo sysctl net.ipv4.neigh.eth0.ucast_solicit=0
>>
>> It works for me.
>>
>> And they really should re-think their decision on that configuration setting.
>>
>> -Brian
>>
>>
>>> In the previous version of the build system, the Interpeak stack was used
>>> and this would in PROBE state send unicast ARP request, and if that failed
>>> send broadcast ARP.
>>>
>>> The native linux stack, when in PROBE state sends only unicast until it decides
>>> that it should enter FAILED state.
>>>
>>> The 'mcast_probes' variable seems to be totally ignored, except the first time,
>>> so I do not see why it is there.
>>>
>>> Best Regards
>>> Ulf Samuelsson
>>> ulf@emagii.com
>>> +46 (722) 427 437
>>>
>>>
>>>>> 7 nov 2014 kl. 10:54 skrev Brian Haley <brian.haley@hp.com>:
>>>>>
>>>>> On 11/05/2014 07:48 AM, Ulf samuelsson wrote:
>>>>> Have a problem with an HP router at a certain location, which
>>>>> is configured to only answer to broadcast ARP requests.
>>>>> That cannot be changed.
>>>>
>>>> Sorry to hear about the problem, but my only suggestions would be to try the latest firmware and/or put a call in to support. I don't happen work in the division that makes routers...
>>>>
>>>>> The first ARP request the kernel sends out, is a broadcast request,
>>>>> which is fine, but after the reply, the kernel sends unicast requests,
>>>>> which will not get any replies.
>>>>
>>>> You might be able to hack this by inserting an ebtables rule - check the dnat target section of the man page - don't know the exact syntax but it would probably end in '-j dnat --to-destination ff:ff:ff:ff:ff:ff'
>>>>
>>>> -Brian
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>
>>
>
next prev parent reply other threads:[~2014-11-11 16:36 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-05 6:48 How to make stack send broadcast ARP request when entry is STALE? Ulf samuelsson
2014-11-06 11:48 ` Sowmini Varadhan
2014-11-06 13:29 ` Ulf samuelsson
2014-11-07 9:54 ` Brian Haley
2014-11-07 10:11 ` Ulf samuelsson
2014-11-10 22:52 ` Brian Haley
2014-11-11 10:08 ` Ulf samuelsson
2014-11-11 16:36 ` Brian Haley [this message]
2014-11-12 8:46 ` Ulf samuelsson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54623AF6.9020403@hp.com \
--to=brian.haley@hp.com \
--cc=netdev@emagii.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.