What is FDIO?ΒΆ
FD.io (Fast data - Input/Output) is a collection of several projects and libraries to amplify the transformation to support flexible, programmable and composable services on a generic hardware platform. FD.io offers the Software Defined Infrastructure developer community a landing site with multiple projects fostering innovations in software-based packet processing towards the creation of high-throughput, low-latency and resource-efficient IO services suitable to many architectures (x86, ARM, and PowerPC) and deployment environments (bare metal, VM, container).
A key component is the Vector Packet Processing (VPP) library donated by Cisco.
- Concepts
- What is VPP?
- Introduction
- Why is it called vector processing?
- Modular, Flexible, and Extensible
- Feature Rich
- Example Use Case: VPP as a vSwitch/vRouter
- Local Programmability
- Remote Programmability
- Sample Data Plane Management Agent
- Primary Characteristics Of VPP
- Supported Architectures
- Supported Packaging Models
- Performance Expectations
- Performance Metrics
- NDR Rates
- What is VPP?
- Setup
- Tasks
- Guides
- Progressive VPP Tutorial
- Introduction
- Exercise: Setting up your environment
- Vagrant Set Up
- Exercise: Install VPP
- Exercise: VPP basics
- VPP command learned in this exercise
- Action: Remove dpdk plugin
- Action: Run VPP
- Action: Send commands to VPP using vppctl
- Action: Start a VPP shell using vppctl
- Exercise: Create an interface
- Skills to be Learned
- VPP command learned in this exercise
- Topology
- Initial State
- Action: Create veth interfaces on host
- Action: Create vpp host- interface
- Action: Add trace
- Action: Ping from host to vpp
- Action: Examine Trace of ping from host to vpp
- Action: Clear trace buffer
- Action: ping from vpp to host
- Action: Examine Trace of ping from vpp to host
- Action: Examine arp tables
- Action: Examine routing table
- Exercise: Connecting two vpp instances
- Exercise: Routing
- Exercise: Switching
- Skills to be Learned
- vpp command learned in this exercise
- Topology
- Initial state
- Action: Run vpp instances
- Action: Connect vpp1 to host
- Action: Connect vpp1 to vpp2
- Action: Configure Bridge Domain on vpp1
- Action: Configure loopback interface on vpp2
- Action: Configure bridge domain on vpp2
- Action: Ping from host to vpp and vpp to host
- Action: Examine l2 fib
- Source NAT
- Skills to be Learned
- vpp command learned in this exercise
- Topology
- Initial state
- Action: Install vpp-plugins
- Action: Create vpp instance
- Action: Create veth interfaces
- Action: Configure vpp outside interface
- Action: Configure snat
- Action: Prepare to Observe Snat
- Action: Ping via snat
- Action: Confirm snat
- Progressive VPP Tutorial
- Reference