aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/netdev_features.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/netdev_features.h')
-rw-r--r--include/linux/netdev_features.h11
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