common/octeontx2: add security capability routine
authorVamsi Attunuru <vattunuru@marvell.com>
Tue, 4 Feb 2020 11:17:12 +0000 (16:47 +0530)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 5 Feb 2020 14:20:51 +0000 (15:20 +0100)
This routine returns true if given rte_eth_dev is security offload
capable and belongs to octeontx2.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
MAINTAINERS
drivers/common/octeontx2/Makefile
drivers/common/octeontx2/meson.build
drivers/common/octeontx2/otx2_sec_idev.c [new file with mode: 0644]
drivers/common/octeontx2/otx2_sec_idev.h [new file with mode: 0644]
drivers/common/octeontx2/rte_common_octeontx2_version.map

index 74e7336..1201bab 100644 (file)
@@ -728,6 +728,11 @@ F: drivers/net/octeontx2/
 F: doc/guides/nics/features/octeontx2*.ini
 F: doc/guides/nics/octeontx2.rst
 
+Marvell OCTEON TX2 - security
+M: Anoob Joseph <anoobj@marvell.com>
+T: git://dpdk.org/next/dpdk-next-crypto
+F: drivers/common/octeontx2/otx2_sec*
+
 Mellanox mlx4
 M: Matan Azrad <matan@mellanox.com>
 M: Shahaf Shuler <shahafs@mellanox.com>
index eaff294..efe3da2 100644 (file)
@@ -31,6 +31,7 @@ SRCS-y += otx2_dev.c
 SRCS-y += otx2_irq.c
 SRCS-y += otx2_mbox.c
 SRCS-y += otx2_common.c
+SRCS-y += otx2_sec_idev.c
 
 LDLIBS += -lrte_eal
 LDLIBS += -lrte_ethdev
index b791457..996ddba 100644 (file)
@@ -6,6 +6,7 @@ sources= files('otx2_dev.c',
                'otx2_irq.c',
                'otx2_mbox.c',
                'otx2_common.c',
+               'otx2_sec_idev.c',
               )
 
 extra_flags = []
diff --git a/drivers/common/octeontx2/otx2_sec_idev.c b/drivers/common/octeontx2/otx2_sec_idev.c
new file mode 100644 (file)
index 0000000..532abde
--- /dev/null
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2020 Marvell International Ltd.
+ */
+
+#include <rte_bus_pci.h>
+#include <rte_ethdev.h>
+
+#include "otx2_common.h"
+#include "otx2_sec_idev.h"
+
+/**
+ * @internal
+ * Check if rte_eth_dev is security offload capable otx2_eth_dev
+ */
+uint8_t
+otx2_eth_dev_is_sec_capable(struct rte_eth_dev *eth_dev)
+{
+       struct rte_pci_device *pci_dev;
+
+       pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
+
+       if (pci_dev->id.device_id == PCI_DEVID_OCTEONTX2_RVU_PF ||
+           pci_dev->id.device_id == PCI_DEVID_OCTEONTX2_RVU_VF ||
+           pci_dev->id.device_id == PCI_DEVID_OCTEONTX2_RVU_AF_VF)
+               return 1;
+
+       return 0;
+}
diff --git a/drivers/common/octeontx2/otx2_sec_idev.h b/drivers/common/octeontx2/otx2_sec_idev.h
new file mode 100644 (file)
index 0000000..a5d929e
--- /dev/null
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2020 Marvell International Ltd.
+ */
+
+#ifndef _OTX2_SEC_IDEV_H_
+#define _OTX2_SEC_IDEV_H_
+
+#include <rte_ethdev.h>
+
+uint8_t otx2_eth_dev_is_sec_capable(struct rte_eth_dev *eth_dev);
+
+#endif /* _OTX2_SEC_IDEV_H_ */
index a51d719..724fa35 100644 (file)
@@ -5,6 +5,7 @@ DPDK_20.0 {
        otx2_dev_fini;
        otx2_dev_priv_init;
        otx2_disable_irqs;
+       otx2_eth_dev_is_sec_capable;
        otx2_intra_dev_get_cfg;
        otx2_logtype_base;
        otx2_logtype_dpi;