diff options
author | Vlad Zolotarov <vladz@cloudius-systems.com> | 2015-03-30 14:35:23 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-04-11 00:57:22 -0400 |
commit | 01a3d796813d6302af9f828f34b73d21a4b96c9a (patch) | |
tree | 44165af986242ee8da953ad85da4037a443699e0 /include/linux/netdevice.h | |
parent | 7f276efb45f8b022eeb9a0453240937806dc27e3 (diff) |
if_link: Add an additional parameter to ifla_vf_info for RSS querying
Add configuration setting for drivers to allow/block an RSS Redirection
Table and a Hash Key querying for discrete VFs.
On some devices VF share the mentioned above information with PF and
querying it may adduce a theoretical security risk. We want to let a
system administrator to decide if he/she wants to take this risk or not.
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r-- | include/linux/netdevice.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index bf6d9df34d7b..13acb3d8ecdd 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -878,6 +878,11 @@ typedef u16 (*select_queue_fallback_t)(struct net_device *dev, | |||
878 | * int (*ndo_set_vf_link_state)(struct net_device *dev, int vf, int link_state); | 878 | * int (*ndo_set_vf_link_state)(struct net_device *dev, int vf, int link_state); |
879 | * int (*ndo_set_vf_port)(struct net_device *dev, int vf, | 879 | * int (*ndo_set_vf_port)(struct net_device *dev, int vf, |
880 | * struct nlattr *port[]); | 880 | * struct nlattr *port[]); |
881 | * | ||
882 | * Enable or disable the VF ability to query its RSS Redirection Table and | ||
883 | * Hash Key. This is needed since on some devices VF share this information | ||
884 | * with PF and querying it may adduce a theoretical security risk. | ||
885 | * int (*ndo_set_vf_rss_query_en)(struct net_device *dev, int vf, bool setting); | ||
881 | * int (*ndo_get_vf_port)(struct net_device *dev, int vf, struct sk_buff *skb); | 886 | * int (*ndo_get_vf_port)(struct net_device *dev, int vf, struct sk_buff *skb); |
882 | * int (*ndo_setup_tc)(struct net_device *dev, u8 tc) | 887 | * int (*ndo_setup_tc)(struct net_device *dev, u8 tc) |
883 | * Called to setup 'tc' number of traffic classes in the net device. This | 888 | * Called to setup 'tc' number of traffic classes in the net device. This |
@@ -1099,6 +1104,9 @@ struct net_device_ops { | |||
1099 | struct nlattr *port[]); | 1104 | struct nlattr *port[]); |
1100 | int (*ndo_get_vf_port)(struct net_device *dev, | 1105 | int (*ndo_get_vf_port)(struct net_device *dev, |
1101 | int vf, struct sk_buff *skb); | 1106 | int vf, struct sk_buff *skb); |
1107 | int (*ndo_set_vf_rss_query_en)( | ||
1108 | struct net_device *dev, | ||
1109 | int vf, bool setting); | ||
1102 | int (*ndo_setup_tc)(struct net_device *dev, u8 tc); | 1110 | int (*ndo_setup_tc)(struct net_device *dev, u8 tc); |
1103 | #if IS_ENABLED(CONFIG_FCOE) | 1111 | #if IS_ENABLED(CONFIG_FCOE) |
1104 | int (*ndo_fcoe_enable)(struct net_device *dev); | 1112 | int (*ndo_fcoe_enable)(struct net_device *dev); |