From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vlad Zolotarov Subject: [PATCH net-next v6 0/7]: ixgbevf: Allow querying VFs RSS indirection table and key Date: Sun, 22 Mar 2015 21:01:20 +0200 Message-ID: <1427050887-19412-1-git-send-email-vladz@cloudius-systems.com> Cc: jeffrey.t.kirsher@intel.com, avi@cloudius-systems.com, gleb@cloudius-systems.com, Vlad Zolotarov To: netdev@vger.kernel.org Return-path: Received: from mail-we0-f174.google.com ([74.125.82.174]:34745 "EHLO mail-we0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751859AbbCVTBd (ORCPT ); Sun, 22 Mar 2015 15:01:33 -0400 Received: by wegp1 with SMTP id p1so121488255weg.1 for ; Sun, 22 Mar 2015 12:01:32 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Add the ethtool ops to VF driver to allow querying the RSS indirection table and RSS Random Key. On some devices VFs share the RSS Redirection Table and Hash Key with a PF and letting the VF query this information may introduce some security risks. Therefore we disable this feature by default for such devices (e.g. 82599) and allow it for those where there isn't any possible risk (e.g. on x550). The new netdev op is going to allow a system administrator to change the default behaviour with "ip link set" command. - netdev: Add a new netdev op to allow/block VF from querying RSS Indirection Table and RSS Hash Key. - PF driver: Add new VF-PF channel commands. - VF driver: Utilize these new commands and add the corresponding ethtool callbacks. New in v6: - Add a proper return code when an VF query operations are blocked by PF. - Added a required get_rxnfc callback to ixgbevf_ethtool_ops. - Changed a description of PATCH7: set the correct ethtool options names. New in v5: - Added a new netdev op to allow/block VF from querying RSS Indirection Table and RSS Hash Key. - Let VF query the RSS info only if VF is allowed to. New in v4: - Forgot to run checkpatch on v3 and there were a few styling things to fix. ;) New in v3: - Added a missing support for x550 devices. - Mask the indirection table values according to PSRTYPE[n].RQPL. - Minimized the number of added VF-PF commands. New in v2: - Added a detailed description to patches 4 and 5. New in v1 (compared to RFC): - Use "if-else" statement instead of a "switch-case" for a single option case. More specifically: in cases where the newly added API version is the only one allowed. We may consider using a "switch-case" back again when the list of allowed API versions in these specific places grows up. Vlad Zolotarov (7): if_link: Add an additional parameter to ifla_vf_info for RSS querying ixgbe: Add a new netdev op to allow/prevent a VF from querying an RSS info ixgbe: Add a RETA query command to VF-PF channel API ixgbevf: Add a RETA query code ixgbe: Add GET_RSS_KEY command to VF-PF channel commands set ixgbevf: Add RSS Key query code ixgbevf: Add the appropriate ethtool ops to query RSS indirection table and key drivers/net/ethernet/intel/ixgbe/ixgbe.h | 1 + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 7 ++ drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h | 10 ++ drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 119 ++++++++++++++++++ drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h | 2 + drivers/net/ethernet/intel/ixgbevf/ethtool.c | 58 +++++++++ drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 +- drivers/net/ethernet/intel/ixgbevf/mbx.h | 10 ++ drivers/net/ethernet/intel/ixgbevf/vf.c | 140 ++++++++++++++++++++++ drivers/net/ethernet/intel/ixgbevf/vf.h | 2 + include/linux/if_link.h | 1 + include/linux/netdevice.h | 8 ++ include/uapi/linux/if_link.h | 8 ++ net/core/rtnetlink.c | 32 ++++- 14 files changed, 395 insertions(+), 7 deletions(-) -- 2.1.0