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:
  1. SRIOV PF and VF drivers. These drivers enable netdev communication between l2/l3 running on the host cpu and l1 running on the accelerator

  2. CNI plugin support for Marvell RAN Accelerator cards

  3. 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

Revisions

Release Name

Description

1

Introduced