QorIQ Intelligent Network Interface Card (inic) Solution SDK v1.0 Update APF-NET-T0658 Gary Chu A U G. 2 0 1 4 TM External Use
The New Virtualized Network Cloud Cloud gaining momentum as the service platform of choice for Apps Compute / Storage Virtualization - established benefits Network Virtualization scalable approaches needed 1 3 2 NFV NFV service providers enabling networking Apps developers Cloud Computing base SW platform Network Appliances become virtual appliances on high-volume compute platforms Standardization vendor interoperability SDN operators exposing the network to Apps developers SDN OpenFlow SW substrate for interoperable data plane Control Layer virtualizes Network-as-a-Service (NaaS) like NV for multi-tenancy and scale Control / Apps Plane NBIs to foster proliferation of SW apps on high-volume compute platforms OpenFlow L4-7 high-bandwidth network functions embedded in data plane External Use 1
Freescales inic Standard Server + Intelligent Basic Network Network Interface Interface Controller Controller (NIC) (inic) Commodity Rack Server Linux Applications Virtualization Virtualized Computing Environment Linux Datapath Network L4 L7 Layers Network Switching Basic inic NIC Ethernet Virtualized Connectivity I/O Linux Datapath (Accelerated) Network L1 L7 Layers Network Switching Ethernet Connectivity inic Weakness Advantage: Xeon Processor Ethernet Connections PCI express Substantial Offloads networking centric processing operations load to increase is handled server by Xeon processing CPU for applications (The money maker) External Use 2
Server non-inic case (Basic Flows) X86 Xeon Linux Platform VM0 Intel DPDK Open vswitch 1 Packet Forwarding Engine VM1 Intel DPDK 2 Openflow Controller* 4 Openflow Agent NIC Traffic Flow 1 VM-to-VM 2 VM-to-ethernet ethernet-to-ethernet 3 Openflow Control Plane path 4 Hypervisor PF VF1 VF2 VF3 VFn 3 DPDK NIC driver Support for up to 128 VF User Space Open vswitch Openflow Agent for traffic management * Can be external External Use 3
Server with Freescale inic (Basic Flows) X86 Xeon Linux Platform VM0 Intel DPDK VM1 Intel DPDK 1 2 Openflow Controller* 4 inic Traffic Flow VM-to-VM 1 2 VM-to-ethernet 3 ethernet-to-ethernet 4 Openflow Control Plane path Hypervisor PF VF1 VF2 VF3 VFn PCIe (SR_IOV) 128VF H/W Accel.Packet Forwarding Engine User Space Open vswitch T2/T4 +c290 inic * Can be external External Use 4 Openflow Agent 3 Intel DPDK compliant vport driver optimized for QorIQ inic Support for up to 128 VF User Space Open vswitch with hardware accelerated Packet Forwarding Engine Supports Openflow Agent
Server with Freescale inic X86 Xeon Linux Platform VM0 Intel DPDK VM1 Intel DPDK Openflow Controller* IPSEC TCP offload Data Compression Deep Packet Inspection Load Balancing OpenSSL + record offload SDN/Firewall/ACL Vendor defined applications L4-7 Apps PME SEC DCE Hypervisor PF VF1 VF2 VF3 VFn PCIe (SR_IOV) 128VF H/W Accel.Packet Forwarding Engine User Space Open vswitch T2/T4 +c290 inic * Can be external External Use 5 Openflow Agent Offloading of x86 CPU to increase aggregate with application performance cost effectively. Increase top end server performance Scalable inic platform performance T2080 to T4240. Reusable software. Hardware acceleration for Data Path, Pattern Matching, Security and Decompression /Compression, PKC/Record offload.
Freescale inic Performance Advantage Intel Xeon platforms with a standard NIC require 4 cores of the Xeon CPU to run OVS (3 cores) and VMM (1 core). With a Freescale inic, 1 Xeon core continues running the VMM; the 3 cores running OVS are offloaded to the Freescale CPU. Additionally Freescale processors contain network application oriented hardware accelerators (security, compress/decompress, pattern matching ) which accelerate key inic use cases. X86 Xeon Linux Platform P F Open vswitch VM0 Intel DPDK Packet Forwarding Engine VM1 Intel DPDK Hypervisor VF1 VF2 VF3 VFn Openflo w Controlle r* Openflow Agent 30% Xeon cores freed up X86 Xeon Linux Platform VM0 Intel DPDK P F VM1 Intel DPDK 1 2 Hypervisor VF1 VF2 VF3 VFn PCIe (SR_IOV) 128VF H/W Accel.Packet Forwarding Engine User Space Open vswitch T2/T4 +c290 inic Openflo w Controlle r* Openflow Agent 3 4 External Use 6
inic Development Kit Rapid prototyping and development platform for inic applications X86 Xeon Linux Platform VM0 Intel DPDK VM1 Intel DPDK Major Features Host X86 Linux/KVM host environment Upstreamable inic Linux kernel driver DPDK compatible inic interface in user space inic Patch release based on SDK 1.6 Open vswitch in user space Multi path communications virtual machine to virtual machine virtual machine to physical network physical network to physical network T2/T4 +c290 inic User Space Open vswitch Hypervisor PF VF1 VF2 VF3 VFn H/W Accel.Packet Forwarding Engine PCIe (SR_IOV) 128VF Provided sources or links to open sources with build instructions Flash image for quick startup on support boards Availability end of July 2014 External Use 7
x86 machine information Processor : Intel(R) Xeon(R) CPU E5 2620 0 @ 2.00GHz OS: Ubuntu 12.04.4 64bit Hypervisor: KVM (Kernel Virtual Machine) with Qemu version 1.0.0 External Use 8
HOST Host SR-IOV support 2 Physical Functions (PF) 64 Virtual Functions (VF) for each PF, 128 VFs totally 1G Ethernet port and 2 x ernet ports support Two modes support of Tx/Rx packets process Interrupt mode: MSI-X interrupt is used to notify arriving of Rx packets and buffer release of Tx packets Poll mode: One thread is used for one or more pairs of Tx and Rx, and each thread is bound to one CPU core External Use 9
HOST Host kernel driver T4240pcie host driver with SR-IOV support User space ovs driver DPDK-ovs driver (ovs control plane) OVS database OVS daemon OVS utilities DPDK PMD driver Patches based on Intel DPDK 1.6.0r2 Testpmd application on host Pktgen-DPDK PMD driver test Virtual Machine to Virtual Machine data flow External Use 10
Use cases (Test Script) inic Pktgen-DPDK PMD Driver + KVM inic OVS Path: VF (PF)<->OVS<->VF(PF) inic OVS Path: VF (PF)<->PHY<->PHY<->VF(PF) inic OVS Path: PHY<->PHY External Use 11
EP Enpoint SR-IOV support DMA module 3 DMA controllers (24 channels) support FMan module (USDPAA) Configuration file is provided to support multiple FMan ports Policy file is provided to configure policy for each port Precise classification of MAC to frame queue USDPAA inic application ovs_dpdk user space application (ovs data plane) Based on SDK1.6 kernel 3.12.19 External Use 12
External Use 13
QorIQ SDK Roadmap SDK 1.5 (19-Dec) Processor and board C29x rev 1, C290PCIe T4240/160 rev 2, P5040 rev 2.1, P1010 rev 2, B4860/4420 rev 2.1 End support for T4240 rev 1, P5040 rev 2, P3041 and P2041 rev 1.1, P4080 rev 2.0, P1010 rev 1 New Features Includes SDK v1.4.5 changes Libvirt 1.1.2 uprev KVM Hardware table walk [T4240, B4860] Power Mgmt: CPU Hotplug on DPAA OpenSSL Record layer offload Ethernet: MAC multicast group on MACless, driver convergence ASF: T4240, BSC913x, default configuration USDPAA: SRIO port 2, IPSec extended sequence DPAA Offload: P2041, add IPSec SA extended statistics, extend IPSec for SA modify FMan: Debug helper functions L1 Defense [B4860] IFC: 8K NAND page size P1010: SDHC after IFC boot Base Kernel 3.8, U-Boot 2013.01, gcc 4.7, eglibc 2.15 SDK 1.6 Plan (Jun) Processor and board T2080 rev 1.0, T2080RDB, T2080QDS T1040/20/42/22 rev 1.0, T1040RDB, T1042RDB T4240RDB (rev 2) B4860/4420 rev 2.2 & 2.1, replaces rev 1 New Features U-Boot: increase to 768K, flash map change SKMM, PK Calculator [C29x] OpenSSL Public key offload XFI [T4240 T2080] and 10GBASE-KR [T4240] PCIe SR-IOV [T4240, T2080] Data Compression Engine [T4240, T2080] Power Mgmt: Deep sleep [T1040] Auto-Response [T1040] L2 Switch, Link Aggregation [T1040] Ethernet: FCoE / 802.1Qbb [T4240, T2080], Wake on LAN support, DPAA offload aware net device [B4860, T4240] IEEE1588 open source stack [etsec] USDPAA: T2080, T1040 ASF: T2080, T1040, CEETM DPAA Offload: T4240, T2080, Multiple IPSec instances, IPSec tunnels aggregation, IPSec SA per DSCP, Route based VPN L1 Defense mode 1 and 2 [B4860] Base Kernel 3.12, U-Boot 2014.01 Gcc 4.8, eglibc 2.15, Yocto 1.6 64-bit user space on e6500 platforms SDK 1.7 Plan (Dec) Processor and board T1023 rev 1.0, T1023RDB LS1020/21 rev 1.0, LS1020TWR New Features ARM enablement - Yocto, toolchain, images, user manual, endianness updates to drivers ARM drivers upstream [LS1020] Introduction of Yocto features Interlaken [T4240] HiGig [T4240] inic framework [T4240, T2080] Open vswitch, DPDK DPAA drivers upstream DPAA Offload: Common FastPath API on DPAA1.x USDPAA: DCE driver User Space TCP stack integration Power Management: Deep Sleep [LS1], DVFS [LS1], Thermal Monitoring Unit (TMU) DPAA Offload benchmarks USB 3.0 [LS1] Base Same as SDK 1.6 Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2013 2014 SDK inic Framework Beta 0714 now available! External Use 14
Freescale Smart NIC Reference Designs PCIe cards providing enhanced L4-L7 functionality TCP offload Security (SSL/IPsec, SRTP) Load Balancing Compression/decompression Pattern matching OVS SR-IOV I/O virtualization Available: Now T2080 T4240 CPU Cores 4 (8 threads) 12 (24 threads) Frequency 1.2 to 1.8GHz 1.2 to 1.8GHz Worst Case Power 15W-28W 48W-60W Frame Managers 1 2 64 bit DDR3 cntr 1 3 10G Enet I/Fs 4 4 IPv4fwd 24Gbps 50Gbps IPSec 10Gbps 35Gbps Data Compression 17.5Gbps 20Gbps Pattern Matching 10Gbps 10Gbps SR-IOV 128 VF 128 VF T4240 PCIe Card T2080 PCIe Card External Use 15
www.freescale.com 2014 Freescale Semiconductor, Inc. External Use