mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-10 19:35:21 +02:00
octeontx2-af: fix issue with IPv6 ext match for RSS
[ Upstream commite23ac1095b
] While performing RSS based on IPv6, extension ltype is not being considered. This will be problem for fragmented packets or packets with extension header. Adding changes to match IPv6 ext header along with IPv6 ltype. Fixes:41a7aa7b80
("octeontx2-af: NIX Rx flowkey configuration for RSS") Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
2c41eaa8fb
commit
0207c79888
|
@ -3517,6 +3517,9 @@ static int get_flowkey_alg_idx(struct nix_hw *nix_hw, u32 flow_cfg)
|
|||
return -ERANGE;
|
||||
}
|
||||
|
||||
/* Mask to match ipv6(NPC_LT_LC_IP6) and ipv6 ext(NPC_LT_LC_IP6_EXT) */
|
||||
#define NPC_LT_LC_IP6_MATCH_MSK ((~(NPC_LT_LC_IP6 ^ NPC_LT_LC_IP6_EXT)) & 0xf)
|
||||
|
||||
static int set_flowkey_fields(struct nix_rx_flowkey_alg *alg, u32 flow_cfg)
|
||||
{
|
||||
int idx, nr_field, key_off, field_marker, keyoff_marker;
|
||||
|
@ -3643,7 +3646,7 @@ static int set_flowkey_fields(struct nix_rx_flowkey_alg *alg, u32 flow_cfg)
|
|||
field->bytesm1 = 15; /* DIP,16 bytes */
|
||||
}
|
||||
}
|
||||
field->ltype_mask = 0xF; /* Match only IPv6 */
|
||||
field->ltype_mask = NPC_LT_LC_IP6_MATCH_MSK;
|
||||
break;
|
||||
case NIX_FLOW_KEY_TYPE_TCP:
|
||||
case NIX_FLOW_KEY_TYPE_UDP:
|
||||
|
|
Loading…
Reference in New Issue
Block a user