unnamed 7 png
P4 Integrated Network Stack (PINS) is an industry collaboration bringing SDN capabilities and P4 programmability to traditional routing devices that rely on embedded control protocols (like BGP). Specifically, this project uses P4 to model the SAI pipeline, adds externally programmable extensions to the pipeline and introduces P4Runtime as a new control plane interface for controlling the pipeline.

PINS – P4 Integrated Network Stack

This presentation covers the PINS architecture, the high level design and the various supplementary features the team has implemented as part of the stack. It also includes some use cases enabled by the PINS stack.

Frame 44 png

Bhagat Janarthanan, Google / Brian O’Connor, ONF / Reshma Sudarshan, Intel

Until now, there have been two primary ways of approaching networking:
the traditional embedded routing approach (e.g. BGP) or the SDN approach
that simplifies the dataplane and centralizes the control plane off box.


pins2 png

PINS: SDN extensibility added to traditional networks



PINS creates a hybrid model, bringing SDN programmability to traditional networking.  By adding an optional externally programmable stage to the forwarding pipeline of each switching device, networks can be built in traditional ways and augmented with advanced functionality with the aid of an external SDN controller.

pins3 2 png

PINS Highlights

  • Hybrid Control Plane Support: Gives network operators a choice on network control plane and which parts run where (locally or remotely).
  • Opt-In Path Towards SDN: The P4Runtime server is added to SONiC as an optional interface enabling users to implement new functionality using SDN, and to incrementally migrate towards an SDN solution.
  • Familiar Interface: P4 is used to model the SAI pipeline, and enables users to control all essential networking features, including L2 bridging, L3 routing, ACLs, tunnels, and more.
  • Rapid Innovation: New features can quickly be modeled in P4 and exposed to control plane applications using P4Runtime. 
  • Automated Validation: P4Runtime enables tools to be used to test and validate every packet path automatically in the forwarding pipeline.

PINS – Extending SDN and P4 Programmability

Mythil Raman & Konstantin Weitz, Google
Presented at 2021 P4 Workshop

kisspng google logo googleplex google search 5b2cd7fd66a992 1457425415296655334205 300x169 png

PINS Architectural Diagram

pins4 jpg

PINS Community

The project is being incubated at ONF with a select set of partners and development of new features is ongoing. The PINS working group plans to make the project open source later this year as part of SONiC. Members wishing to find out more about joining the PINS community should contact membership@opennetworking.org.


PINS Resources

Subscribe to ONF Newsletters

Use corporate email account for access to ONF member-only content icon i email png