diff options
-rw-r--r-- | Documentation/networking/netdev-features.txt | 7 | ||||
-rw-r--r-- | include/linux/netdev_features.h | 2 | ||||
-rw-r--r-- | net/core/ethtool.c | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/networking/netdev-features.txt b/Documentation/networking/netdev-features.txt index 7d2781230d30..4164f5c02e4b 100644 --- a/Documentation/networking/netdev-features.txt +++ b/Documentation/networking/netdev-features.txt | |||
@@ -158,3 +158,10 @@ VLANs. This may be not useful, though.] | |||
158 | This requests that the NIC append the Ethernet Frame Checksum (FCS) | 158 | This requests that the NIC append the Ethernet Frame Checksum (FCS) |
159 | to the end of the skb data. This allows sniffers and other tools to | 159 | to the end of the skb data. This allows sniffers and other tools to |
160 | read the CRC recorded by the NIC on receipt of the packet. | 160 | read the CRC recorded by the NIC on receipt of the packet. |
161 | |||
162 | * rx-all | ||
163 | |||
164 | This requests that the NIC receive all possible frames, including errored | ||
165 | frames (such as bad FCS, etc). This can be helpful when sniffing a link with | ||
166 | bad packets on it. Some NICs may receive more packets if also put into normal | ||
167 | PROMISC mdoe. | ||
diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h index d1331865f830..5ac32123035a 100644 --- a/include/linux/netdev_features.h +++ b/include/linux/netdev_features.h | |||
@@ -55,6 +55,7 @@ enum { | |||
55 | NETIF_F_NOCACHE_COPY_BIT, /* Use no-cache copyfromuser */ | 55 | NETIF_F_NOCACHE_COPY_BIT, /* Use no-cache copyfromuser */ |
56 | NETIF_F_LOOPBACK_BIT, /* Enable loopback */ | 56 | NETIF_F_LOOPBACK_BIT, /* Enable loopback */ |
57 | NETIF_F_RXFCS_BIT, /* Append FCS to skb pkt data */ | 57 | NETIF_F_RXFCS_BIT, /* Append FCS to skb pkt data */ |
58 | NETIF_F_RXALL_BIT, /* Receive errored frames too */ | ||
58 | 59 | ||
59 | /* | 60 | /* |
60 | * Add your fresh new feature above and remember to update | 61 | * Add your fresh new feature above and remember to update |
@@ -100,6 +101,7 @@ enum { | |||
100 | #define NETIF_F_UFO __NETIF_F(UFO) | 101 | #define NETIF_F_UFO __NETIF_F(UFO) |
101 | #define NETIF_F_VLAN_CHALLENGED __NETIF_F(VLAN_CHALLENGED) | 102 | #define NETIF_F_VLAN_CHALLENGED __NETIF_F(VLAN_CHALLENGED) |
102 | #define NETIF_F_RXFCS __NETIF_F(RXFCS) | 103 | #define NETIF_F_RXFCS __NETIF_F(RXFCS) |
104 | #define NETIF_F_RXALL __NETIF_F(RXALL) | ||
103 | 105 | ||
104 | /* Features valid for ethtool to change */ | 106 | /* Features valid for ethtool to change */ |
105 | /* = all defined minus driver/device-class-related */ | 107 | /* = all defined minus driver/device-class-related */ |
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 080161924a0d..6d6d7d25caaa 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c | |||
@@ -74,6 +74,7 @@ static const char netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN] | |||
74 | [NETIF_F_NOCACHE_COPY_BIT] = "tx-nocache-copy", | 74 | [NETIF_F_NOCACHE_COPY_BIT] = "tx-nocache-copy", |
75 | [NETIF_F_LOOPBACK_BIT] = "loopback", | 75 | [NETIF_F_LOOPBACK_BIT] = "loopback", |
76 | [NETIF_F_RXFCS_BIT] = "rx-fcs", | 76 | [NETIF_F_RXFCS_BIT] = "rx-fcs", |
77 | [NETIF_F_RXALL_BIT] = "rx-all", | ||
77 | }; | 78 | }; |
78 | 79 | ||
79 | static int ethtool_get_features(struct net_device *dev, void __user *useraddr) | 80 | static int ethtool_get_features(struct net_device *dev, void __user *useraddr) |