• Michał Mirosław's avatar
    net: Introduce new feature setting ops · 5455c699
    Michał Mirosław authored
    This introduces a new framework to handle device features setting.
    It consists of:
      - new fields in struct net_device:
    	+ hw_features - features that hw/driver supports toggling
    	+ wanted_features - features that user wants enabled, when possible
      - new netdev_ops:
    	+ feat = ndo_fix_features(dev, feat) - API checking constraints for
    		enabling features or their combinations
    	+ ndo_set_features(dev) - API updating hardware state to match
    		changed dev->features
      - new ethtool commands:
    	+ ETHTOOL_GFEATURES/ETHTOOL_SFEATURES: get/set dev->wanted_features
    		and trigger device reconfiguration if resulting dev->features
    	+ ETHTOOL_GSTRINGS(ETH_SS_FEATURES): get feature bits names (meaning)
    Signed-off-by: default avatarMichał Mirosław <mirq-linux@rere.qmqm.pl>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>