octeon: add support for SDP device 08/40708/2
authorMonendra Singh Kushwaha <kmonendra@marvell.com>
Mon, 15 Apr 2024 06:11:45 +0000 (11:41 +0530)
committerDamjan Marion <dmarion@0xa5.net>
Mon, 22 Apr 2024 19:10:05 +0000 (19:10 +0000)
This patch adds support for SDP (System DPI Packet Interface Unit)
device.

Type: feature

Change-Id: Idf1f53b151edf2992613746d5818409187b4b051
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
src/plugins/dev_octeon/init.c
src/plugins/dev_octeon/octeon.h

index 47be8a8..03a1d59 100644 (file)
@@ -52,6 +52,7 @@ static struct
 
   _ (0xa063, RVU_PF, "Marvell Octeon Resource Virtualization Unit PF"),
   _ (0xa0f8, RVU_VF, "Marvell Octeon Resource Virtualization Unit VF"),
+  _ (0xa0f7, SDP_VF, "Marvell Octeon System DPI Packet Interface Unit VF"),
   _ (0xa0f3, CPT_VF, "Marvell Octeon Cryptographic Accelerator Unit VF"),
 #undef _
 };
@@ -239,12 +240,19 @@ oct_init (vlib_main_t *vm, vnet_dev_t *dev)
   strncpy ((char *) cd->plt_pci_dev.name, dev->device_id,
           sizeof (cd->plt_pci_dev.name) - 1);
 
-  if (cd->type == OCT_DEVICE_TYPE_RVU_PF || cd->type == OCT_DEVICE_TYPE_RVU_VF)
-    return oct_init_nix (vm, dev);
-  else if (cd->type == OCT_DEVICE_TYPE_CPT_VF)
-    return oct_init_cpt (vm, dev);
-  else
-    return VNET_DEV_ERR_UNSUPPORTED_DEVICE;
+  switch (cd->type)
+    {
+    case OCT_DEVICE_TYPE_RVU_PF:
+    case OCT_DEVICE_TYPE_RVU_VF:
+    case OCT_DEVICE_TYPE_SDP_VF:
+      return oct_init_nix (vm, dev);
+
+    case OCT_DEVICE_TYPE_CPT_VF:
+      return oct_init_cpt (vm, dev);
+
+    default:
+      return VNET_DEV_ERR_UNSUPPORTED_DEVICE;
+    }
 
   return 0;
 }
index 72d2d56..92ec953 100644 (file)
@@ -22,6 +22,7 @@ typedef enum
   OCT_DEVICE_TYPE_UNKNOWN = 0,
   OCT_DEVICE_TYPE_RVU_PF,
   OCT_DEVICE_TYPE_RVU_VF,
+  OCT_DEVICE_TYPE_SDP_VF,
   OCT_DEVICE_TYPE_CPT_VF,
 } __clib_packed oct_device_type_t;