Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Roopa Prabhu and committed by
David S. Miller
aafb3e98 b2dec116

+5 -1
+5 -1
include/linux/netdev_features.h
··· 66 66 NETIF_F_HW_VLAN_STAG_FILTER_BIT,/* Receive filtering on VLAN STAGs */ 67 67 NETIF_F_HW_L2FW_DOFFLOAD_BIT, /* Allow L2 Forwarding in Hardware */ 68 68 NETIF_F_BUSY_POLL_BIT, /* Busy poll */ 69 + NETIF_F_HW_SWITCH_OFFLOAD_BIT, /* HW switch offload */ 69 70 70 71 /* 71 72 * Add your fresh new feature above and remember to update ··· 125 124 #define NETIF_F_HW_VLAN_STAG_TX __NETIF_F(HW_VLAN_STAG_TX) 126 125 #define NETIF_F_HW_L2FW_DOFFLOAD __NETIF_F(HW_L2FW_DOFFLOAD) 127 126 #define NETIF_F_BUSY_POLL __NETIF_F(BUSY_POLL) 127 + #define NETIF_F_HW_SWITCH_OFFLOAD __NETIF_F(HW_SWITCH_OFFLOAD) 128 128 129 129 /* Features valid for ethtool to change */ 130 130 /* = all defined minus driver/device-class-related */ ··· 161 159 */ 162 160 #define NETIF_F_ONE_FOR_ALL (NETIF_F_GSO_SOFTWARE | NETIF_F_GSO_ROBUST | \ 163 161 NETIF_F_SG | NETIF_F_HIGHDMA | \ 164 - NETIF_F_FRAGLIST | NETIF_F_VLAN_CHALLENGED) 162 + NETIF_F_FRAGLIST | NETIF_F_VLAN_CHALLENGED | \ 163 + NETIF_F_HW_SWITCH_OFFLOAD) 164 + 165 165 /* 166 166 * If one device doesn't support one of these features, then disable it 167 167 * for all in netdev_increment_features.