diff options
Diffstat (limited to 'include/linux/netdev_features.h')
| -rw-r--r-- | include/linux/netdev_features.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h index 9672781c593d..0f5837a9b1ba 100644 --- a/include/linux/netdev_features.h +++ b/include/linux/netdev_features.h | |||
| @@ -125,6 +125,11 @@ enum { | |||
| 125 | #define NETIF_F_HW_L2FW_DOFFLOAD __NETIF_F(HW_L2FW_DOFFLOAD) | 125 | #define NETIF_F_HW_L2FW_DOFFLOAD __NETIF_F(HW_L2FW_DOFFLOAD) |
| 126 | #define NETIF_F_BUSY_POLL __NETIF_F(BUSY_POLL) | 126 | #define NETIF_F_BUSY_POLL __NETIF_F(BUSY_POLL) |
| 127 | 127 | ||
| 128 | #define for_each_netdev_feature(mask_addr, feature) \ | ||
| 129 | int bit; \ | ||
| 130 | for_each_set_bit(bit, (unsigned long *)mask_addr, NETDEV_FEATURE_COUNT) \ | ||
| 131 | feature = __NETIF_F_BIT(bit); | ||
| 132 | |||
| 128 | /* Features valid for ethtool to change */ | 133 | /* Features valid for ethtool to change */ |
| 129 | /* = all defined minus driver/device-class-related */ | 134 | /* = all defined minus driver/device-class-related */ |
| 130 | #define NETIF_F_NEVER_CHANGE (NETIF_F_VLAN_CHALLENGED | \ | 135 | #define NETIF_F_NEVER_CHANGE (NETIF_F_VLAN_CHALLENGED | \ |
| @@ -167,6 +172,12 @@ enum { | |||
| 167 | */ | 172 | */ |
| 168 | #define NETIF_F_ALL_FOR_ALL (NETIF_F_NOCACHE_COPY | NETIF_F_FSO) | 173 | #define NETIF_F_ALL_FOR_ALL (NETIF_F_NOCACHE_COPY | NETIF_F_FSO) |
| 169 | 174 | ||
| 175 | /* | ||
| 176 | * If upper/master device has these features disabled, they must be disabled | ||
| 177 | * on all lower/slave devices as well. | ||
| 178 | */ | ||
| 179 | #define NETIF_F_UPPER_DISABLES NETIF_F_LRO | ||
| 180 | |||
| 170 | /* changeable features with no special hardware requirements */ | 181 | /* changeable features with no special hardware requirements */ |
| 171 | #define NETIF_F_SOFT_FEATURES (NETIF_F_GSO | NETIF_F_GRO) | 182 | #define NETIF_F_SOFT_FEATURES (NETIF_F_GSO | NETIF_F_GRO) |
| 172 | 183 | ||
