aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ethtool.h
diff options
context:
space:
mode:
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>2011-02-22 11:52:29 -0500
committerDavid S. Miller <davem@davemloft.net>2011-02-23 17:23:32 -0500
commit39fc0ce5710c53bad14aaba1a789eec810c556f9 (patch)
treedc5ee565d2fe030dab7cdc1757c822ecc793cc4f /include/linux/ethtool.h
parent4e4db200541d49404ff39ac482efee072dd72144 (diff)
net: Implement SFEATURES compatibility for not updated drivers
Use discrete setting ops for not updated drivers. This will not make them conform to full G/SFEATURES semantics, though. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/ethtool.h')
-rw-r--r--include/linux/ethtool.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 54d776c2c1b5..aac3e2eeb4fd 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -591,6 +591,9 @@ struct ethtool_sfeatures {
591 * Probably there are other device-specific constraints on some features 591 * Probably there are other device-specific constraints on some features
592 * in the set. When %ETHTOOL_F_UNSUPPORTED is set, .valid is considered 592 * in the set. When %ETHTOOL_F_UNSUPPORTED is set, .valid is considered
593 * here as though ignored bits were cleared. 593 * here as though ignored bits were cleared.
594 * %ETHTOOL_F_COMPAT - some or all changes requested were made by calling
595 * compatibility functions. Requested offload state cannot be properly
596 * managed by kernel.
594 * 597 *
595 * Meaning of bits in the masks are obtained by %ETHTOOL_GSSET_INFO (number of 598 * Meaning of bits in the masks are obtained by %ETHTOOL_GSSET_INFO (number of
596 * bits in the arrays - always multiple of 32) and %ETHTOOL_GSTRINGS commands 599 * bits in the arrays - always multiple of 32) and %ETHTOOL_GSTRINGS commands
@@ -600,10 +603,12 @@ struct ethtool_sfeatures {
600enum ethtool_sfeatures_retval_bits { 603enum ethtool_sfeatures_retval_bits {
601 ETHTOOL_F_UNSUPPORTED__BIT, 604 ETHTOOL_F_UNSUPPORTED__BIT,
602 ETHTOOL_F_WISH__BIT, 605 ETHTOOL_F_WISH__BIT,
606 ETHTOOL_F_COMPAT__BIT,
603}; 607};
604 608
605#define ETHTOOL_F_UNSUPPORTED (1 << ETHTOOL_F_UNSUPPORTED__BIT) 609#define ETHTOOL_F_UNSUPPORTED (1 << ETHTOOL_F_UNSUPPORTED__BIT)
606#define ETHTOOL_F_WISH (1 << ETHTOOL_F_WISH__BIT) 610#define ETHTOOL_F_WISH (1 << ETHTOOL_F_WISH__BIT)
611#define ETHTOOL_F_COMPAT (1 << ETHTOOL_F_COMPAT__BIT)
607 612
608#ifdef __KERNEL__ 613#ifdef __KERNEL__
609 614