#include "otx2_cryptodev.h"
#include "otx2_cryptodev_capabilities.h"
#include "otx2_cryptodev_sec.h"
+#include "otx2_security.h"
+
+static unsigned int
+otx2_crypto_sec_session_get_size(void *device __rte_unused)
+{
+ return sizeof(struct otx2_sec_session);
+}
+
+static int
+otx2_crypto_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 */
+ m->udata64 = (uint64_t)session;
+
+ return 0;
+}
+
+static int
+otx2_crypto_sec_get_userdata(void *device __rte_unused, uint64_t md,
+ void **userdata)
+{
+ /* Retrieve userdata */
+ *userdata = (void *)md;
+
+ return 0;
+}
static struct rte_security_ops otx2_crypto_sec_ops = {
.session_create = NULL,
.session_destroy = NULL,
- .session_get_size = NULL,
- .set_pkt_metadata = NULL,
- .get_userdata = NULL,
+ .session_get_size = otx2_crypto_sec_session_get_size,
+ .set_pkt_metadata = otx2_crypto_sec_set_pkt_mdata,
+ .get_userdata = otx2_crypto_sec_get_userdata,
.capabilities_get = otx2_crypto_sec_capabilities_get
};