SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
1©2016 Open-NFP
P4-based VNF and Micro-VNF chaining for
servers with SmartNICs
David George
david.george@netronome.com
2©2016 Open-NFP
Session Agenda
●
Introduction
●
Design overview
●
A look under the hood
– P4, SandboxC and rules
●
Run-through
– Demo of key features
●
Conclusions + questions
●
(time permitting) A quick overview of SDK6 P4 runtime
3©2016 Open-NFP
Introduction
●
VNF – Virtualized Network Function
– Network function hosted independent of physical hardware
●
examples: Firewall, intrusion detection
– Chaining a sequence of VNF
●
Micro-VNF?
– Light-weight VNF
– Possible to integrate close to dataplane
●
e.g in kernel, on smartNIC
– examples: telemetry, statistics
●
Goal to illustrate how this can be achieved:
– SmartNIC P4 dataplane using Netronome SDK 6
– Micro-VNFs in sandbox C
– Simple VNFs with libvirt + VFIO
– Other ‘neat’ P4 stuff
●
Why this example?
– Illustrates how simple it can be to solve challenging problems with P4 + SmartNICs:
●
Marshalling data into VNFs
●
Gathering telemetry info + processing statistics
–
4©2016 Open-NFP
Design/Demo Overview
X86 Host
Micro-VNFs:
Payload scan
Hoptime stats
Linux Net Namespace
VLAN 2
“dumb” NIC
+ bridge
Physical
Interface
TCP path
with metering
Netronome SmartNIC with P4+C Dataplane
VNF0:
NetDev L2 Bridge
in VM
VFIO 1
VNF1:
DPDK L2 Bridge
in VM
VFIO 0
VFIO 3
VFIO 2
Linux Net Namespace
VLAN3
5©2016 Open-NFP
Design/Demo Overview (cont.)
●
P4 Dataplane
– Run-of-the-mill parse + match + action + forwarding
●
VNFs: L2 Forwarding “cooked two ways” DPDK and NetDev
– Simple way to illustrate use
– BUT complicated routing:
●
Must be unique per port direction!
●
MicroVNFs:
– VF “Hoptime” statistics
●
Min, max, avg reported between VF send + receive
●
Achieved using custom tunnel
– Simple payload scanner: search for a compile time token
●
Extra points of interest
– Meters
●
Traffic generation:
– VLAN IDs used for routing between VFs
– Linux Network Namespaces to isolate address spaces (all on one host)
6©2016 Open-NFP
Traffic Generation
X86 Host
Micro-VNFs:
Payload scan
Hoptime stats
Linux Net Namespace
VLAN 2
“dumb” NIC
+ bridge
Physical
Interface
TCP path
with metering
Netronome SmartNIC with P4+C Dataplane
VNF0:
NetDev L2 Bridge
in VM
VFIO 1
VNF1:
DPDK L2 Bridge
in VM
VFIO 0
VFIO 3
VFIO 2
Linux Net Namespace
VLAN3
7©2016 Open-NFP
Coarse look at P4 design
Parsing
Ethernet
VLAN
Custom “hoptime” header
IP + TCP
Ingress
Process “hoptime”
Metering
Forwarding
Egress
Insert “hoptime”
Translate VLAN Tags
8©2016 Open-NFP
A look under the hood + demo:
9©2016 Open-NFP
Conclusions
●
Illustrated simple solution for VNF chaining using P4
●
Showed the potential for implementing Micro-VNFs in C
sandbox
– Support for going beyond the P4 parsed headers in C
– Measurement of VNF processing time
●
Showed how flexibly P4 meters can be used
10©2016 Open-NFP
Github Resources
●
https://github.com/open-nfpsw/p4_vnf_uvnf_demo
●
Includes:
●
P4 , sandbox C & P4 configs
– Building & loading using CLI or PS IDE
●
Host scripts
11©2016 Open-NFP
Questions?
12©2016 Open-NFP
SDK P4 Runtime Environment
●
Typically programmer studio drives the configuration
– Hitting “debug” programs firmware, load rules, configures meters etc.
●
The RTE ships with python tools and thrift interface for
interacting with P4 Runtime Environment Server via Thrift
RPC
– Allows command line driven loading configuration
– Possible to build a stand-alone application for interacting with design
●
Example: L2 bridge receiving P4 digests and writing table updates
13©2016 Open-NFP
SDK P4 Runtime Environment (cont)
●
in RTE installation you will find the following:
– thrift/sdk6_rte.thrift
●
Thrift interface file, RPC stubs generated from this and can be used
with python, C++...
– thrift/client/RTEInterface.py
●
A python module that provides an abstraction for the Thrift interface
– thrift/client/sdk6_rte_cli.py
●
A swiss army knife command line tool
– thrift/client/digest_listener
●
Example tool for dumping digest events

Weitere ähnliche Inhalte

Was ist angesagt?

OpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouterOpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouterOpen-NFP
 
Measuring a 25 and 40Gb/s Data Plane
Measuring a 25 and 40Gb/s Data PlaneMeasuring a 25 and 40Gb/s Data Plane
Measuring a 25 and 40Gb/s Data PlaneOpen-NFP
 
Network Measurement with P4 and C on Netronome Agilio
Network Measurement with P4 and C on Netronome AgilioNetwork Measurement with P4 and C on Netronome Agilio
Network Measurement with P4 and C on Netronome AgilioOpen-NFP
 
Compiling P4 to XDP, IOVISOR Summit 2017
Compiling P4 to XDP, IOVISOR Summit 2017Compiling P4 to XDP, IOVISOR Summit 2017
Compiling P4 to XDP, IOVISOR Summit 2017Cheng-Chun William Tu
 
LinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSLinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSThomas Graf
 
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...LF_DPDK
 
2016 NCTU P4 Workshop
2016 NCTU P4 Workshop2016 NCTU P4 Workshop
2016 NCTU P4 WorkshopYi Tseng
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4Open Networking Summits
 
P4, EPBF, and Linux TC Offload
P4, EPBF, and Linux TC OffloadP4, EPBF, and Linux TC Offload
P4, EPBF, and Linux TC OffloadOpen-NFP
 
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK
 
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...IO Visor Project
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
CentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateCentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateTom Herbert
 
Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containersCilium - BPF & XDP for containers
Cilium - BPF & XDP for containersThomas Graf
 
Cilium - Network security for microservices
Cilium - Network security for microservicesCilium - Network security for microservices
Cilium - Network security for microservicesThomas Graf
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower OffloadNetronome
 
The IPv6-Only Network
The IPv6-Only NetworkThe IPv6-Only Network
The IPv6-Only NetworkAPNIC
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelThomas Graf
 
LF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK
 

Was ist angesagt? (20)

OpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouterOpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouter
 
Measuring a 25 and 40Gb/s Data Plane
Measuring a 25 and 40Gb/s Data PlaneMeasuring a 25 and 40Gb/s Data Plane
Measuring a 25 and 40Gb/s Data Plane
 
Network Measurement with P4 and C on Netronome Agilio
Network Measurement with P4 and C on Netronome AgilioNetwork Measurement with P4 and C on Netronome Agilio
Network Measurement with P4 and C on Netronome Agilio
 
Compiling P4 to XDP, IOVISOR Summit 2017
Compiling P4 to XDP, IOVISOR Summit 2017Compiling P4 to XDP, IOVISOR Summit 2017
Compiling P4 to XDP, IOVISOR Summit 2017
 
LinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSLinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVS
 
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
 
2016 NCTU P4 Workshop
2016 NCTU P4 Workshop2016 NCTU P4 Workshop
2016 NCTU P4 Workshop
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4
 
P4, EPBF, and Linux TC Offload
P4, EPBF, and Linux TC OffloadP4, EPBF, and Linux TC Offload
P4, EPBF, and Linux TC Offload
 
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
 
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
CentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateCentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and Update
 
Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containersCilium - BPF & XDP for containers
Cilium - BPF & XDP for containers
 
Cilium - Network security for microservices
Cilium - Network security for microservicesCilium - Network security for microservices
Cilium - Network security for microservices
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower Offload
 
The IPv6-Only Network
The IPv6-Only NetworkThe IPv6-Only Network
The IPv6-Only Network
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux Kernel
 
LF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus Router
 
Low-power IP: 6LoWPAN & Co.
Low-power IP: 6LoWPAN & Co.Low-power IP: 6LoWPAN & Co.
Low-power IP: 6LoWPAN & Co.
 

Andere mochten auch

Immigration and ethnicity of skilled workers to US, Irinel Ciocioc
Immigration and ethnicity of skilled workers to US, Irinel CiociocImmigration and ethnicity of skilled workers to US, Irinel Ciocioc
Immigration and ethnicity of skilled workers to US, Irinel Ciociocirinelc
 
Mortgage analysis, Real Estate Investments, Irinel Ciocioc
Mortgage analysis, Real Estate Investments, Irinel CiociocMortgage analysis, Real Estate Investments, Irinel Ciocioc
Mortgage analysis, Real Estate Investments, Irinel Ciociocirinelc
 
Hawaiian punch Irinel Ciocioc
Hawaiian punch Irinel CiociocHawaiian punch Irinel Ciocioc
Hawaiian punch Irinel Ciociocirinelc
 
Kajiado County Audit Report 2014/15
Kajiado County Audit Report 2014/15Kajiado County Audit Report 2014/15
Kajiado County Audit Report 2014/15The Star Newspaper
 
ONOS intent introduction
ONOS intent introductionONOS intent introduction
ONOS intent introductionYi Tseng
 
Using an Information Asset Register for the GDPR
Using an Information Asset Register for the GDPRUsing an Information Asset Register for the GDPR
Using an Information Asset Register for the GDPRReynold Leming
 
P4: Programming Protocol-Independent Packet Processor
P4: Programming Protocol-Independent Packet ProcessorP4: Programming Protocol-Independent Packet Processor
P4: Programming Protocol-Independent Packet ProcessorMakhlouf Antitene
 
Layer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitchLayer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitchNetronome
 
Request to Fulfill Presentation (IT4IT)
Request to Fulfill Presentation (IT4IT)Request to Fulfill Presentation (IT4IT)
Request to Fulfill Presentation (IT4IT)Rob Akershoek
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux NetworkingPLUMgrid
 
Nyamira County Audit Report 2014/2015
Nyamira County Audit Report 2014/2015Nyamira County Audit Report 2014/2015
Nyamira County Audit Report 2014/2015The Star Newspaper
 
[Webinar Slides] Privacy Shield is Here – What You Need to Know
[Webinar Slides] Privacy Shield is Here – What You Need to Know[Webinar Slides] Privacy Shield is Here – What You Need to Know
[Webinar Slides] Privacy Shield is Here – What You Need to KnowTrustArc
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkTim4PreStartup
 
Aws S3 uploading tricks 2016
Aws S3 uploading tricks 2016Aws S3 uploading tricks 2016
Aws S3 uploading tricks 2016Bogdan Naydenov
 
Norma oficial mexicana 251 SSA
Norma oficial mexicana 251 SSANorma oficial mexicana 251 SSA
Norma oficial mexicana 251 SSAFernando Solar
 

Andere mochten auch (20)

Landscape_2016
Landscape_2016Landscape_2016
Landscape_2016
 
iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success...
iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success...iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success...
iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success...
 
Immigration and ethnicity of skilled workers to US, Irinel Ciocioc
Immigration and ethnicity of skilled workers to US, Irinel CiociocImmigration and ethnicity of skilled workers to US, Irinel Ciocioc
Immigration and ethnicity of skilled workers to US, Irinel Ciocioc
 
6 B Draft
6 B Draft6 B Draft
6 B Draft
 
IREB BOOK COVER - Front and Back
IREB BOOK COVER - Front and BackIREB BOOK COVER - Front and Back
IREB BOOK COVER - Front and Back
 
Mortgage analysis, Real Estate Investments, Irinel Ciocioc
Mortgage analysis, Real Estate Investments, Irinel CiociocMortgage analysis, Real Estate Investments, Irinel Ciocioc
Mortgage analysis, Real Estate Investments, Irinel Ciocioc
 
Hawaiian punch Irinel Ciocioc
Hawaiian punch Irinel CiociocHawaiian punch Irinel Ciocioc
Hawaiian punch Irinel Ciocioc
 
Kajiado County Audit Report 2014/15
Kajiado County Audit Report 2014/15Kajiado County Audit Report 2014/15
Kajiado County Audit Report 2014/15
 
ONOS intent introduction
ONOS intent introductionONOS intent introduction
ONOS intent introduction
 
Using an Information Asset Register for the GDPR
Using an Information Asset Register for the GDPRUsing an Information Asset Register for the GDPR
Using an Information Asset Register for the GDPR
 
Vip scan
Vip scanVip scan
Vip scan
 
P4: Programming Protocol-Independent Packet Processor
P4: Programming Protocol-Independent Packet ProcessorP4: Programming Protocol-Independent Packet Processor
P4: Programming Protocol-Independent Packet Processor
 
Layer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitchLayer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitch
 
Request to Fulfill Presentation (IT4IT)
Request to Fulfill Presentation (IT4IT)Request to Fulfill Presentation (IT4IT)
Request to Fulfill Presentation (IT4IT)
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux Networking
 
Nyamira County Audit Report 2014/2015
Nyamira County Audit Report 2014/2015Nyamira County Audit Report 2014/2015
Nyamira County Audit Report 2014/2015
 
[Webinar Slides] Privacy Shield is Here – What You Need to Know
[Webinar Slides] Privacy Shield is Here – What You Need to Know[Webinar Slides] Privacy Shield is Here – What You Need to Know
[Webinar Slides] Privacy Shield is Here – What You Need to Know
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual Network
 
Aws S3 uploading tricks 2016
Aws S3 uploading tricks 2016Aws S3 uploading tricks 2016
Aws S3 uploading tricks 2016
 
Norma oficial mexicana 251 SSA
Norma oficial mexicana 251 SSANorma oficial mexicana 251 SSA
Norma oficial mexicana 251 SSA
 

Ähnlich wie P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters

Making our networking stack truly extensible
Making our networking stack truly extensible Making our networking stack truly extensible
Making our networking stack truly extensible Olivier Bonaventure
 
P4+ONOS SRv6 tutorial.pptx
P4+ONOS SRv6 tutorial.pptxP4+ONOS SRv6 tutorial.pptx
P4+ONOS SRv6 tutorial.pptxtampham61268
 
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini SummitRed hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summitkimw001
 
HP & NFV POC at SDN World Congree
HP & NFV POC at SDN World CongreeHP & NFV POC at SDN World Congree
HP & NFV POC at SDN World CongreeMarie-Paule Odini
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceSamsung Open Source Group
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)Kirill Tsym
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingKernel TLV
 
SDN/NFV: Service Chaining
SDN/NFV: Service Chaining SDN/NFV: Service Chaining
SDN/NFV: Service Chaining Odinot Stanislas
 
Introduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationIntroduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationSamsung Open Source Group
 
OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07Nicolas (Nick) Barcet
 
Summit 16: OpenStack Tacker - Open Platform for NFV Orchestration
Summit 16: OpenStack Tacker - Open Platform for NFV OrchestrationSummit 16: OpenStack Tacker - Open Platform for NFV Orchestration
Summit 16: OpenStack Tacker - Open Platform for NFV OrchestrationOPNFV
 
NFVO based on ManageIQ - OPNFV Summit 2016 Demo
NFVO based on ManageIQ - OPNFV Summit 2016 DemoNFVO based on ManageIQ - OPNFV Summit 2016 Demo
NFVO based on ManageIQ - OPNFV Summit 2016 DemoManageIQ
 
Red Hat demo of OpenStack and ODL at ODL summit 2016
Red Hat demo of OpenStack and ODL at ODL summit 2016 Red Hat demo of OpenStack and ODL at ODL summit 2016
Red Hat demo of OpenStack and ODL at ODL summit 2016 RedHatTelco
 
How to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersHow to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersSolarWinds
 
2pm-Wilson-Wang-5G-Mobile-Platform-with-P4-Enabled-Network-Slicing-and-MEC.pdf
2pm-Wilson-Wang-5G-Mobile-Platform-with-P4-Enabled-Network-Slicing-and-MEC.pdf2pm-Wilson-Wang-5G-Mobile-Platform-with-P4-Enabled-Network-Slicing-and-MEC.pdf
2pm-Wilson-Wang-5G-Mobile-Platform-with-P4-Enabled-Network-Slicing-and-MEC.pdfHngDngc
 
L4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef LaribiL4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef Laribibuildacloud
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingDigicomp Academy AG
 
Cilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPThomas Graf
 
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...Jim St. Leger
 

Ähnlich wie P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters (20)

Making our networking stack truly extensible
Making our networking stack truly extensible Making our networking stack truly extensible
Making our networking stack truly extensible
 
P4+ONOS SRv6 tutorial.pptx
P4+ONOS SRv6 tutorial.pptxP4+ONOS SRv6 tutorial.pptx
P4+ONOS SRv6 tutorial.pptx
 
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini SummitRed hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
 
HP & NFV POC at SDN World Congree
HP & NFV POC at SDN World CongreeHP & NFV POC at SDN World Congree
HP & NFV POC at SDN World Congree
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 
SDN/NFV: Service Chaining
SDN/NFV: Service Chaining SDN/NFV: Service Chaining
SDN/NFV: Service Chaining
 
Introduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationIntroduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential Collaboration
 
OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07
 
Summit 16: OpenStack Tacker - Open Platform for NFV Orchestration
Summit 16: OpenStack Tacker - Open Platform for NFV OrchestrationSummit 16: OpenStack Tacker - Open Platform for NFV Orchestration
Summit 16: OpenStack Tacker - Open Platform for NFV Orchestration
 
NFVO based on ManageIQ - OPNFV Summit 2016 Demo
NFVO based on ManageIQ - OPNFV Summit 2016 DemoNFVO based on ManageIQ - OPNFV Summit 2016 Demo
NFVO based on ManageIQ - OPNFV Summit 2016 Demo
 
Red Hat demo of OpenStack and ODL at ODL summit 2016
Red Hat demo of OpenStack and ODL at ODL summit 2016 Red Hat demo of OpenStack and ODL at ODL summit 2016
Red Hat demo of OpenStack and ODL at ODL summit 2016
 
How to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersHow to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco Routers
 
2pm-Wilson-Wang-5G-Mobile-Platform-with-P4-Enabled-Network-Slicing-and-MEC.pdf
2pm-Wilson-Wang-5G-Mobile-Platform-with-P4-Enabled-Network-Slicing-and-MEC.pdf2pm-Wilson-Wang-5G-Mobile-Platform-with-P4-Enabled-Network-Slicing-and-MEC.pdf
2pm-Wilson-Wang-5G-Mobile-Platform-with-P4-Enabled-Network-Slicing-and-MEC.pdf
 
L4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef LaribiL4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef Laribi
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
 
Cilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDP
 
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
 

Kürzlich hochgeladen

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Kürzlich hochgeladen (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters

  • 1. 1©2016 Open-NFP P4-based VNF and Micro-VNF chaining for servers with SmartNICs David George david.george@netronome.com
  • 2. 2©2016 Open-NFP Session Agenda ● Introduction ● Design overview ● A look under the hood – P4, SandboxC and rules ● Run-through – Demo of key features ● Conclusions + questions ● (time permitting) A quick overview of SDK6 P4 runtime
  • 3. 3©2016 Open-NFP Introduction ● VNF – Virtualized Network Function – Network function hosted independent of physical hardware ● examples: Firewall, intrusion detection – Chaining a sequence of VNF ● Micro-VNF? – Light-weight VNF – Possible to integrate close to dataplane ● e.g in kernel, on smartNIC – examples: telemetry, statistics ● Goal to illustrate how this can be achieved: – SmartNIC P4 dataplane using Netronome SDK 6 – Micro-VNFs in sandbox C – Simple VNFs with libvirt + VFIO – Other ‘neat’ P4 stuff ● Why this example? – Illustrates how simple it can be to solve challenging problems with P4 + SmartNICs: ● Marshalling data into VNFs ● Gathering telemetry info + processing statistics –
  • 4. 4©2016 Open-NFP Design/Demo Overview X86 Host Micro-VNFs: Payload scan Hoptime stats Linux Net Namespace VLAN 2 “dumb” NIC + bridge Physical Interface TCP path with metering Netronome SmartNIC with P4+C Dataplane VNF0: NetDev L2 Bridge in VM VFIO 1 VNF1: DPDK L2 Bridge in VM VFIO 0 VFIO 3 VFIO 2 Linux Net Namespace VLAN3
  • 5. 5©2016 Open-NFP Design/Demo Overview (cont.) ● P4 Dataplane – Run-of-the-mill parse + match + action + forwarding ● VNFs: L2 Forwarding “cooked two ways” DPDK and NetDev – Simple way to illustrate use – BUT complicated routing: ● Must be unique per port direction! ● MicroVNFs: – VF “Hoptime” statistics ● Min, max, avg reported between VF send + receive ● Achieved using custom tunnel – Simple payload scanner: search for a compile time token ● Extra points of interest – Meters ● Traffic generation: – VLAN IDs used for routing between VFs – Linux Network Namespaces to isolate address spaces (all on one host)
  • 6. 6©2016 Open-NFP Traffic Generation X86 Host Micro-VNFs: Payload scan Hoptime stats Linux Net Namespace VLAN 2 “dumb” NIC + bridge Physical Interface TCP path with metering Netronome SmartNIC with P4+C Dataplane VNF0: NetDev L2 Bridge in VM VFIO 1 VNF1: DPDK L2 Bridge in VM VFIO 0 VFIO 3 VFIO 2 Linux Net Namespace VLAN3
  • 7. 7©2016 Open-NFP Coarse look at P4 design Parsing Ethernet VLAN Custom “hoptime” header IP + TCP Ingress Process “hoptime” Metering Forwarding Egress Insert “hoptime” Translate VLAN Tags
  • 8. 8©2016 Open-NFP A look under the hood + demo:
  • 9. 9©2016 Open-NFP Conclusions ● Illustrated simple solution for VNF chaining using P4 ● Showed the potential for implementing Micro-VNFs in C sandbox – Support for going beyond the P4 parsed headers in C – Measurement of VNF processing time ● Showed how flexibly P4 meters can be used
  • 10. 10©2016 Open-NFP Github Resources ● https://github.com/open-nfpsw/p4_vnf_uvnf_demo ● Includes: ● P4 , sandbox C & P4 configs – Building & loading using CLI or PS IDE ● Host scripts
  • 12. 12©2016 Open-NFP SDK P4 Runtime Environment ● Typically programmer studio drives the configuration – Hitting “debug” programs firmware, load rules, configures meters etc. ● The RTE ships with python tools and thrift interface for interacting with P4 Runtime Environment Server via Thrift RPC – Allows command line driven loading configuration – Possible to build a stand-alone application for interacting with design ● Example: L2 bridge receiving P4 digests and writing table updates
  • 13. 13©2016 Open-NFP SDK P4 Runtime Environment (cont) ● in RTE installation you will find the following: – thrift/sdk6_rte.thrift ● Thrift interface file, RPC stubs generated from this and can be used with python, C++... – thrift/client/RTEInterface.py ● A python module that provides an abstraction for the Thrift interface – thrift/client/sdk6_rte_cli.py ● A swiss army knife command line tool – thrift/client/digest_listener ● Example tool for dumping digest events