mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
octeontx2-pf: Support to change VLAN based RSS hash options via ethtool
Add support to control rx-flow-hash based on VLAN. By default VLAN plus 4-tuple based hashing is enabled. Changes can be done runtime using ethtool To enable 2-tuple plus VLAN based flow distribution # ethtool -N <intf> rx-flow-hash <prot> sdv To enable 4-tuple plus VLAN based flow distribution # ethtool -N <intf> rx-flow-hash <prot> sdfnv Signed-off-by: George Cherian <george.cherian@marvell.com> Signed-off-by: Sunil Goutham <sgoutham@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8f900363df
commit
a55ff8ef5a
@ -355,7 +355,7 @@ int otx2_rss_init(struct otx2_nic *pfvf)
|
||||
rss->flowkey_cfg = rss->enable ? rss->flowkey_cfg :
|
||||
NIX_FLOW_KEY_TYPE_IPV4 | NIX_FLOW_KEY_TYPE_IPV6 |
|
||||
NIX_FLOW_KEY_TYPE_TCP | NIX_FLOW_KEY_TYPE_UDP |
|
||||
NIX_FLOW_KEY_TYPE_SCTP;
|
||||
NIX_FLOW_KEY_TYPE_SCTP | NIX_FLOW_KEY_TYPE_VLAN;
|
||||
|
||||
ret = otx2_set_flowkey_cfg(pfvf);
|
||||
if (ret)
|
||||
|
@ -428,6 +428,8 @@ static int otx2_get_rss_hash_opts(struct otx2_nic *pfvf,
|
||||
|
||||
/* Mimimum is IPv4 and IPv6, SIP/DIP */
|
||||
nfc->data = RXH_IP_SRC | RXH_IP_DST;
|
||||
if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_VLAN)
|
||||
nfc->data |= RXH_VLAN;
|
||||
|
||||
switch (nfc->flow_type) {
|
||||
case TCP_V4_FLOW:
|
||||
@ -477,6 +479,11 @@ static int otx2_set_rss_hash_opts(struct otx2_nic *pfvf,
|
||||
if (!(nfc->data & RXH_IP_SRC) || !(nfc->data & RXH_IP_DST))
|
||||
return -EINVAL;
|
||||
|
||||
if (nfc->data & RXH_VLAN)
|
||||
rss_cfg |= NIX_FLOW_KEY_TYPE_VLAN;
|
||||
else
|
||||
rss_cfg &= ~NIX_FLOW_KEY_TYPE_VLAN;
|
||||
|
||||
switch (nfc->flow_type) {
|
||||
case TCP_V4_FLOW:
|
||||
case TCP_V6_FLOW:
|
||||
|
Loading…
Reference in New Issue
Block a user