Subject: [PATCH 1/2] drivers: net: cpsw: Add helper functions for VLAN ALE implementation

From: [email-masked] (Mugunthan V N)
Date: Wed, 30 Jan 2013 09:47:11 +0530

On 1/30/2013 5:08 AM, Cyril Chemparathy wrote:
> On 01/28/2013 03:12 PM, Mugunthan V N wrote:
>> Add helper functions for VLAN ALE implementations for Add, Delete
>> Dump VLAN related ALE entries
>>
>> Signed-off-by: Mugunthan V N <[email-masked]>
>> ---
>>   drivers/net/ethernet/ti/cpsw_ale.c |  172 
>> ++++++++++++++++++++++++++++++++++--
>>   drivers/net/ethernet/ti/cpsw_ale.h |   11 +++
>>   2 files changed, 178 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/ti/cpsw_ale.c 
>> b/drivers/net/ethernet/ti/cpsw_ale.c
>> index 0e9ccc2..0d7a60a 100644
>> --- a/drivers/net/ethernet/ti/cpsw_ale.c
>> +++ b/drivers/net/ethernet/ti/cpsw_ale.c
>
> [...]
>
>> +int cpsw_ale_add_vlan(struct cpsw_ale *ale, u16 vid, int port, int 
>> untag,
>> +              int reg_mcast, int unreg_mcast)
>
> [...]
>
>> +int cpsw_ale_del_vlan(struct cpsw_ale *ale, u16 vid, int port)
>
> [...]
>
>> +int cpsw_ale_vlan_add_ucast(struct cpsw_ale *ale, u8 *addr, int port,
>> +                int flags, u16 vid)
>
> [...]
>
>> +int cpsw_ale_vlan_del_ucast(struct cpsw_ale *ale, u8 *addr, int 
>> port, u16 vid)
>
> [...]
>
>> +int cpsw_ale_vlan_add_mcast(struct cpsw_ale *ale, u8 *addr,
>> +        int port_mask, u16 vid, int super, int mcast_state)
>
> [...]
>
>> +int cpsw_ale_vlan_del_mcast(struct cpsw_ale *ale, u8 *addr,
>> +                int port_mask, u16 vid)
>
> Are the VLAN and non-VLAN variants different enough to justify 
> separate implementations for all these functions?  Could we collapse 
> these by generalizing the original to take an optional vlan argument 
> instead?
>
> Thanks
> -- Cyril.
Since vid is u16, any value to vid is valid, so only i have proposed new 
api for vlan.
add vlan and delete vlan has to be seperate vlan since these are new 
apis. Will merge
other api to existing api with additional vlan parameter.

Regards
Mugunthan V N