Subject: Re: [patch net-next v3 02/17] net: make vid as a parameter for ndo_fdb_add/ndo_fdb_del

From: John Fastabend <[email-masked]>
Date: Tue, 25 Nov 2014 08:33:23 -0800

On 11/25/2014 08:19 AM, Roopa Prabhu wrote:
> On 11/25/14, 7:38 AM, Jamal Hadi Salim wrote:
>> On 11/25/14 05:28, Jiri Pirko wrote:
>>> Do the work of parsing NDA_VLAN directly in rtnetlink code, pass simple
>>> u16 vid to drivers from there.
>>>
>>
>> Acked-by: Jamal Hadi Salim <[email-masked]>
>>
>> I know this maintains status quo of what is already in the kernel.
>> But we need to take care of policy (pass it from user space) which
>> dictates how to proceed on failure. Three possible options:
>> 1) If something fails just continue with the rest of the transaction.
>> Return success if at least one thing succeeds.
>> 2) If something fails stop transaction and return some partial success code
>> 3) If something fails undo everything that has been done and return failure.
>>
>> So two bits from somewhere would be useful to send from userspace->kernel
>>
>>
> 
> ack to what jamal said.  In the model where sw and hw must be in sync, we need a mechanism to roll back in this approach.

I agree its needed but your already out of sync for some period of time
why the software/hardware tables are being programmed. There is no global
sw/hw commit operation.

I'm not sure it matters if the time being out of sync is a touch longer
because we go to user space to fix it. But agreed it can be supported.

> 
> I like that you are using existing ops.
> To avoid the synchronization problem or to make the rollback easier, You can still use existing ops and move this into the bridge driver.
> ie call ndo_fdb_add/del and ndo_bridge_setlink/ndo_bridge_getlink on the bridge port from within the bridge driver.
> 
> Again, vote for change ndo_bridge_setlink/ndo_bridge_getlink to be renamed to ndo_setlink/getlink for other netdevs. I can submit a patch.
> 
>