Subject: Re: [PATCH net-next v3 1/5] netdev: introduce new NETIF_F_HW_NETFUNC_OFFLOAD feature flag for switch device offloads

From: roopa <[email-masked]>
Date: Fri, 23 Jan 2015 07:48:28 -0800

On 1/23/15, 1:44 AM, Jiri Pirko wrote:
> Fri, Jan 23, 2015 at 05:33:22AM CET, [email-masked] wrote:
>> From: Roopa Prabhu <[email-masked]>
>>
>> This is a high level feature flag for all switch asic offloads
>>
>> switch drivers set this flag on switch ports. Logical devices like
>> bridge, bonds, vxlans can inherit this flag from their slaves/ports.
>>
>> The patch also adds the flag to NETIF_F_ONE_FOR_ALL, so that it gets
>> propagated to the upperdevices (bridges and bonds).
>>
>> Signed-off-by: Roopa Prabhu <[email-masked]>
>> ---
>> include/linux/netdev_features.h |    6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h
>> index 8e30685..784a461 100644
>> --- a/include/linux/netdev_features.h
>> +++ b/include/linux/netdev_features.h
>> @@ -66,6 +66,7 @@ enum {
>> 	NETIF_F_HW_VLAN_STAG_FILTER_BIT,/* Receive filtering on VLAN STAGs */
>> 	NETIF_F_HW_L2FW_DOFFLOAD_BIT,	/* Allow L2 Forwarding in Hardware */
>> 	NETIF_F_BUSY_POLL_BIT,		/* Busy poll */
>> +	NETIF_F_HW_NETFUNC_OFFLOAD_BIT,  /* HW switch offload */
> How about rather "HW_DATAPATH_OFFLOAD"? Feels more accurate. By the
> name, I still cannot understand what NETFUNC should mean.

It was supposed to mean 'network function offload'. sure, will consider 
HW_DATAPATH_OFFLOAD
or if anybody has other suggestions.

thanks.
>
>
>> 	/*
>> 	 * Add your fresh new feature above and remember to update
>> @@ -124,6 +125,7 @@ enum {
>> #define NETIF_F_HW_VLAN_STAG_TX	__NETIF_F(HW_VLAN_STAG_TX)
>> #define NETIF_F_HW_L2FW_DOFFLOAD	__NETIF_F(HW_L2FW_DOFFLOAD)
>> #define NETIF_F_BUSY_POLL	__NETIF_F(BUSY_POLL)
>> +#define NETIF_F_HW_NETFUNC_OFFLOAD	__NETIF_F(HW_NETFUNC_OFFLOAD)
>>
>> /* Features valid for ethtool to change */
>> /* = all defined minus driver/device-class-related */
>> @@ -159,7 +161,9 @@ enum {
>>   */
>> #define NETIF_F_ONE_FOR_ALL	(NETIF_F_GSO_SOFTWARE | NETIF_F_GSO_ROBUST | \
>> 				 NETIF_F_SG | NETIF_F_HIGHDMA |		\
>> -				 NETIF_F_FRAGLIST | NETIF_F_VLAN_CHALLENGED)
>> +				 NETIF_F_FRAGLIST | NETIF_F_VLAN_CHALLENGED | \
>> +				 NETIF_F_HW_NETFUNC_OFFLOAD)
>> +
>> /*
>>   * If one device doesn't support one of these features, then disable it
>>   * for all in netdev_increment_features.
>> -- 
>> 1.7.10.4
>>