This talk will overview recent activity on the design of the P4 language. In particular, this will cover the release of the P4 1.1 specification, and discuss the main changes being proposed for the future P4 1.2 specification. Two important features of P4 1.2 will be architecture-language separation, and the use of libraries to replace various capabilities currently built into the syntax of the language as special cases.
Application of whitebox platforms are rapidly expanding beyond the data center and into Tier 1 carrier wide area network transport, switching, and routing. We describe how the right architectural framework for whitebox networks at the intersection of programmable pipeline Merchant Silicon, P4 pipeline programming abstractions, Network OS'es, and the Open Source software ecosystem can create a powerful combination to efficiently and rapidly enable innovative new wide area networking services.
The idea behind P4 for NICS is to program the target NICs with the desired analytic functions. Real time dynamic measurement of flows at Network Interface Cards (NICs) is critical for cloud centric service models and service automation. The ability of applications such as security, root cause analysis, big data analytics, and traffic engineering to subscribe to P4 interfaces for adjusting their observability requirements could enable a new wave of applications and opportunities. In this talk we will provide a few use case examples within the context of P4 for carrier (AT&T) CORD-based platform architectures. The new architecture provides an open environment for allowing applications to utilize P4 interfaces for customized measurements. This talk will show how P4-enabled applications can influence embedded VNF functions at NIC cards for real time feedback loops.
*This presentation also has an associated demo: Dynamic Analytics for Programmable NIC’s Utilizing P4 - Identification and Custom Tagging of Elastic Telecoms Traffic*
Inband Network Telemetry (“INT”) is a framework designed to allow the collection and reporting of network state, by the data plane, without requiring intervention or work by the control plane (http://p4.org/p4/inband-network-telemetry/). In the INT architectural model, packets contain header fields that are interpreted as “telemetry instructions” by network devices. These instructions tell an INT-capable device what state to collect and write into the packet as it transits the network. SwitchID, hop latency and queue occupancy are some of the per-packet metadata that could be collected using INT. Connection Path and Latency Tracking (PLT) is a novel network monitoring application that leverages INT in a scalable manner to gain real-time visibility into a network's behavior. PLT uses INT to track the path and latency encountered by every connection and uses deduplication (from within the data plane) to do this in a scalable and efficient manner . Each time a new connection is detected or a change is detected in the path/latency of an existing connection, an "INT report" is generated and sent to a remote distributed monitoring engine. The reports enable the monitoring engine to detect a variety of anomalies in the network in real time (eg: connection/switch congestion, unused switches, flow imbalance, etc.). They also facilitate other interesting use cases such as network behavior verification, faithful reconstruction of traffic patterns and network characterization.
*This presentation also has an associated demo: Using INT to Build a Real-time Network Monitoring System @ Scale*
This tech talk is about how P4 Software Switch is helping evolution of OpenSwitch. Talk will provide a brief introduction to OpenSwitch and how P4 Software Switch is integrated into the OpenSwitch.
OpenSwitch is a community based, open source, full-featured network operating system. In addition to running on various hardware platforms, OpenSwitch can also run on Linux servers as a docker container image or as a VM (OVF). But to run OpenSwitch in this mode, it is necessary to have a software layer that simulates switch forwarding path. And P4 Software Switch (or known commonly as Behavioral Model) is used for the purpose.
A new P4 specific plugin module on OpenSwitch side integrates Behavioral Model with the OpenSwitch. As OpenSwitch is evolving with more feature sets and capabilities, existing switch.p4 and related OpenSwitch plugin module are modified to support new changes for simulation platform. Current effort is focused on adding additional Layer 3 features to the P4 plugin for OpenSwitch. Developing this plugin for simulation platform also enables the same plugin to be used for hardware ASIC platforms which have support for P4.
*This presentation also has an associated demo: P4 and OpenSwitch*
Software for Open Networking in the Cloud (SONiC) is a collection of software networking components that can be used for building an open sourced network switch on a Linux distribution. SONiC works with the Switch Abstraction Interface (SAI) via which it can talk to various switching ASICs giving users access to rapid innovation in the network switching space.
P4 is a high level programming language for the networking domain. It can be used to define or describe the packet processing functions of the data plane of a network switch or any such forwarding device.
This talk will highlight the architecture and benefits of SONiC. Additionally, it will also showcase how SONiC can use a P4 data plane for new feature development, testing and validation. A P4 program called switch.p4 has already been connected to SONiC via the SAI APIs. The talk will also cover Packet Test Framework (PTF) which is used for checking compliance to the SAI specification.
*This presentation also has an associated demo: Enabling Rapid Innovation in the Network Using SONiC and P4*