net/octeontx2: use fast udata and mdata flags
authorTejasree Kondoj <ktejasree@marvell.com>
Fri, 24 Sep 2021 17:11:45 +0000 (22:41 +0530)
committerJerin Jacob <jerinj@marvell.com>
Tue, 19 Oct 2021 14:19:52 +0000 (16:19 +0200)
Using fast metadata and userdata flags instead of
driver callbacks for set_pkt_metadata and
get_userdata in inline IPsec.

Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
drivers/net/octeontx2/otx2_ethdev_sec.c
drivers/net/octeontx2/otx2_ethdev_sec_tx.h

index c2a3688..7bd1ed6 100644 (file)
@@ -741,27 +741,6 @@ otx2_eth_sec_session_get_size(void *device __rte_unused)
        return sizeof(struct otx2_sec_session);
 }
 
-static int
-otx2_eth_sec_set_pkt_mdata(void *device __rte_unused,
-                           struct rte_security_session *session,
-                           struct rte_mbuf *m, void *params __rte_unused)
-{
-       /* Set security session as the pkt metadata */
-       *rte_security_dynfield(m) = (rte_security_dynfield_t)session;
-
-       return 0;
-}
-
-static int
-otx2_eth_sec_get_userdata(void *device __rte_unused, uint64_t md,
-                          void **userdata)
-{
-       /* Retrieve userdata  */
-       *userdata = (void *)md;
-
-       return 0;
-}
-
 static const struct rte_security_capability *
 otx2_eth_sec_capabilities_get(void *device __rte_unused)
 {
@@ -772,8 +751,6 @@ static struct rte_security_ops otx2_eth_sec_ops = {
        .session_create         = otx2_eth_sec_session_create,
        .session_destroy        = otx2_eth_sec_session_destroy,
        .session_get_size       = otx2_eth_sec_session_get_size,
-       .set_pkt_metadata       = otx2_eth_sec_set_pkt_mdata,
-       .get_userdata           = otx2_eth_sec_get_userdata,
        .capabilities_get       = otx2_eth_sec_capabilities_get
 };
 
@@ -799,6 +776,8 @@ otx2_eth_sec_ctx_create(struct rte_eth_dev *eth_dev)
        ctx->device = eth_dev;
        ctx->ops = &otx2_eth_sec_ops;
        ctx->sess_cnt = 0;
+       ctx->flags =
+               (RTE_SEC_CTX_F_FAST_SET_MDATA | RTE_SEC_CTX_F_FAST_GET_UDATA);
 
        eth_dev->security_ctx = ctx;
 
index 65140b7..0217820 100644 (file)
@@ -54,7 +54,7 @@ otx2_sec_event_tx(uint64_t base, struct rte_event *ev, struct rte_mbuf *m,
                struct nix_iova_s nix_iova;
        } *sd;
 
-       priv = get_sec_session_private_data((void *)(*rte_security_dynfield(m)));
+       priv = (struct otx2_sec_session *)(*rte_security_dynfield(m));
        sess = &priv->ipsec.ip;
        sa = &sess->out_sa;