diff options
author | Govindarajulu Varadarajan <gvaradar@cisco.com> | 2018-03-01 11:07:22 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-04 18:19:25 -0500 |
commit | 48398b6e7065691011b09f34d6c31d74013090b6 (patch) | |
tree | ac1be2d27fbb11df71b596b7af96d1ce8cc1cd86 /drivers/net/ethernet/cisco/enic/enic_main.c | |
parent | 7e24c64253ed134a3c699cceda6963ac1fa6f4c8 (diff) | |
download | linux-48398b6e7065691011b09f34d6c31d74013090b6.tar.gz linux-48398b6e7065691011b09f34d6c31d74013090b6.tar.bz2 linux-48398b6e7065691011b09f34d6c31d74013090b6.zip |
enic: set UDP rss flag
New hardware needs UDP flag set to enable UDP L4 rss hash. Add ethtool
get option to display supported rss flow hash.
Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/cisco/enic/enic_main.c')
-rw-r--r-- | drivers/net/ethernet/cisco/enic/enic_main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c index 3280a05f9cf1..5213bc01a6e9 100644 --- a/drivers/net/ethernet/cisco/enic/enic_main.c +++ b/drivers/net/ethernet/cisco/enic/enic_main.c @@ -2316,7 +2316,7 @@ static int enic_set_rss_nic_cfg(struct enic *enic) { struct device *dev = enic_get_dev(enic); const u8 rss_default_cpu = 0; - const u8 rss_hash_type = NIC_CFG_RSS_HASH_TYPE_IPV4 | + u8 rss_hash_type = NIC_CFG_RSS_HASH_TYPE_IPV4 | NIC_CFG_RSS_HASH_TYPE_TCP_IPV4 | NIC_CFG_RSS_HASH_TYPE_IPV6 | NIC_CFG_RSS_HASH_TYPE_TCP_IPV6; @@ -2324,6 +2324,8 @@ static int enic_set_rss_nic_cfg(struct enic *enic) const u8 rss_base_cpu = 0; u8 rss_enable = ENIC_SETTING(enic, RSS) && (enic->rq_count > 1); + if (vnic_dev_capable_udp_rss(enic->vdev)) + rss_hash_type |= NIC_CFG_RSS_HASH_TYPE_UDP; if (rss_enable) { if (!enic_set_rsskey(enic)) { if (enic_set_rsscpu(enic, rss_hash_bits)) { |