[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140116.113757.135125089659188691.davem@davemloft.net>
Date: Thu, 16 Jan 2014 11:37:57 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: jiri@...nulli.us
Cc: netdev@...r.kernel.org, jes@...ined-monkey.org
Subject: Re: [patch net-next] neigh: use NEIGH_VAR_INIT in ndo_neigh_setup
functions.
From: Jiri Pirko <jiri@...nulli.us>
Date: Thu, 16 Jan 2014 08:15:19 +0100
> Mon, Jan 13, 2014 at 08:35:38PM CET, davem@...emloft.net wrote:
>>From: Jiri Pirko <jiri@...nulli.us>
>>Date: Thu, 9 Jan 2014 14:13:47 +0100
>>
>>> When ndo_neigh_setup is called, the bitfield used by NEIGH_VAR_SET is
>>> not initialized yet. This might cause confusion for the people who use
>>> NEIGH_VAR_SET in ndo_neigh_setup. So rather introduce NEIGH_VAR_INIT for
>>> usage in ndo_neigh_setup.
>>>
>>> Signed-off-by: Jiri Pirko <jiri@...nulli.us>
>>
>>Wouldn't it be better to move the neigh_parms_data_state_cleanall() call
>>before we invoke ->ndo_neigh_setup()? It seems that this code intended
>>to work that way, no?
>
> Even moving neigh_parms_data_state_cleanall before ndo_neigh_setup
> would not solve this. In ndo_neigh_setup the original default value is
> changed. If it is changed by NEIGH_VAR_SET, it touches data_state bit
> and it looks as if it was changed by user. That is not desired because
> default value change would be ignored for this device. Therefore there
> is need for NEIGH_VAR_INIT which does not touch data_state bit.
That makes sense, applied, thanks Jiri.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists