diff options
author | Ratheesh Kannoth <rkannoth@marvell.com> | 2023-08-09 12:10:39 +0530 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-08-11 09:23:21 +0100 |
commit | 12aa0a3b93f3adf61b6f7937c3aac8585ced3fca (patch) | |
tree | cd0a141a78e310a9d54b55f7f36bd2f11587921b /drivers | |
parent | 7a1c38215820edfcd7c3a2523f4fd385f4e482d6 (diff) | |
download | lwn-12aa0a3b93f3adf61b6f7937c3aac8585ced3fca.tar.gz lwn-12aa0a3b93f3adf61b6f7937c3aac8585ced3fca.zip |
octeontx2-af: Harden rule validation.
Accept TC offload classifier rule only if SPI field
can be extracted by HW.
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c index 5c8f9fc15ff8..237f82082ebe 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c @@ -580,7 +580,9 @@ static void npc_set_features(struct rvu *rvu, int blkaddr, u8 intf) if (!npc_check_field(rvu, blkaddr, NPC_LB, intf)) *features &= ~BIT_ULL(NPC_OUTER_VID); - if (*features & (BIT_ULL(NPC_IPPROTO_AH) | BIT_ULL(NPC_IPPROTO_ESP))) + /* Set SPI flag only if AH/ESP and IPSEC_SPI are in the key */ + if (npc_check_field(rvu, blkaddr, NPC_IPSEC_SPI, intf) && + (*features & (BIT_ULL(NPC_IPPROTO_ESP) | BIT_ULL(NPC_IPPROTO_AH)))) *features |= BIT_ULL(NPC_IPSEC_SPI); /* for vlan ethertypes corresponding layer type should be in the key */ |