• Michal Kubecek's avatar
    ethtool: set device channel counts with CHANNELS_SET request · e19c591e
    Michal Kubecek authored
    Implement CHANNELS_SET netlink request to set channel counts of a network
    device. These are traditionally set with ETHTOOL_SCHANNELS ioctl request.
    
    Like the ioctl implementation, the generic ethtool code checks if supplied
    values do not exceed driver defined limits; if they do, first offending
    attribute is reported using extack. Checks preventing removing channels
    used for RX indirection table or zerocopy AF_XDP socket are also
    implemented.
    
    Move ethtool_get_max_rxfh_channel() helper into common.c so that it can be
    used by both ioctl and netlink code.
    
    v2:
      - fix netdev reference leak in error path (found by Jakub Kicinsky)
    Signed-off-by: default avatarMichal Kubecek <mkubecek@suse.cz>
    Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e19c591e
ioctl.c 78.4 KB