From ec3b5bbd86b128a0f5c2ae0341c0562177de0dd7 Mon Sep 17 00:00:00 2001 From: Brian O'Connor Date: Wed, 11 Aug 2021 19:05:07 -0400 Subject: [PATCH] Update HLD with newest internal version Includes updates to address Microsoft's comments --- .gitignore | 2 + doc/pins/images/pins_arch.png | Bin 162127 -> 0 bytes doc/pins/images/pins_arch.svg | 1 + doc/pins/images/pins_arch_full.svg | 1 + doc/pins/images/sai_p4.png | Bin 76424 -> 0 bytes doc/pins/images/sai_p4.svg | 1 + doc/pins/in_progress.md | 3 + doc/pins/pins_hld.md | 316 +++++++++++++++++++---------- 8 files changed, 219 insertions(+), 105 deletions(-) delete mode 100644 doc/pins/images/pins_arch.png create mode 100644 doc/pins/images/pins_arch.svg create mode 100644 doc/pins/images/pins_arch_full.svg delete mode 100644 doc/pins/images/sai_p4.png create mode 100644 doc/pins/images/sai_p4.svg create mode 100644 doc/pins/in_progress.md diff --git a/.gitignore b/.gitignore index 2543955bc6..66d2a67605 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ *~ *.swp *.un~ +.DS_Store +.vscode/ diff --git a/doc/pins/images/pins_arch.png b/doc/pins/images/pins_arch.png deleted file mode 100644 index 4c09410621ebbee3b0d1b8ee9885eb72c30515fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162127 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 diff --git a/doc/pins/images/pins_arch.svg b/doc/pins/images/pins_arch.svg new file mode 100644 index 0000000000..5c89fc4246 --- /dev/null +++ b/doc/pins/images/pins_arch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/doc/pins/images/pins_arch_full.svg b/doc/pins/images/pins_arch_full.svg new file mode 100644 index 0000000000..9fb5e0ba99 --- /dev/null +++ b/doc/pins/images/pins_arch_full.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/doc/pins/images/sai_p4.png b/doc/pins/images/sai_p4.png deleted file mode 100644 index 9f024b2f6898d540b8f3dff924e9d711b9d251b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76424 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 diff --git a/doc/pins/images/sai_p4.svg b/doc/pins/images/sai_p4.svg new file mode 100644 index 0000000000..8f46f23e04 --- /dev/null +++ b/doc/pins/images/sai_p4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/doc/pins/in_progress.md b/doc/pins/in_progress.md new file mode 100644 index 0000000000..74f2618ec4 --- /dev/null +++ b/doc/pins/in_progress.md @@ -0,0 +1,3 @@ +# PINS Supplementary HLD + +*This HLD is a WIP and will be uploaded soon.* diff --git a/doc/pins/pins_hld.md b/doc/pins/pins_hld.md index e328d21c23..e0a8459a65 100644 --- a/doc/pins/pins_hld.md +++ b/doc/pins/pins_hld.md @@ -1,194 +1,300 @@ # PINS HLD -_Rev v0.1_ +_Rev v0.1.1_ ## Table of Contents + +- [Revision](#revision) +- [Scope](#scope) +- [Definitions / Abbreviations](#definitions--abbreviations) +- [Overview](#overview) + - [Open Source](#open-source) + - [Opt-In Path Towards SDN](#opt-in-path-towards-sdn) + - [Familiar Interface](#familiar-interface) + - [Unambiguous Documentation](#unambiguous-documentation) +- [Requirements](#requirements) +- [Architecture](#architecture) +- [High-Level Design](#high-level-design) + - [P4RT Application](#p4rt-application) + - [P4 Programs & P4 Info](#p4-programs--p4-info) + - [P4 Compiler and the P4 Info](#p4-compiler-and-the-p4-info) + - [P4 APPL DB Tables](#p4-appl-db-tables) + - [P4 Orchagent](#p4-orchagent) + - [Application Level Responses](#application-level-responses) + - [Packet IO](#packet-io) + - [Receiving Packets (Packet Ins)](#receiving-packets-packet-ins) + - [Transmitting Packet (Packet Outs)](#transmitting-packet-packet-outs) +- [Repositories](#repositories) +- [SAI API](#sai-api) +- [Configuration and management](#configuration-and-management) + - [CLI / YANG model Enhancements](#cli--yang-model-enhancements) + - [Config DB Enhancements](#config-db-enhancements) +- [Warmboot and Fastboot Design Impact](#warmboot-and-fastboot-design-impact) +- [Restrictions / Limitations](#restrictions--limitations) +- [Testing Requirements / Design](#testing-requirements--design) +- [Open / Action items - if any](#open--action-items---if-any) +- [Supplementary Documents](#supplementary-documents) + -* [Revisions](#revisions) -* [Scope](#scope) -* [Definitions/Abbreviations](#definitions-abbreviations) -* [Overview](#overview) - + [Open Source](#open-source) - + [Opt-In Path Towards SDN](#opt-in-path-towards-sdn) - + [Familiar Interface](#familiar-interface) - + [Unambiguous Documentation](#unambiguous-documentation) -* [Requirements](#requirements) -* [Architecture Design](#architecture-design) -* [High-Level Design](#high-level-design) - + [P4RT Application](#p4rt-application) - + [P4 Programs & P4 Info](#p4-programs---p4-info) - + [P4 APPL DB Tables](#p4-appl-db-tables) - + [P4 Orchagent](#p4-orchagent) - + [Application Level Responses](#application-level-responses) - + [Packet IO](#packet-io) - + [Repositories](#repositories) -* [SAI API](#sai-api) -* [Configuration and management](#configuration-and-management) - + [CLI/YANG model Enhancements](#cli-yang-model-enhancements) - + [Config DB Enhancements](#config-db-enhancements) -* [Warmboot and Fastboot Design Impact](#warmboot-and-fastboot-design-impact) -* [Restrictions/Limitations](#restrictions-limitations) -* [Testing Requirements/Design](#testing-requirements-design) -* [Open/Action items - if any](#open-action-items---if-any) -* [Supplementary Documents](#supplementary-documents) - - - -## Revisions - -| Rev | RevDate | Author(s) | Change Description -|------|------------|--------------------|-------------------- -| v0.1 | 06/24/2021 | Google, ONF, Intel | Initial version + +## Revision + +| Rev | Rev Date | Author(s) | Change Description | +|------|------------|--------------------|--------------------| +| v0.1 | 06/24/2021 | Mythil Raman (Google), Waqar Mohsin (Google), Bhagat Janarthanan (Google), Reshma Sudarshan (Intel), Brian O’Connor (ONF) | Initial version | +| v0.1.1 | 08/11/2021 | Bhagat Janarthanan (Google), Brian O’Connor (ONF) | Update based on feedback from Microsoft SONiC team | ## Scope + This document describes the high level design of PINS - P4 Integrated Network Stack. It provides a detailed explanation of the components that need to be added and modified in the SONiC framework to support a remote controller to program the forwarding tables. -## Definitions/Abbreviations +## Definitions / Abbreviations **P4**: Programming Protocol-independent Packet Processors (P4) is a domain-specific language for network devices, specifying how data plane devices (switches, NICs, routers, filters, etc.) process packets -**P4RT**: P4Runtime (P4RT) is a control plane specification for controlling the data plane elements of a device defined or described by a P4 program. +**P4RT**: P4Runtime (P4RT) is a control plane specification for controlling the data plane elements of a device defined or described by a P4 program. The [latest version of the P4Runtime spec][p4rt-spec-ref] is available on the P4 website. -**PINS**: P4 Integrated Network Stack (PINS) is a project that provides additional components and changes to SONiC and allows the stack to be remotely controlled using P4 and P4Runtime. +**PINS**: P4 Integrated Network Stack (PINS) is a project that provides additional components and changes to SONiC and allows the stack to be remotely controlled using P4 and P4RT. **SAI**: Switch Abstraction Interface (SAI) is a standardized interface which allows programming and managing different switch ASICs in a vendor-independent fashion. **SDN**: Software Defined Networking (SDN) is the practice of disaggregating the data, control, and management planes of networks, and implementing the control and management planes outside the switch. +## Overview -## Overview -This document describes **PINS (P4 Integrated Network Stack)**, a P4Runtime (P4RT) based SDN interface for programming the forwarding tables through SAI APIs. P4Runtime for SAI is open sourceable, is opt-in, has familiar interfaces, enables rapid innovation, provides automated validation, and serves as unambiguous documentation. +This document describes **PINS (P4 Integrated Network Stack)**, a P4RT based SDN interface for SONiC. P4RT for SONiC is opt-in, has familiar interfaces, enables rapid innovation, provides automated validation, and serves as unambiguous documentation. -A canonical family of P4 programs (included in the repository) documents the packet forwarding pipeline of SAI. Remote SDN controllers will use these P4 programs to control the switch forwarding behavior over the P4RT API. +A canonical family of P4 programs documents the packet forwarding pipeline of SAI. Remote SDN controllers will use these P4 programs to control the switch forwarding behavior over the P4RT API. ### Open Source -The family of P4 programs, the P4RT server, the orchagent code to translate from P4RT to SAI, the validation framework, and any P4 compiler extensions will all be open sourced. The user and vendor specific aspects of a switch pipeline are cleanly separated into extension and configurable tables. + +The family of P4 programs, the P4RT application server, the orchagent code to translate from P4RT to SAI, the validation framework, and any P4 compiler extensions will all be open sourced. The user and vendor specific aspects of a switch pipeline are cleanly separated into extension and configurable tables. ### Opt-In Path Towards SDN -The P4RT Application is completely opt-in. If the P4RT interface is not used, the remaining parts of SONiC will continue to work the way it does today. This new interface allows interested operators to gradually move towards SDN without needing a full-fledged SDN controller right from the start. It is possible to continue relying on SONiC-provided protocols for some aspects, and to start using P4RT for others. + +The P4RT Application is completely opt-in. If the P4RT interface is not used, the remaining parts of SONiC will continue to work the way they do today. This new interface allows interested operators to gradually move towards SDN without needing a full-fledged SDN controller right from the start. It is possible to continue relying on SONiC-provided protocols for some aspects, and to start using P4RT for others. ### Familiar Interface + The family of P4 programs models the SAI forwarding pipeline, making the P4RT interface familiar to anyone who has worked with SONiC/SAI before. The P4RT interface provides essential networking features (L2 bridging, L3 routing, ACLs, etc.) allowing users to quickly get up to speed on how to use this new API. ### Unambiguous Documentation -The SAI P4 programs will serve as an unambiguous documentation of the SAI pipeline. This will help to minimize differences between SAI implementation provided by various vendors, and serve as a reference for the community at large. The P4 program for L3 routing will be modeled after the SAI pipeline for L3 (the full SAI pipeline is described [here](https://github.com/opencomputeproject/SAI/blob/master/doc/object-model/pipeline_object_model.pdf)). + +The SAI P4 programs will serve as an unambiguous documentation of the SAI pipeline. This will help to minimize differences between SAI implementation provided by various vendors, and serve as a reference for the community at large. The P4 program for L3 routing will be modeled after the SAI pipeline for L3. More details on the full SAI pipeline are available in the [SAI Pipeline Object Model][sai-model-ref]. ## Requirements -The following components are targeted for the SONiC 2021-11 Release -* P4RT application server that runs in its own container. -* P4RT-Orchagent that runs as part of SWSS -* P4 program -The following functionality will be available -* P4RT clients can use P4Runtime to program IP route entries, next hop members and groups, and ACL entries to drop or punt packets to the control plane. -* P4RT clients can program ACLs to punt packets received in the ingress pipeline. These packets will be punted to the P4RT application running in the switch and will be forwarded to the client over grpc. -* Users can introduce custom private extensions to the pipeline by adding other elements to the P4 program. +The following components are targeted for the SONiC 2021-11 Release: + +* P4RT application that runs in its own container, +* P4RT-Orchagent that runs as part of SWSS, and +* SAI P4 program. -Additional functionality will be made available in future releases. +These components will enable the following functionality: -## Architecture Design +* P4RT clients can use P4RT to program IP route entries, next hop members and groups, and ACL entries to drop or punt packets to the control plane. +* P4RT clients can program ACLs to punt packets received in the ingress pipeline. These packets will be punted to the P4RT application running in the switch and will be forwarded to the client over the P4RT gRPC channel. +* Users can introduce custom private extensions to the pipeline by adding other elements to the P4 program. + +Additional functionality will be made available in future releases. Warmboot / fastboot capability will not be supported for the P4RT application in the first MVP release. Support will be added in subsequent releases. Warmboot / fastboot capabilities for other applications will continue to function as normal and will not be impacted by PINS. + +For the first release, the P4RT application will be integrated using SONiC’s traditional, monolithic build, but we will explore moving the new application extension framework in a subsequent release. + +## Architecture SONiC is structured into various containers that communicate through multiple logical databases via a shared Redis instance. To add SDN support, PINS introduces a few new components into the SONiC system: -* P4RT: An application that receives P4 programming requests from the controller and programs the requests to the lower layers. -* P4RT tables: a new APPL DB table that defines the P4 programming requests. -* P4orch: A new orch that programs the P4RT table from APPL DB to ASIC DB. It also sends response notifications to P4RT and manages the APPL STATE DB. -* APPL STATE DB: A new DB for applications to query the system status. It has the same schema of the APPL DB. -![alt_text](images/pins_arch.png "image_tooltip") +* P4RT: An application that receives P4 programming requests from the controller and programs the requests to the APPL DB. +* P4RT tables: a new APPL DB table that defines the P4 programming requests. +* P4Orch: A new orch that programs the P4RT table from APPL DB to ASIC DB. It also sends response notifications to P4RT and manages the APPL STATE DB. +* APPL STATE DB: A new DB for applications to query the system status. It has the same schema of the APPL DB. -The P4RT application listens to a remote SDN controller and creates entries in the APPL and CONFIG databases. Following the SONiC architecture, the P4RT application writes its output to a new table in the APPL database. From there, the new P4RT orchestration agent (orchagent) picks up the changes and writes the entries into the existing ASIC tables, where they get picked up by syncd. This path is highlighted in solid purple in the following figure. There is an alternative path (in dotted pink) that some SAI objects might choose to take, which is going through existing APP database tables, and then following the existing agents in the SWSS container down to the ASIC database. Note that whether the dotted pink or solid purple path is taken is a static decision made by the implementer of the P4RT app. For every kind of object, we statically decide which path is taken, and then only implement that path. The P4 program is not changed due to this change, it is an implementation detail of the switch not exposed to the outside (the controller, or even the vendor layer). +![PINS Architecture Diagram][arch-img] + + +The P4RT application listens to a remote SDN controller and creates entries in the APPL and CONFIG databases. Following the SONiC architecture, the P4RT application writes its output to a new table in the APPL database. From there, the new P4Orch picks up the changes and writes the entries into the existing ASIC tables, where they get picked up by syncd. This path is highlighted in green in the PINS Architecture figure. +The red path is used if a new table, match, or action is being added from the P4RT application into the ASIC DB when this table is not present in the SAI pipeline. More detailed information regarding the red path is provided in the supplementary document: [P4 Extensions for SAI][p4ext-hld]. ## High-Level Design + The high level architecture can be broken down into a set of modules that interact and work together to provide the functionality. +![PINS Architecture Diagram][arch-full-img] + + ### P4RT Application -The P4RT application runs in its own container and supports multiple gRPC client sessions. The application is responsible for parsing the requests from its clients, verifying them and writing the intent to the new P4 tables in APPL DB and notifying the clients of the eventual success/failure of the intent. The P4RT application also supports read requests from its clients. The read requests provide clients with current state information of the switch. More detailed information regarding the P4RT application is provided in the supplementary document [P4RT and APPL DB Schema](#bookmark=id.4o11cru31903). + +The P4RT application runs in its own container and supports multiple gRPC client sessions. The application is responsible for parsing the requests from its clients, verifying them and writing the intent to the new P4 tables in APPL DB and notifying the clients of the eventual success/failure of the intent. The P4RT application also supports read requests from its clients. The read requests provide clients with current state information of the switch. More detailed information regarding the P4RT application is provided in the supplementary document: [P4RT Application][p4rt-hld]. ### P4 Programs & P4 Info -The P4RT Application comes along with a canonical family of P4 programs (also open-source) that outline the packet forwarding pipeline of SAI. Remote SDN controllers will use these P4 programs to control the switch forwarding behavior over the P4RT API. The SAI P4 programs will serve as an unambiguous documentation of the SAI pipeline. This will help to minimize differences between SAI implementation provided by various vendors, and serve as a reference for the community at large. -The SAI pipeline is modeled as a P4 program which can be compiled using a P4 compiler ([https://github.com/p4lang/p4c](https://github.com/p4lang/p4c)). The output of the compiler is a P4Info file with a description of the various tables and other objects in the P4 program. This is used by the P4RT Application. Assuming a switch vendor supports the SAI pipeline nothing more is needed. Vendors supporting a P4 backend may use other outputs from the compiler. +P4 is used in two ways: to describe the existing SAI pipeline and to extend it. -![alt_text](images/sai_p4.png "image_tooltip") +First, P4 can model the fixed and configurable elements of the existing SAI pipeline. The SAI P4 definition will serve as an unambiguous documentation of the SAI pipeline. This will help to minimize differences between SAI implementation provided by various vendors, and serve as a reference for the community at large. -Fixed SAI components are modeled after the [SAI Pipeline Object Model](https://github.com/opencomputeproject/SAI/blob/master/doc/object-model/pipeline_object_model.pdf). +The P4RT Application comes along with a canonical family of P4 programs (also open-source) that outline the packet forwarding pipeline of SAI. Remote SDN controllers will use these P4 programs to control the switch forwarding behavior over the P4RT API. -Yellow boxes represent the fixed components of the SAI pipeline. These will be the same in every P4 program. Blue boxes represent the configurable components of the SAI pipeline, namely Access Control Lists (ACLs). Every ACL follows the same basic schema, but can be customized for the use-case by changing the match fields and actions (subject to restrictions w.r.t. what SAI allows). +For existing SAI features, the vendor does not need to support P4 in any way. The P4 entities are mapped to existing SAI API objects that are passed to unmodified vendor SAI implementations. For fixed and configurable SAI features, PINS is designed to work on all of SONiC’s existing targets without modification to SAI. -### P4 APPL DB Tables -This is the interface between the P4RT app and the P4RT orch agent. The set of tables are collectively called the _P4RT Tables_. +Second, users can use P4 to define custom extensions to the SAI pipeline. For these extensions, vendors will need to either provide a P4 compiler to map them to their hardware target. Alternatively, the vendor can manually map these extensions to their SDK API in a similar manner to the existing SAI extension mechanism. -In SONiC, the APPL DB contains high level details of the programming as compared to the ASIC DB tables. Unlike traditional SONiC applications, the SDN controller provides low level details and such a level of detailed programming is not supported by most of the existing APPL DB tables. +#### P4 Compiler and the P4 Info -To overcome this limitation, the PINS architecture defines new APPL_DB tables that allow more detailed definitions. The P4RT application writes to these tables. The new tables are written by the P4RT application and consumed by the P4RT Orchagent. +The SAI pipeline is modeled as a P4 program which can be compiled using a [P4 compiler][p4c-repo]. The output of the compiler is a P4Info file with a description of the various tables and other objects in the P4 program; the P4Info comes from the compiler frontend and is not vendor specific. This is used by the P4RT Application, and it is pushed by the P4RT client on the initial connection to the switch. Assuming a switch vendor supports the SAI pipeline, nothing more is needed. Vendors supporting a P4 backend may use other outputs from the compiler. -Readability is an important criteria for SONiC DB tables. The new tables are no different in this respect and use consistent formatting. The new tables are named with the prefix P4RT to easily identify them as P4RT application tables. The naming follows the convention of `P4RT:` where TableType is of FIXED or configurable (only ACL for now) and TableName is the specific table in the SAI pipeline specification like router interface, neighbor, nexthop, IPV4/IPV6 tables etc. +![SAI P4 Pipeline][saip4-img] + -An example table definition is shown below. +Fixed SAI components are modeled after the [SAI Pipeline Object Model][sai-model-ref]. -``` -P4RT:FIXED_NEXTHOP_TABLE:{"match/nexthop_id":"node-1234:eth-1/2/3"} - "action" = "set_nexthop" - "param/router_interface_id" = "intf-eth-1/2/3" - "param/neighbor_id" = "10.0.0.22" - "controller_metadata" = "..." -``` +Yellow boxes represent the fixed components of the SAI pipeline. These will be the same in every P4 program. Blue boxes represent the configurable components of the SAI pipeline, namely Access Control Lists (ACLs). Every ACL follows the same basic schema, but can be customized for the use-case by changing the match fields and actions (subject to restrictions w.r.t. what SAI allows). Red boxes represent SAI extensions, that are provided by the vendor or network operators, and consumed by users through P4RT. Detailed information along with example use cases is provided in the supplementary documentation: [SAI P4 Program][saip4-hld] and [P4 Extensions for SAI][p4ext-hld]. -Detailed information regarding the schema of the tables and a set of guidelines for consistency are provided in the supplementary documentation on [P4RT and APPL DB Schema](#broken-todo). +The green path (i.e. SAI path) shown in the architecture diagram programs the tables corresponding to the yellow and blue boxes. The red path (i.e. SAI extension path) programs the tables corresponding to the red boxes. + +### P4 APPL DB Tables + +This is the interface between the P4RT app and the P4RT orch agent. The set of tables are collectively called the _P4RT Tables_. + +In SONiC, the APPL DB contains high level details of the programming as compared to the ASIC DB tables. Unlike traditional SONiC applications, the SDN controller provides low level details and such a level of detailed programming is not supported by most of the existing APPL DB tables. + +To overcome this limitation, the PINS architecture defines new APPL_DB tables that allow more detailed definitions. The P4RT application writes to these tables. The new tables are written by the P4RT application and consumed by the P4RT Orchagent. + +Readability is an important criteria for SONiC DB tables. The new tables are no different in this respect and use consistent formatting. The new tables are named with the prefix P4RT to easily identify them as P4RT application tables. The naming follows the convention of `P4RT:` where TableType is either FIXED or configurable (only ACL for now) and TableName is the specific table in the SAI pipeline specification like router interface, neighbor, next hop, IPV4/IPV6 tables etc. + +Detailed information regarding the schema of the tables and a set of guidelines for consistency are provided in the supplementary documentation: [P4RT APPL DB Schema][p4rt-db-hld]. ### P4 Orchagent -The P4Orchagent processes the entries added to the new P4 tables in APPL DB by the P4RT application, parses and resolves them and then invokes the necessary SAI APIs to create ASIC DB entries. SAI objects created by the P4RTOrch could refer to SAI objects created by other orchagents. In these cases, the P4Orchagent will interact with the corresponding orchagents to reference those objects and increase reference counters where necessary. Detailed information regarding the operation of the P4 Orchagent is provided in the supplementary documentation on [P4 Orchagent](#broken-todo). + +The P4 Orchagent (P4Orch) processes the entries added to the new P4 tables in APPL DB by the P4RT application, parses and resolves them and then creates the necessary SAI objects and adds them as entries to ASIC DB. SAI objects created by the P4Orch could refer to SAI objects created by other orchagents. In these cases, the P4Orch will interact with the corresponding orchagents to reference those objects and increase reference counters where necessary. Detailed information regarding the operation of the P4Orch is provided in the supplementary document: [P4 Orchagent][p4orch-hld]. ### Application Level Responses -PINS introduces the concept of application level responses. SONiC currently supports synchronous communication between SWSS and Syncd containers. PINS extends synchronized communication to applications. -Most SDN controllers require an acknowledgement of success or failure for each programming request. Subsequent programming from the controller depends on the response. SDN controllers are intelligent and can adapt to failures quickly. If one of the switches encounters a failure, the controller can utilize the other switches to achieve its goals. +PINS introduces the concept of application level responses. SONiC currently supports synchronous communication between the SWSS and Syncd containers. PINS extends synchronized communication to applications. + +Most SDN controllers require an acknowledgement of success or failure for each programming request. Subsequent programming by the controller depends on the response. SDN controllers are intelligent and can adapt to failures quickly. If one of the switches encounters a failure, the controller can utilize the other switches to achieve its goals. -The controller requires state information from the switches in order to quickly identify any failures. This is accomplished by the addition of application level responses and state. More information regarding this is provided in the supplementary documentation [Response path and Application DB](#broken-todo). +The controller requires state information from the switches to quickly identify any failures. This is accomplished by the addition of application level responses and state. More information regarding this is provided in the supplementary document: [APPL STATE DB and Response Path][appl-state-hld]. ### Packet IO -P4RT clients can program ACLs to punt packets received in the ingress pipeline. These packets will be trapped and punted to the P4RT application running in the switch and will be forwarded to the client over grpc. -SONiC relied on basic packet I/O support that uses netdev ports to send and receive packets. P4Runtime applications require additional packet attributes like the target egress port which are not available via netdev. Similarly directed Tx from application level is not currently supported in the SONiC framework. This is required to support scenarios where the remote SDN controller needs to send a packet via one of the front panel ports of the switch. +There are multiple scenarios where the remote controller is interested in listening on the ingress pipeline of the switch for specific packets and getting those packets sent to it. Similarly, the controller is interested in sending specific packets through the egress pipeline and requires the packet to be routed based on the rules already programmed in the switch. These are the receive and transmit rules. + +P4RT clients can program ACLs to punt or copy packets received in the ingress pipeline. These packets will be trapped and sent to the P4RT application running in the switch and will be forwarded to the client over gRPC. + +SONiC relies on basic packet I/O support that uses netdev ports to send and receive packets. PINS follows the example of most SONiC applications and uses devices rather than SAI APIs for packet I/O. -To support the above requirements, a model similar to sFlow is used. The receive solution creates a netlink type host interface. It programs a user defined trap for packets that are interesting to the controller and maps them to the netlink host interface. A generic ASIC independent model is defined for passing parameters such as “target egress port” to the application container. A detailed description of the receive path is present in the supplementary document on [Packet IO](#broken-todo). +#### Receiving Packets (Packet Ins) + +P4RT clients require additional packet attributes, like the target egress port, which are not available via netdev. To support the above requirements, a model similar to the one used to add sFlow to SONiC is used. The packet receive path creates a genetlink type host interface. It programs a user defined trap for packets that are interesting to the controller and maps them to the genetlink host interface. A generic ASIC independent model is defined for passing parameters such as “target egress port” to the application container. + +#### Transmitting Packet (Packet Outs) + +For packets that should be directly transmitted from a specific port, PINS uses the standard SONIC port netdevs. These packets will bypass ingress pipeline processing. + +PINS requires packet transmission based on the programming present in the ASIC. This is required to support scenarios where the remote SDN controller needs to route a packet entirely based on the ASIC hardware tables. To support this feature, PINS introduces a new netdev (“send_to_ingress”) that will send packets through the ingress pipeline before they are transmitted. + +A detailed description of the receive and transmit paths is present in the supplementary document: [Packet IO][packet-hld]. + +## Repositories -### Repositories This design adds the following new repositories: -* P4RT Application -It also has modifications in the following repositories: -* SWSS -* SONiC Build Image +* P4RT Application + +It also has modifications in the following existing SONiC repositories: + +* [SWSS][swss-repo] +* [SWSS-Common][swss-common-repo] +* [SONiC Build Image][buildimage-repo] ## SAI API -There are no changes to SAI. -For programmable hardware targets, PINS introduces an additional SAI header, saip4ext.h, to map user-defined private P4 extensions to vendor SAI implementations. More details on saip4ext.h can be found in the supplemental document [P4 Extensions for SAI](#broken-todo). +PINS uses existing SAI features without any changes, included fixed functions (e.g. routing) and configurable ones (e.g. ACLs). + +For programmable hardware targets, PINS introduces an additional SAI header, saip4ext.h, to map user-defined private P4 extensions to vendor SAI implementations. More details on saip4ext.h can be found in the supplemental document: [P4 Extensions for SAI][p4ext-hld]. ## Configuration and management -### CLI/YANG model Enhancements +### CLI / YANG model Enhancements + There are no CLI changes. ### Config DB Enhancements -There are no Config DB changes. + +There will be configuration entries to enable and disable PINS features. For example, writing the responses to the APPL STATE DB will be controlled by a flag. + +The first version of the P4RT application will use a default set of configuration, including gRPC listening port (tcp/9559) and transport security options. These are hardcoded, but can be changed by editing the P4RT application source code. In future releases, we will aim to model this configuration in Config DB using a similar approach as gNMI (sonic-telemetry). ## Warmboot and Fastboot Design Impact -Similar to other orchagents, the P4Orchagent needs to perform actions for successful warm boot and fast boot operation. These changes are being planned for the next phase ( next SONiC release). In this phase, warmboot and fastboot features will not be supported for objects created through the P4RT application. When the P4RT application is not used, warm boot and fastboot will continue to operate as before. There will be no impact on existing warmboot and fastboot design. -## Restrictions/Limitations -In this introductory phase, limited functionality and features will be supported through the P4RT application. The details of supported features are provided in the requirements section. +When the P4RT application is used, the P4Orch needs to perform specific actions for successful warm boot and fast boot operation. These changes are being planned for the next phase (i.e. the next SONiC release). In the first MVP release, warmboot and fastboot features will not be supported for objects created through the P4RT application. This will not affect warm boot operations for objects created through other orchagents. + +## Restrictions / Limitations + +In the first MVP release, limited functionality and features will be supported through the P4RT application. The details of supported features are provided in the requirements section. + +## Testing Requirements / Design + +The entire PINS code, including the P4RT Application and P4Orch, is well unit tested. The coverage goal is at least 90% which is already achieved. Integration tests will be added in the following release. + +## Open / Action items - if any + +## Supplementary Documents + +Here is the full list of supplementary HLD docs: + +* [P4RT Application][p4rt-hld] +* [SAI P4 Program][saip4-hld] +* [P4 Extensions for SAI][p4ext-hld] +* [P4RT APPL DB Schema][p4rt-db-hld] +* [P4 Orchagent][p4orch-hld] +* [APPL STATE DB & Response Path][appl-state-hld] +* [Packet IO][packet-hld] + + + + + +[p4rt-hld]: p4rt_app_hld.md +[saip4-hld]: in_progress.md +[p4ext-hld]: in_progress.md +[p4rt-db-hld]: in_progress.md +[p4orch-hld]: p4orch_hld.md +[appl-state-hld]: in_progress.md +[packet-hld]: in_progress.md + +[buildimage-repo]: https://github.com/Azure/sonic-buildimage +[p4c-repo]: https://github.com/p4lang/p4c +[swss-repo]: https://github.com/Azure/sonic-swss +[swss-common-repo]: https://github.com/Azure/sonic-swss-common -## Testing Requirements/Design -The entire PINS code, including the P4RT Application, P4 orchagent, etc is well unit tested. The coverage goal is at least 90% which is already achieved. Integration tests will be added in the following release. + +[p4rt-spec-ref]: https://p4lang.github.io/p4runtime/spec/main/P4Runtime-Spec.html +[sai-model-ref]: https://github.com/opencomputeproject/SAI/blob/master/doc/object-model/pipeline_object_model.pdf -## Open/Action items - if any -None + +[arch-img]: images/pins_arch.svg +[arch-full-img]: images/pins_arch_full.svg +[saip4-img]: images/sai_p4.svg