ethdev: allow multiple security sessions to use flow rule
authorAnoob Joseph <anoobj@marvell.com>
Sun, 8 Dec 2019 10:41:23 +0000 (16:11 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 20 Jan 2020 11:12:20 +0000 (12:12 +0100)
commit725e515ed1fa5eee84b809a1a2e2886a3448e5f8
tree2e68b5d0b15e15aaeeaa01d942a03389182bbb28
parent983f469d8bbf0896273fea125f42cb6df359c5c8
ethdev: allow multiple security sessions to use flow rule

The rte_security API which enables inline protocol/crypto feature
mandates that for every security session an rte_flow is created. This
would internally translate to a rule in the hardware which would do
packet classification.

In rte_security, one SA would be one security session. And if an rte_flow
need to be created for every session, the number of SAs supported by an
inline implementation would be limited by the number of rte_flows the
PMD would be able to support.

If the fields SPI & IP addresses are allowed to be a range, then this
limitation can be overcome. Multiple flows will be able to use one rule
for SECURITY processing. In this case, the security session provided as
conf would be NULL.

Application should do an rte_flow_validate() to make sure the flow is
supported on the PMD.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Ori Kam <orika@mellanox.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
lib/librte_ethdev/rte_flow.h