netdev: introduce new NETIF_F_HW_SWITCH_OFFLOAD feature flag for switch device offloads
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 <roopa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
					parent
					
						
							
								b2dec116fb
							
						
					
				
			
			
				commit
				
					
						aafb3e98b2
					
				
			
		
					 1 changed files with 5 additions and 1 deletions
				
			
		|  | @ -66,6 +66,7 @@ enum { | ||||||
| 	NETIF_F_HW_VLAN_STAG_FILTER_BIT,/* Receive filtering on VLAN STAGs */ | 	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_HW_L2FW_DOFFLOAD_BIT,	/* Allow L2 Forwarding in Hardware */ | ||||||
| 	NETIF_F_BUSY_POLL_BIT,		/* Busy poll */ | 	NETIF_F_BUSY_POLL_BIT,		/* Busy poll */ | ||||||
|  | 	NETIF_F_HW_SWITCH_OFFLOAD_BIT,  /* HW switch offload */ | ||||||
| 
 | 
 | ||||||
| 	/*
 | 	/*
 | ||||||
| 	 * Add your fresh new feature above and remember to update | 	 * 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_VLAN_STAG_TX	__NETIF_F(HW_VLAN_STAG_TX) | ||||||
| #define NETIF_F_HW_L2FW_DOFFLOAD	__NETIF_F(HW_L2FW_DOFFLOAD) | #define NETIF_F_HW_L2FW_DOFFLOAD	__NETIF_F(HW_L2FW_DOFFLOAD) | ||||||
| #define NETIF_F_BUSY_POLL	__NETIF_F(BUSY_POLL) | #define NETIF_F_BUSY_POLL	__NETIF_F(BUSY_POLL) | ||||||
|  | #define NETIF_F_HW_SWITCH_OFFLOAD	__NETIF_F(HW_SWITCH_OFFLOAD) | ||||||
| 
 | 
 | ||||||
| /* Features valid for ethtool to change */ | /* Features valid for ethtool to change */ | ||||||
| /* = all defined minus driver/device-class-related */ | /* = 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 | \ | #define NETIF_F_ONE_FOR_ALL	(NETIF_F_GSO_SOFTWARE | NETIF_F_GSO_ROBUST | \ | ||||||
| 				 NETIF_F_SG | NETIF_F_HIGHDMA |		\ | 				 NETIF_F_SG | NETIF_F_HIGHDMA |		\ | ||||||
| 				 NETIF_F_FRAGLIST | NETIF_F_VLAN_CHALLENGED) | 				 NETIF_F_FRAGLIST | NETIF_F_VLAN_CHALLENGED | \ | ||||||
|  | 				 NETIF_F_HW_SWITCH_OFFLOAD) | ||||||
|  | 
 | ||||||
| /*
 | /*
 | ||||||
|  * If one device doesn't support one of these features, then disable it |  * If one device doesn't support one of these features, then disable it | ||||||
|  * for all in netdev_increment_features. |  * for all in netdev_increment_features. | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Roopa Prabhu
				Roopa Prabhu