The document discusses P4 support in ONOS. It provides an overview of the P4 language and P4Runtime framework, and then describes ONOS's PI framework for controlling P4 programmable switches. The PI framework models P4 pipelines and allows both pipeline-agnostic and pipeline-aware applications. It translates between ONOS abstractions and P4Runtime messages using a pipeline interpreter and driver behaviors defined in a pipeconf file. The document demonstrates how ONOS can deploy and program P4 pipelines using these components.
Building DataCenter networks with VXLAN BGP-EVPNCisco Canada
The session specifically covers the requirements and approaches for deploying the Underlay, Overlay as well as the inter-Fabric connectivity of Data Center Networks or Fabrics. Within the VXLAN BGP-EVPN based Overlay, we focus on the insights like forwarding and control plane functions which are critical to the simplicity operation of the architecture in achieving scale, small failure domains and consistent configuration. To complete the overlay view on VXLAN BGP-EVPN, we are going to the insides of BGP and its EVPN address-familiy and extend to about how multiple DC Fabric can be interconnected within, either as stretched Fabrics or with true DCI. The session concludes with a brief overview of manageability functions, network orchestration capabilities and multi-tenancy details. This Advanced session is intended for network, design and operation engineers from Enterprises to Service Providers.
Building DataCenter networks with VXLAN BGP-EVPNCisco Canada
The session specifically covers the requirements and approaches for deploying the Underlay, Overlay as well as the inter-Fabric connectivity of Data Center Networks or Fabrics. Within the VXLAN BGP-EVPN based Overlay, we focus on the insights like forwarding and control plane functions which are critical to the simplicity operation of the architecture in achieving scale, small failure domains and consistent configuration. To complete the overlay view on VXLAN BGP-EVPN, we are going to the insides of BGP and its EVPN address-familiy and extend to about how multiple DC Fabric can be interconnected within, either as stretched Fabrics or with true DCI. The session concludes with a brief overview of manageability functions, network orchestration capabilities and multi-tenancy details. This Advanced session is intended for network, design and operation engineers from Enterprises to Service Providers.
VPC Implementation In OpenStack Heat
a) CreateVPC == Create Virtual Network
b) CreateSubnet == Create Subnet in Virtual Network(VPC)
c) CreateInternetGateway == Get external network defined in the Project
d) AttachInternetGateway == Connect external network to routers in the Virtual Network(VPC)
e) CreateRouteTable == Create a router and attach to Virtual Network(VPC)
f) AssociateRouteTable == Attach subnet to router
g) CreateEIP == Attach floating ip to instance
Demystifying EVPN in the data center: Part 1 in 2 episode seriesCumulus Networks
Network operators are slowly but surely embracing L3-based leaf-spine designs. However, either due to legacy applications or certain multi-tenancy requirements, the need for L2 across racks is still present. How do you solve the problem of providing L2 across multiple racks? EVPN is quickly emerging as the best answer to this question.
In this episode of our 2-part series on EVPN, we start with a discussion of the use cases, a review of the technologies EVPN competes with, and dive into an evaluation of the pros and cons of each.
For a recording of the live event, go to http://go.cumulusnetworks.com/l/32472/2017-09-22/95t27t
Slides about DDoS detection tool. IPFIX, sFlow, Netflow support. Instant detection. Complete API and command line tools.
Free trial: https://fastnetmon.com/trial/
VPC Implementation In OpenStack Heat
a) CreateVPC == Create Virtual Network
b) CreateSubnet == Create Subnet in Virtual Network(VPC)
c) CreateInternetGateway == Get external network defined in the Project
d) AttachInternetGateway == Connect external network to routers in the Virtual Network(VPC)
e) CreateRouteTable == Create a router and attach to Virtual Network(VPC)
f) AssociateRouteTable == Attach subnet to router
g) CreateEIP == Attach floating ip to instance
Demystifying EVPN in the data center: Part 1 in 2 episode seriesCumulus Networks
Network operators are slowly but surely embracing L3-based leaf-spine designs. However, either due to legacy applications or certain multi-tenancy requirements, the need for L2 across racks is still present. How do you solve the problem of providing L2 across multiple racks? EVPN is quickly emerging as the best answer to this question.
In this episode of our 2-part series on EVPN, we start with a discussion of the use cases, a review of the technologies EVPN competes with, and dive into an evaluation of the pros and cons of each.
For a recording of the live event, go to http://go.cumulusnetworks.com/l/32472/2017-09-22/95t27t
Slides about DDoS detection tool. IPFIX, sFlow, Netflow support. Instant detection. Complete API and command line tools.
Free trial: https://fastnetmon.com/trial/
Banog meetup August 30th, network device property as codeDamien Garros
Managing Network Device Properties as Code:
Device configuration templates have simplified a lot of things for the network industry but most people are still managing their device properties (aka variables) manually which is very tedious and error prone. This talk will present a new approach to generate and manage network device properties easily using infrastructure as code principles.
This work presents a P4 compiler backend targeting XDP, the eXpress Data Path. P4 is a domain-specific language describing how packets are processed by the data plane of a programmable network elements. XDP is designed for users who want programmability as well as performance.
https://github.com/williamtu/p4c-xdp/
In this talk we discuss the mechanisms of utilizing the eBPF language to perform hardware accelerated network packet manipulation and filtering. P4 programs can be compiled into eBPF scripts for offload in the Linux kernel using the Traffic Classifier (TC) subsystem. We demonstrate how, using eBPF as an intermediate language, it has been possible to extend the TC to either Just In Time (JIT) compile eBPF code to x86 assembler for software offload or to IXP byte code for execution in a trusted hardware environment within the Netronome Agilio intelligent server adapter. We finish by encouraging the audience to experiment with their own eBPF applications within the TC hardware accelerated system. The TC kernel patches are available on the Linux Kernel Networking mailing list as a Request For Comment (RFC) contribution.
Dinan Gunawardena, Director, Software Engineering, Netronome
Dinan Gunawardena is a Software Director focusing on running the driver team at Netronome. Previously, Dinan founded a software startup and was a Senior Research Engineer within the Operating Systems and Networking Group at Microsoft Research for 12 years, shipping technology in several versions of Microsoft Windows and the Bing Search Engine. Dinan has received over 20 patents and is a Chartered Software Engineer. Dinan has a Masters in Computer Science from University of Cambridge and a M.B.A. from WBS.
Jakub Kicinski, Software Engineering, Netronome
Jakub Kicinski is a Software Engineer specializing in the Linux Kernel drivers for Netronome SmartNICs. Jakub has previously worked as an intern for Intel Corporation. Jakub is also a researcher with expertise in Linux kernel. Experience in application development on complex multi-CPU and FPGA platforms. He is interested in high-performance software exploiting hardware capabilities and is passionate about networking. Jakub has a Masters in Computer Science from Gdansk University of Technology.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2IDXhIf.
Changhoon Kim talks about the new PISA ASICs which promises multi Tb/s of packet processing with uncompromised programmability, and P4, a new domain-specific high-level language designed for networking. He shows how PISA and P4 will change the way we design, build, and run not just our networks, but also distributed systems and applications. Filmed at qconsf.com.
Changhoon Kim is a Director of System Architecture at Barefoot Networks. Prior to Barefoot, he worked at Windows Azure, Microsoft’s cloud-service division, and led engineering and research projects on the architecture, performance, and management of datacenter networks.
Apache Pulsar Development 101 with PythonTimothy Spann
Apache Pulsar Development 101 with Python PS2022_Ecosystem_v0.0
There is always the fear a speaker cannot make it. So just in case, since I was the MC for the ecosystem track I put together a talk just in case.
Here it is. Never seen or presented.
Host Data Plane Acceleration: SmartNIC Deployment ModelsNetronome
SIGCOMM 2018: This tutorial introduces multiple models for host data plane acceleration with SmartNICs, provides a detailed understanding of SmartNIC deployment models at hyperscale cloud vendors and telecom service providers, and introduces various open source resources available for research and product development in this space.
Presenter Bio
Simon focuses on upstream open source activities at Netronome. He is working on allowing offload of OVS offload on the Agilio platform as well as the broader question of how best to enable programming hardware offload in the Linux kernel and other upstream open source projects.
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Aljoscha Krettek
Flink is a great stream processor, Python is a great programming language, Apache Beam is a great programming model and portability layer. Using all three together is a great idea! We will demo and discuss writing Beam Python pipelines and running them on Flink. We will cover Beam's portability vision that led here, what you need to know about how Beam Python pipelines are executed on Flink, and where Beam's portability framework is headed next (hint: Python pipelines reading from non-Python connectors)
SFO15-102:ODP Project Update
Speaker: Bill Fischofer
Date: September 21, 2015
★ Session Description ★
The OpenDataPlane project is now two years old and is beginning to see widespread interest on the part of both application writers and platform providers. This talk will discuss recent developments in ODP and its uses and look at what lies ahead for this fast-growing open source project.
★ Resources ★
Video: https://www.youtube.com/watch?v=QxK3waNaVEQ
Presentation: http://www.slideshare.net/linaroorg/sfo15102odp-project-update
Etherpad: pad.linaro.org/p/sfo15-102
Pathable: https://sfo15.pathable.com/meetings/302651
★ Event Details ★
Linaro Connect San Francisco 2015 - #SFO15
September 21-25, 2015
Hyatt Regency Hotel
http://www.linaro.org
http://connect.linaro.org
Application Visibility and Experience through Flexible NetflowCisco DevNet
The world of applications is changing rapidly in the enterprise; from the way applications are increasingly hosted in the cloud, the diverse nature of apps and to the way they are consumed by many devices. The need for organizations and network administrators is to focus on "Fast IT" - "Innovation in the Enterprise" is growing, which means having to spend less time on daily operations, maintenance and troubleshooting and more time on delivering business value with newer services. Cisco AVC with its NBAR2 technology is designed to detect applications and measure application performance through measuring round trip time, retransmission rates, jitter, delay, packet loss, MoS, URL statistics etc. Those details are transmitted using Flexible Netflow/IPFIX, so partners could leverage the data for application usage reporting, performance reporting and troubleshooting application issues to deliver best possible application experience.
Watch the DevNet 2047 replay from the Cisco Live On-Demand Library at: https://www.ciscolive.com/online/connect/sessionDetail.ww?SESSION_ID=92664&backBtn=true
Check out more and register for Cisco DevNet: http://ow.ly/jCNV3030OfS
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...Flink Forward
Flink is a great stream processor, Python is a great programming language, Apache Beam is a great programming model and portability layer. Using all three together is a great idea! We will demo and discuss writing Beam Python pipelines and running them on Flink. We will cover Beam's portability vision that led here, what you need to know about how Beam Python pipelines are executed on Flink, and where Beam's portability framework is headed next (hint: Python pipelines reading from non-Python connectors)
In Network Computing Prototype Using P4 at KSC/KREONET 2019Kentaro Ebisawa
Case Study of P4 applying to CAN (Control Area Network) data pre-processing using FPGA + Netcope P4 compiler.
Presented at KSC / KREONET WORKSHOP 2019 | DAY 1 Session 1: SDN/NFV/P4
http://www.ksc2019.re.kr/
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce Diane Mueller
Presenters: Jhon Honce
Cartridges allow developers to provide services running on top of the Red Hat OpenShift Platform-as-a-Service (PaaS). OpenShift already provides cartridges for numerous web application frameworks and databases. Writing your own cartridges allows you to customize or enhance an existing service, or provide new services. In this session, the presenter will discuss best practices for cartridge development and the latest changes in the OpenShift cartridge support.
* Latest changes made in the platform to ease cartridge development
* OpenShift Cartridges vs. plugins
* Outline for development of a new cartridge
* Customization of existing cartridges
* Quickstarts: leveraging a cartridge or cartridges to provide a complete application
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...OpenShift Origin
Extending OpenShift Origin: Build Your Own Cartridge
Presenters: Jhon Honce
Cartridges allow developers to provide services running on top of the Red Hat OpenShift Platform-as-a-Service (PaaS). OpenShift already provides cartridges for numerous web application frameworks and databases. Writing your own cartridges allows you to customize or enhance an existing service, or provide new services. In this session, the presenter will discuss best practices for cartridge development and the latest changes in the OpenShift cartridge support.
* Latest changes made in the platform to ease cartridge development
* OpenShift Cartridges vs. plugins
* Outline for development of a new cartridge
* Customization of existing cartridges
* Quickstarts: leveraging a cartridge or cartridges to provide a complete application
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
4. P4
! Open-source domain-specific language (DSL) for programmable data
planes
○ Protocol independent
○ Support many targets: ASICs, FPGAs, NPUs, software switches
○ Field reconfigurable: add/remove capabilities after switches are deployed
! Based on the well known match+action forwarding model
! Many benefits
○ Add new protocols, remove unused ones
○ Telemetry
○ More advanced capabilities (stateful processing, VNF offloading, etc.)
6. Old work flow
Hard to code, debug, manage and vendor lock-in!
Read pipeline spec
Develop app
New chip/spec
Discuss with vendor
Need new feature
Something wrong
7. New work flow
Easy to code, debug, manage!
Develop app
Develop pipeline
New protocol support
New pipeline feature
New control logic
9. Programmable switch architecture
Programmer declares the
headers that should be
recognized and their
order in the packet
Slide courtesy: Vladimir Gurevich, P4_16 Tutorial. P4 Workshop 2017
Programmer defines
the tables (match type,
actions) and the
processing algorithm
Programmer declares
how the output packet
will look on the wire
12. P4Runtime
! Framework for runtime control of P4 devices
○ Open-source: https://github.com/p4lang/PI
! Developed by the P4 API WG
! Targeted for remote controllers
○ Protobuf + gRPC implementation
! P4 program-independent
○ API doesn’t change with the P4 program
! Enables field-reconfigurability
○ Ability to push new P4 program to the device
Program-independent
control server (gRPC)
HW/SW target
(e.g. BMv2 simple_switch, tofino
chip, etc.)
Remote controller
(e.g. ONOS)
p4runtime.proto
(interface)
Switch
13. ! Defines interaction with entities defined in a P4 program
○ Tables, counters, meters, externs, etc.
! Bidirectional stream channel
○ For packet-ins/outs, mastership updates, etc.
p4runtime.proto
Refers to P4
entities by integer
IDs.
How to get such
IDs?
14. p4c workflow
!P4Info
○ Captures target-independent P4 program attributes
○ Defines integer IDs for P4 entities, etc.
!Target config
○ P4Info + device-specific configuration
(e.g. BMv2’s JSON, Tofino binary, etc.)
Slide courtesy: S. Abdi, W. Mohsin, Y. Yetim, A. Ghaffarkhah.
P4 Program-Dependent Controller Interface for SDN Applications. P4 Workshop 2017
15. P4Info example
Slide courtesy: S. Abdi, W. Mohsin, Y. Yetim, A. Ghaffarkhah.
P4 Program-Dependent Controller Interface for SDN Applications. P4 Workshop 2017
16. P4Runtime example
Slide courtesy: S. Abdi, W. Mohsin, Y. Yetim, A. Ghaffarkhah.
P4 Program-Dependent Controller Interface for SDN Applications. P4 Workshop 2017
18. Challenge
! How can we control and configure P4-enabled devices?
! ONOS initially designed around OpenFlow fixed-function dataplane
○ NB abstractions morphed around OpenFlow (e.g. same match/actions)
○ Immutable pipeline
! With P4…
○ Generalized forwarding abstraction (e.g. arbitrary match/actions)
○ Mutable pipeline (devices can support different pipelines in time)
19. PI Framework
Default
Architecture overview
Pipeline-agnostic
applications
Device (BMv2, Tofino, Smart NICs, NetFPGA etc.)
FlowObjectives
Intents
FlowRules
2 modes of operations:
● Standard match, actions
(i.e. OpenFlow ones)
● Pipeline-specific ones
Flow Rule
Translation Serv.
Pipeconf Serv.
Driver
Core
Events
(packet, topology, etc.)
new
Protocol gRPC Controller
Tofino BMv2
P4Runtime
Pipeconf
(.oar)
Pack together everything needed to:
● Understand a P4 program/pipeline
● Control that pipeline (driver)
● Deploy P4 program to device
Pipeline-aware
application
Future Work
Other devices
P4Runtime
Controller/Client
gNMI
PI model/runtime classes
20. ONOS PI Framework
!PI = protocol/program/pipeline independent
!Classes(Models), Services, and driver behaviours to
model and control programmable data planes
○ Classes starting with Pi*, e.g. PiPipeconf, PiTableEntry, etc.
!Model-ed around P4 and PSA
○ Define table entries, counters, etc.
!@beta: expect changes
21. PI Pipeconf
! Pack together data and code necessary to let ONOS:
○ Understand, control, and deploy an arbitrary pipeline
! Provided to ONOS as an application (.oar)
pipeconf.oar
1. Pipeline model
○ Pipeline entities description (i.e. parsed P4 program)
2. Driver behaviors (pipeline-specific)
○ E.g. FlowObjective’s Pipeliner
3. Target-specific extensions
○ E.g. BMv2 JSON, Tofino binary
○ P4Info, needed for P4Runtime’s integer ID-name mapping
Pipeconf registered via PipeconfService → available to all ONOS components
22. BMv2 Device
Handshaker
Connect device
Open TCP socket to gRPC server
Device discovery
General Device Provider
PI Pipeconf Service
Get pipeconf
Bind pipeconf+device driver
ONOS Core
Device Driver
Pipeconf
Set pipeline config
(BMv2 JSON + P4Info)
BMv2 PI Pipeline
Programmable
Deploy pipeconf
my-pipeconf.oar
Extensions:
BMV2_JSON
P4INFO
REGISTER
DeviceID: bmv2:1
P4Runtime
- Server addr: 192.168.56.1
- Port: 5001
Pipeconf ID: my-pipeconf
Driver: bmv2PUSH
netcfg.json
23. Flow operations
PI Flow Rule
Translation Serv.
P4Runtime Client
Pipeliner
Pipeline-agnostic
Application
Flow Objective
Serv.
Flow Rule Progr.
Pipeconf-based 3 phase translation:
! Flow Objective → Flow Rule
○ Via Pipeliner
! Flow Rule → PI Table Entry
○ Via PI Pipeline Interpreter
! PI Table Entry to P4Runtime msg
○ Via P4Info
Flow Rules
PI Table Entry
PI Pipeline
Interpreter
ONOS Core
Device Driver
Pipeconf
Pipeline-aware
application
Flow Rule
Serv.
Flow Objectives
P4Runtime proto
messages
P4Info
24. PI Pipeline Interpreter
! Expose methods to let ONOS “understand” a given P4 program
○ Maps protocol-dependent ONOS constructs to PI entities
! Pipeline-specific driver behavior (included in the pipeconf)
○ P4 program developer need to provide implementation
! Example: flow rule translation
○ Match
■ 1:1 mapping between ONOS criteria and P4 header names
○ Action
■ Problem: P4 allows only one action per table entry, ONOS many
■ E.g. header rewrite + output: 1 action with 2 parameters in P4, 2 actions in ONOS
■ How to map many actions to one? Need interpretation logic (i.e. Java code)!
! Used also for other purposes
○ Map ONOS table integer IDs to names, packet I/O operations, table counters, etc.
25. Pipeline-aware flow rules
! Match
○ ONOS standard criteria → provided mapping via interpreter
○ PI Criterion → collection of field matches, each one using:
■ P4 header field name (e.g. my_tunnel_header.tunnel_id)
■ Match type (e.g. exact, ternary, LPM)
■ Value/mask (bytes)
! Action
○ ONOS standard instructions → provided mapping via interpreter
○ PI Instruction → specify action using
■ P4 action name (e.g. set_agress_port)
■ Collection of action parameters
● Parameter name (e.g. port_id)
● Parameter value (bytes)
Standard/PI criteria/instructions can be combined together
26. Packet I/O operations
! Packet-in: packet received at a switch port
encapsulated and sent to the controller
! Packet-out: packet generated at the
controller sent through a switch port
! With P4, encapsulation format defined
by developer → Need interpreter!
P4RuntimeClient
P4Runtime Packet
Provider
BMv2
PacketProgrammable
Inbound Packet
Outbound Packet
PI Packet Operation
PI Pipeline
Interpreter
ONOS Core
Device Driver
Pipeconf
App
Packet Request/Manager Serv.
Example:
@controller_header("packet_in")
header packet_in_header_t {
bit<9> ingress_port;
}
@controller_header("packet_out")
header packet_out_header_t {
bit<9> egress_port;
}
P4Runtime
protobuf msg
P4Info
Packet-in event
Packet-out
28. Takeaway
Today ONOS offers capabilities to:
! Store and deploy P4-defined pipelines (PI Pipeconf Service)
! Control pipeline entities (standard ONOS NB APIs)
○ Table entries, counters, packets I/O, etc.
! Support for pipeline-agnostic applications
○ Provided mapping via Interpreter and Pipeliner
! Support pipeline-aware applications (PI Framework)
! Integrate P4 devices into heterogenous networks
○ Control P4, OpenFlow, or Netconf devices through the same high-level APIs
While maintaining high availability, scalability and performance key
characteristics to the ONOS platform
29. P4 Brigade
Leader:
Carmelo Cascone / ONF
Members:
Andrea Campanella / ONF
Uyen Chau / ONF
Brian O'Connor / ONF
Yi Tseng / ONF, NCTU
Jonghwan Hyun / ONF, POSTEC
Wu Shaoyong / ZTE
Jian Tian / ZTE
Ke Zhiyong / ZTE
Frank Wang / Inspur
Minh Pham / UTS
Tom Tofigh / AT&T
https://wiki.onosproject.org/display/ONOS/P4+brigade