1. CentOS: NFV SIGCentOS: NFV SIG
Introduction and UpdateIntroduction and Update
Thomas F Herbert therbert@redhat.com
2. AgendaAgenda
● Background and History of NFV SIG
● What is NFV?
● Details about VPP and Package Contents
● NFV SIG Community Health
● NFV SIG Current Status
● Future of NFV SIG and Discussion
3. NFV SIG BackgroundNFV SIG Background
● Originally Intended for OPNFV Project
● OPNFV Went to ISO Distribution
● Upstream OpenStack Packaged in Cloud SIG
● Open Daylight SDN Controller
● Java Packaging – Building from ODL CI
4. What is NFV?What is NFV?
● Network Functions Implemented in Software
● Data Planes and Components
● VPP, OpenvSwitch
● DPDK, ODP etc.
● Control Planes
● Open Daylight
● Tungsten Fabric etc.
● Orchestration Planes
● Network Service Mesh
5. What is VPP?What is VPP?
● Data Plane Acceleration in Software
● Utilizes Instruction Cache and
● Data Cache Optimization in
● Intel and Aarch64
● Multi Featured with
● Routing
● IPv6 IPv4
● Layer 2 and 3
● MemIF for Containers
● Vhost User for VMs
6. fd.io Foundation
Introducing VPP (the vector packet
processor)
Accelerating the dataplane since
2002
Fast, Scalable and Determinisic
• 14+ Mpps per core
• Tested to 1TB
• Scalable FIB: supporting millions of
entries
• 0 packet drops, ~15µs latency
Optimized
• DPDK for fast I/O
• ISA: SSE, AVX, AVX2, NEON ..
• IPC: Batching, no mode switching, no
context switches, non-blocking
• Multi-core: Cache and memory
efficient
Network I/O
Packet Processing: VPP
Management Agent
Netconf/Yang REST ...
ethernet-
input
dpdk-input
af-packet-
input
vhost-user-
input
mpls-inputlldp-input
...-no-
checksum
ip4-input ip6-inputarp-inputcdp-input l2-input
ip4-lookup
ip4-lookup-
mulitcast
ip4-rewrite-
transit
ip4-load-
balance
ip4-
midchain
mpls-policy-
encap
interface-
output
7. fd.io Foundation
Introducing VPP
Extensible and Flexible modular
design
• Implement as a directed graph of
nodes
• Extensible with plugins, plugins are
equal citizens.
• Configurable via CP and CLI
Developer friendly
• Deep introspection with counters and
tracing facilities.
• Runtime counters with IPC and errors
information.
• Pipeline tracing facilities, life-of-a-
packet.
• Developed using standard toolchains.
Network I/O
Packet Processing: VPP
Management Agent
Netconf/Yang REST ...
ethernet-
input
dpdk-input
af-packet-
input
vhost-user-
input
mpls-inputlldp-input
...-no-
checksum
ip4-input ip6-inputarp-inputcdp-input l2-input
ip4-lookup
ip4-lookup-
mulitcast
ip4-rewrite-
transit
ip4-load-
balance
ip4-
midchain
mpls-policy-
encap
interface-
output
9. What is in the VPP Package?What is in the VPP Package?
● SRPM
● Generates total of 5 RPMs
● Includes embedded tarball for DPDK
● Generates Static Library
● Other Plugins and APIs
● Dynamic Libraries
● VPP Library
● VPP Daemon
● Other Utilities
● Configuration Files
10. Community HealthCommunity Health
● Meetings on IRC BiWeekly
– https://wiki.centos.org/SpecialInterestGroup/NFV
● Healthy and Active but
● Minimal Community Participation
● Although there has been some nibbles, there is no sustained
interest in new packages.
● No new active committers.
● Little or no Participation in Meetings
● Strong Interest in the VPP Packages
● VPP, OpenvSwitch
● DPDK, ODP etc.
11. NFV SIG Current StatusNFV SIG Current Status
● Packaging for fd.io Project
● VPP Package
● Release 1807 Available
● WIP: 19.01 Release
● Prerequisites for VPP 19.01
● Open Daylight SDN Controller
– Not in repo but built in Project CI
12. NFV SIG FutureNFV SIG Future
● Ideas to Broaden the Community?
● Warning Provocative Question –
● With containers and Kubernetes, are we obsolete?
● What does the community want?
● More ackages for NFV
● Dataplanes such as ODP?
● Aarch64 Support?
● VPP is a plugin architecture
● Separate dpdk package?
● Kubernetes on Centos?
● NFV for Containers
13. CentOS NFV SIGCentOS NFV SIG
● References
● NFV SIG
● https://wiki.centos.org/SpecialInterestGroup/NFV
● Family of Projects for Fast data planes
● https://fd.io/
– VPP – Vector Processing Pipeline
● https://fd.io/technology/#vpp
● Open Daylight SDN Controller
• https://www.opendaylight.org/
● https://cbs.centos.org/koji/packageinfo?packageID=75