From 6bc2de1ced63b0d9c0944c2ebae9474619632601 Mon Sep 17 00:00:00 2001 From: Veerasenareddy Burru Date: Thu, 30 Jun 2022 13:05:57 -0700 Subject: [PATCH] spec: Marvell Octeon RAN Accelerator Integration First draft of the spec for Marvell Octeon RAN Accelerator Integration into StarlingX. Story: 2010047 Task: 47393 Signed-off-by: Veerasenareddy Burru Change-Id: Ic6c93f333b26402f100a278324afd23ee07b21bd --- .../specs/stx-8.0/approved/_placeholder.rst | 8 - .../specs/stx-9.0/approved/_placeholder.rst | 8 - .../specs/stx-9.0/approved/octeon_ep.rst | 166 ++++++++++++++++++ 3 files changed, 166 insertions(+), 16 deletions(-) delete mode 100644 doc/source/specs/stx-8.0/approved/_placeholder.rst delete mode 100644 doc/source/specs/stx-9.0/approved/_placeholder.rst create mode 100644 doc/source/specs/stx-9.0/approved/octeon_ep.rst diff --git a/doc/source/specs/stx-8.0/approved/_placeholder.rst b/doc/source/specs/stx-8.0/approved/_placeholder.rst deleted file mode 100644 index 0cd761b..0000000 --- a/doc/source/specs/stx-8.0/approved/_placeholder.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. placeholder: - -=========== -Placeholder -=========== - -This file is a placeholder and should be deleted when the first spec is moved -to this directory. diff --git a/doc/source/specs/stx-9.0/approved/_placeholder.rst b/doc/source/specs/stx-9.0/approved/_placeholder.rst deleted file mode 100644 index 0cd761b..0000000 --- a/doc/source/specs/stx-9.0/approved/_placeholder.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. placeholder: - -=========== -Placeholder -=========== - -This file is a placeholder and should be deleted when the first spec is moved -to this directory. diff --git a/doc/source/specs/stx-9.0/approved/octeon_ep.rst b/doc/source/specs/stx-9.0/approved/octeon_ep.rst new file mode 100644 index 0000000..ffcbb35 --- /dev/null +++ b/doc/source/specs/stx-9.0/approved/octeon_ep.rst @@ -0,0 +1,166 @@ +.. + Copyright (c) 2022 Marvell International Ltd. + +.. + +========================================== +Marvell Octeon RAN Accelerator Integration +========================================== + +Storyboard: +https://storyboard.openstack.org/#!/story/2010047 + +Marvell supports Octeon line of SoCs to be used as a basic NIC or +RAN Accelerator, when configured in Endpoint mode. Marvell developed PCI SR-IOV +NIC drivers (PF and VF) for these products. The NIC drivers on host create a +netdev interface for PF device and supports creating VFs. Octeon SoCs feature +multiple ARM v9 cores along with Ethernet, PCIe and baseband PHY (RAN). +This enables users to offload L1 processing to Octeon SoC. + +This specification describes what needs to be done to intergrate +Marvell's PCIe NIC drivers (PF and VF) into StarlingX. + +Problem description +=================== + +Currently, StarlingX does not include support for Marvell RAN Accelerator card. +This specification aims at integrating the Marvell PCIe NIC drivers into +StarlingX platform to enable support for Marvell RAN accelerator cards. + +Use Cases +--------- + +To enable users to deploy Octeon as a basic NIC or RAN Accelerator on a +StarlingX cloud installation. + + +Proposed change +=============== + +This change adds following new drivers and tools: + #. SRIOV PF and VF drivers. These drivers enable netdev communication between l2/l3 running on the host cpu and l1 running on the accelerator + #. CNI plugin support for Marvell RAN Accelerator cards + #. Integrate NIC firmware update tool + + +Alternatives +------------ + +For PF and VF drivers, there are no alternatives for this as the device drivers +are the only way of initializing and operating these devices. + +For CNI plugin, we will not be adding CNI plugin support from scratch. +We will be leveraging the existing CNI plugin to enable suppoort for +Marvell devices too. + +For NIC firmware update tool, the tool will be able to update firmware on +Marvell RAN Accelerator from host through PCIe interface, without needing +any drivers to be loaded. There is no alternate method for this. + +Data model impact +----------------- + +No data model impact expected. + +REST API impact +--------------- + +This change will not add or change any REST APIs. + +Security impact +--------------- + +None + +Other end user impact +--------------------- + +User will be invoking the firmware update tool from host to update boot image, +kernel or root filesystem on the Marvell RAN Accelerator card. + +Performance Impact +------------------ + +None; These drivers will only schedule work queue task to handle periodic +heartbeat messages from Octeon card, and this is not CPU intensive. + +Other deployer impact +--------------------- + +None + +Developer impact +---------------- + +None + +Upgrade impact +-------------- + +None + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: + Veerasenareddy Burru + +Other contributors: + Abhijit Ayrekar + Sathesh Edara + Satananda Burla + +Repos Impacted +-------------- + +starlingx/config +starlingx/fault +starlingx/integ +starlingx/kernel + +Work Items +---------- + +* Integrate the kernel SRIOV PF driver +* Integrate the kernel SRIOV VF driver +* Integrate NIC firmware update tool +* Add CNI plugin support for Marvell RAN Accelerator NIC + +Dependencies +============ + +None + +Testing +======= + +* Testing will be performed on Marvell RAN Accelerator hardware. +* Testing will include basic PF NIC functionality, SRIOV VF creation, + VF NIC functionality. +* Unit tests will be provided on how to test the L1/L2 communication. + +Documentation Impact +==================== + +* End User guide need to be updated on how to run the marvell NIC firmware + update tool. + +References +========== + +The below product brief describes the family of Octeon CNF95XX in 5G RAN environment. +https://www.marvell.com/content/dam/marvell/en/public-collateral/embedded-processors/marvell-infrastructure-processors-octeon-fusion-cnf95xx-product-brief.pdf + +History +======= + +.. list-table:: Revisions + :header-rows: 1 + + * - Release Name + - Description + * - 1 + - Introduced