Re: Arping Bug
Piers O'Hanlon
Mon Dec 12 17:48:56 2016
Hi Roy,
Thanks for your previous explanation about the arping operation - simultaneous ARPINGs would be a nice speed improvement…
It seems there appears to be a problem with your fix for ARPING - I think one needs to add the same check (state->arping_index != -1) used in dhcp_arp_conflicted() to the arping checks (e.g. state->arping_index != -1 && state->arping_index < ifo->arping_len) in both dhcp_start1() and dhcp_probed() otherwise ARPING start sending ARPs when there are no arping entries.
Best,
Piers
> On 6 Dec 2016, at 19:30, Roy Marples <roy@xxxxxxxxxxxx> wrote:
>
> On 06/12/16 15:58, Piers O'Hanlon wrote:
>> Thanks - That seems to run fine on my systems - it looks like a good
>> fix.
>
> Yay :)
> http://roy.marples.name/projects/dhcpcd/ci/5a3bbc20da475fe2?sbs=0
>
>>
>> One thing that may still be awry is the check in
>> dhcp_arp_conflicted() only for the previous address in the arping
>> array (amsg->sip.s_addr == ifo->arping[state->arping_index]) - it
>> seems that if there if there are multiple arping entries then it
>> might miss a matching address from one of the preceding arping
>> queries?
>
> The dhcp state only handled one ARPing at a time so this is fine.
> If we allow it to ping everything at once then it introduces a race
> condition where the faster host to reply wins if >1 host on the network.
> Still, this might be a good thing I guess in some cases.
>
> Anyone else here have any thoughts on this as a speed boost?
>
> Roy
>
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail
Archive administrator: postmaster@marples.name