History

ethtool: update mapping of features to legacy ioctl requests

Legacy ioctl request like ETHTOOL_GTXCSUM are still used by ethtool utility to get values of legacy flags (which rather work as feature groups). These are calculated from values of actual features and request to set them is implemented as an attempt to set all features mapping to them but there are two inconsistencies: - tx-checksum-fcoe-crc is shown under tx-checksumming but NETIF_F_FCOE_CRC is not included in ETHTOOL_GTXCSUM/ETHTOOL_STXCSUM - tx-scatter-gather-fraglist is shown under scatter-gather but NETIF_F_FRAGLIST is not included in ETHTOOL_GSG/ETHTOOL_SSG As the mapping in ethtool output is more correct from logical point of view, fix ethtool_get_feature_mask() to match it.

Michal Kubecek committed 6 years ago

Commit f70bb061 parent 98130541 file · +3 −2Browse files

Unified · Split

net/ethtool/ioctl.c+3−2
@@ -198,13 +198,14 @@ static netdev_features_t ethtool_get_feature_mask(u32 eth_cmd) · 197 unmodified lines
198198 switch (eth_cmd) {
199199 case ETHTOOL_GTXCSUM:
200200 case ETHTOOL_STXCSUM:
201− return NETIF_F_CSUM_MASK | NETIF_F_SCTP_CRC;
201+ return NETIF_F_CSUM_MASK | NETIF_F_FCOE_CRC_BIT |
202+ NETIF_F_SCTP_CRC;
202203 case ETHTOOL_GRXCSUM:
203204 case ETHTOOL_SRXCSUM:
204205 return NETIF_F_RXCSUM;
205206 case ETHTOOL_GSG:
206207 case ETHTOOL_SSG:
207− return NETIF_F_SG;
208+ return NETIF_F_SG | NETIF_F_FRAGLIST;
208209 case ETHTOOL_GTSO:
209210 case ETHTOOL_STSO:
210211 return NETIF_F_ALL_TSO;