Skip to content

Commit e23ac10

Browse files
Kiran Kumar Kdavem330
authored andcommitted
octeontx2-af: fix issue with IPv6 ext match for RSS
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: 41a7aa7 ("octeontx2-af: NIX Rx flowkey configuration for RSS") Signed-off-by: Kiran Kumar K <[email protected]> Reviewed-by: Kalesh AP <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 404dc0f commit e23ac10

File tree

1 file changed

+4
-1
lines changed
  • drivers/net/ethernet/marvell/octeontx2/af

1 file changed

+4
-1
lines changed

drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3864,6 +3864,9 @@ static int get_flowkey_alg_idx(struct nix_hw *nix_hw, u32 flow_cfg)
38643864
return -ERANGE;
38653865
}
38663866

3867+
/* Mask to match ipv6(NPC_LT_LC_IP6) and ipv6 ext(NPC_LT_LC_IP6_EXT) */
3868+
#define NPC_LT_LC_IP6_MATCH_MSK ((~(NPC_LT_LC_IP6 ^ NPC_LT_LC_IP6_EXT)) & 0xf)
3869+
38673870
static int set_flowkey_fields(struct nix_rx_flowkey_alg *alg, u32 flow_cfg)
38683871
{
38693872
int idx, nr_field, key_off, field_marker, keyoff_marker;
@@ -3990,7 +3993,7 @@ static int set_flowkey_fields(struct nix_rx_flowkey_alg *alg, u32 flow_cfg)
39903993
field->bytesm1 = 15; /* DIP,16 bytes */
39913994
}
39923995
}
3993-
field->ltype_mask = 0xF; /* Match only IPv6 */
3996+
field->ltype_mask = NPC_LT_LC_IP6_MATCH_MSK;
39943997
break;
39953998
case NIX_FLOW_KEY_TYPE_TCP:
39963999
case NIX_FLOW_KEY_TYPE_UDP:

0 commit comments

Comments
 (0)