qlcnic: enable RSS for TCP over IPv6
o This patch enables RSS for TYPE-C packets to enable RSS for TCP over IPv6 Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
776e7bded9
commit
efbcb1b20a
|
@ -756,7 +756,10 @@ int qlcnic_config_bridged_mode(struct qlcnic_adapter *adapter, u32 enable)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define RSS_HASHTYPE_IP_TCP 0x3
|
#define QLCNIC_RSS_HASHTYPE_IP_TCP 0x3
|
||||||
|
#define QLCNIC_ENABLE_TYPE_C_RSS BIT_10
|
||||||
|
#define QLCNIC_RSS_FEATURE_FLAG (1ULL << 63)
|
||||||
|
#define QLCNIC_RSS_IND_TABLE_MASK 0x7ULL
|
||||||
|
|
||||||
int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int enable)
|
int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int enable)
|
||||||
{
|
{
|
||||||
|
@ -783,13 +786,19 @@ int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int enable)
|
||||||
* 7-6: hash_type_ipv6
|
* 7-6: hash_type_ipv6
|
||||||
* 8: enable
|
* 8: enable
|
||||||
* 9: use indirection table
|
* 9: use indirection table
|
||||||
* 47-10: reserved
|
* 10: type-c rss
|
||||||
* 63-48: indirection table mask
|
* 11: udp rss
|
||||||
|
* 47-12: reserved
|
||||||
|
* 62-48: indirection table mask
|
||||||
|
* 63: feature flag
|
||||||
*/
|
*/
|
||||||
word = ((u64)(RSS_HASHTYPE_IP_TCP & 0x3) << 4) |
|
word = ((u64)(QLCNIC_RSS_HASHTYPE_IP_TCP & 0x3) << 4) |
|
||||||
((u64)(RSS_HASHTYPE_IP_TCP & 0x3) << 6) |
|
((u64)(QLCNIC_RSS_HASHTYPE_IP_TCP & 0x3) << 6) |
|
||||||
((u64)(enable & 0x1) << 8) |
|
((u64)(enable & 0x1) << 8) |
|
||||||
((0x7ULL) << 48);
|
((u64)QLCNIC_RSS_IND_TABLE_MASK << 48) |
|
||||||
|
(u64)QLCNIC_ENABLE_TYPE_C_RSS |
|
||||||
|
(u64)QLCNIC_RSS_FEATURE_FLAG;
|
||||||
|
|
||||||
req.words[0] = cpu_to_le64(word);
|
req.words[0] = cpu_to_le64(word);
|
||||||
for (i = 0; i < 5; i++)
|
for (i = 0; i < 5; i++)
|
||||||
req.words[i+1] = cpu_to_le64(key[i]);
|
req.words[i+1] = cpu_to_le64(key[i]);
|
||||||
|
|
Loading…
Reference in New Issue