In this spotlight we are introducing Craig Stevens, Principal Solutions Architect for Dell EMC, based in Sydney, Australia. Craig has been with Dell for 2.5 years; here is his LinkedIn profile.
The following is a summary of Craig’s contributions in his own words:
I first started out with the Stratum community by writing the ONLPv2 implementation for the Dell Z9100 switch, so that we could get Stratum running on the switch. It was a great way to learn the platform management side of Stratum and how Stratum uses the ONLPv2 API to manage things like LEDs, SFPs, Fans, PSUs, and Thermals.
There are always lots of these small projects that can help you learn the Stratum ecosystem.
ONLP Platform Manager
Integrating the ONLP datasources into the PHAL Database (or Attribute Database as it is sometimes known) was a larger body of work and required some thought around the best way to wire them into the database. The basic PHAL DB code was there, but I needed to write the configurators to wire them into the DB and then there was a bunch of refactoring to try and ensure the ONLP components were not too tightly integrated into Stratum, so that other OSes could be supported if required.
PHAL DB allows for upper level components like the switch and chassis managers and the gNMI server to access the platform management in an abstract and common way, while also implementing caching policies to ensure the telemetry scales as multiple clients request metrics from the switch.
I've just recently finished the "PHAL DB Adapter" components that provide this abstract interface to the upper layer components. As part of this work I also exposed PHAL DB as a gRPC service from Stratum that allows the platform devices to be queried in real time on a running Stratum system (i.e., for development and debugging purposes).
If you are interested, you can view the slides and video on the ONF Connect 2019 website here and look for the presentation titled "Stratum's Phal Attribute DB: What is it Good For?" under the "Next-Gen SDN Track."
OpenPSE - Stratum on SmartNICs
I have also been working on another related project we call the Open Programmable Service Edge (OpenPSE) to get Stratum running on SmartNICs for the purposes of offloading VNF/CNF user plane traffic to the SmartNIC. The first of these SmartNICs that we have integrated into Stratum is the Intel ® FPGA Programmable Acceleration Card N3000 using the Netcope P4 SDK and Compiler to compile a BNG user plane into an FPGA bitstream. The Benu Networks BNG Control Plane (BNG-c) is then used to program the user plane using the open and standardised Stratum northbound interfaces (i.e. P4 Runtime, gNMI, and gNOI).
It has been a great project and has proven the power of ONF's architecture in driving disaggregation and open networking across a programmable fabric that extends from the switches up into the servers using SmartNICs. No longer do you need to write to custom SDKs on the SmartNICs to accelerate your VNF/CNF user plane traffic.
I presented this work at a recent Open Source Networking Day in Melbourne, Australia and expect to push the Stratum and P4Lang PI components of the solution upstream soon.
When Craig isn’t working on solutions, he is spending time outdoors surfing, playing tennis, hiking, or taking walkabouts. We had a nice discussion about the difference between hiking and walkabouts and I am still not sure I get it - maybe I have to visit Australia and try a walkabout. Thanks Craig, we appreciate all of your contributions!