Re: [PATCH v2] neighbour: confirm neigh entries when ARP packet is received

From: Vasiliy Khoruzhick
Date: Tue Sep 11 2018 - 14:23:44 EST


On Tue, Sep 11, 2018 at 11:12 AM, Stephen Hemminger
<stephen@xxxxxxxxxxxxxxxxxx> wrote:
> On Tue, 11 Sep 2018 11:04:06 -0700
> Vasily Khoruzhick <vasilykh@xxxxxxxxxx> wrote:
>
>> diff --git a/net/core/neighbour.c b/net/core/neighbour.c
>> index aa19d86937af..56a554597db5 100644
>> --- a/net/core/neighbour.c
>> +++ b/net/core/neighbour.c
>> @@ -1180,6 +1180,12 @@ int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new,
>> lladdr = neigh->ha;
>> }
>>
>> + /* Update confirmed timestamp for neighbour entry after we
>> + * received ARP packet even if it doesn't change IP to MAC binding.
>> + */
>> + if (new & NUD_CONNECTED)
>> + neigh->confirmed = jiffies;
>
> You might want to do:
> if ((new & NUD_CONNECTED) && neigh->confirmed != jiffies)
> neigh->confirmed = jiffies;
>
> This avoid poisoning the cacheline with unnecessary write.

Sorry for duplicate - this time in plain text, so it should get
through lkml filter:

I don't think that it's performance-critical path, so this
optimization is unnecessary
and it doesn't improve code readability.