Network Interface Controller Drivers Release 17.11.10
Total Page:16
File Type:pdf, Size:1020Kb
Network Interface Controller Drivers Release 17.11.10 Feb 27, 2020 CONTENTS 1 Overview of Networking Drivers1 2 Features Overview4 2.1 Speed capabilities...................................4 2.2 Link status.......................................4 2.3 Link status event....................................4 2.4 Removal event.....................................5 2.5 Queue status event..................................5 2.6 Rx interrupt.......................................5 2.7 Lock-free Tx queue..................................5 2.8 Fast mbuf free.....................................6 2.9 Free Tx mbuf on demand...............................6 2.10 Queue start/stop....................................6 2.11 MTU update......................................6 2.12 Jumbo frame......................................6 2.13 Scattered Rx......................................7 2.14 LRO...........................................7 2.15 TSO...........................................7 2.16 Promiscuous mode..................................7 2.17 Allmulticast mode...................................8 2.18 Unicast MAC filter...................................8 2.19 Multicast MAC filter..................................8 2.20 RSS hash.......................................8 2.21 RSS key update....................................8 2.22 RSS reta update....................................9 2.23 VMDq..........................................9 2.24 SR-IOV.........................................9 2.25 DCB...........................................9 2.26 VLAN filter.......................................9 2.27 Ethertype filter..................................... 10 2.28 N-tuple filter...................................... 10 2.29 SYN filter........................................ 10 2.30 Tunnel filter....................................... 10 2.31 Flexible filter...................................... 10 2.32 Hash filter....................................... 10 2.33 Flow director...................................... 11 2.34 Flow control...................................... 11 2.35 Flow API........................................ 11 2.36 Rate limitation..................................... 11 i 2.37 Traffic mirroring.................................... 11 2.38 Inline crypto...................................... 11 2.39 CRC offload...................................... 12 2.40 VLAN offload...................................... 12 2.41 QinQ offload...................................... 12 2.42 L3 checksum offload................................. 13 2.43 L4 checksum offload................................. 13 2.44 Timestamp offload................................... 13 2.45 MACsec offload.................................... 14 2.46 Inner L3 checksum.................................. 14 2.47 Inner L4 checksum.................................. 14 2.48 Packet type parsing.................................. 14 2.49 Timesync........................................ 14 2.50 Rx descriptor status.................................. 15 2.51 Tx descriptor status.................................. 15 2.52 Basic stats....................................... 15 2.53 Extended stats..................................... 15 2.54 Stats per queue.................................... 16 2.55 FW version....................................... 16 2.56 EEPROM dump.................................... 16 2.57 Registers dump.................................... 16 2.58 LED........................................... 16 2.59 Multiprocess aware.................................. 16 2.60 BSD nic_uio...................................... 17 2.61 Linux UIO........................................ 17 2.62 Linux VFIO....................................... 17 2.63 Other kdrv....................................... 17 2.64 ARMv7......................................... 17 2.65 ARMv8......................................... 17 2.66 Power8......................................... 17 2.67 x86-32......................................... 17 2.68 x86-64......................................... 18 2.69 Usage doc....................................... 18 2.70 Design doc....................................... 18 2.71 Perf doc......................................... 18 2.72 Other dev ops not represented by a Feature.................... 18 3 Compiling and testing a PMD for a NIC 19 3.1 Driver Compilation................................... 19 3.2 Running testpmd in Linux............................... 20 4 ARK Poll Mode Driver 21 4.1 Overview........................................ 21 4.2 Device Parameters.................................. 22 4.3 Data Path Interface.................................. 22 4.4 Configuration Information............................... 22 4.5 Building DPDK..................................... 23 4.6 Supported ARK RTL PCIe Instances........................ 23 4.7 Supported Operating Systems............................ 23 4.8 Supported Features.................................. 23 4.9 Unsupported Features................................ 24 4.10 Pre-Requisites..................................... 24 ii 4.11 Usage Example.................................... 24 5 AVP Poll Mode Driver 25 5.1 Features and Limitations of the AVP PMD...................... 25 5.2 Prerequisites...................................... 26 5.3 Launching a VM with an AVP type network attachment.............. 26 6 BNX2X Poll Mode Driver 27 6.1 Supported Features.................................. 27 6.2 Non-supported Features............................... 27 6.3 Co-existence considerations............................. 27 6.4 Supported QLogic NICs................................ 28 6.5 Prerequisites...................................... 28 6.6 Pre-Installation Configuration............................. 28 6.6.1 Config File Options.............................. 28 6.7 Driver compilation and testing............................ 28 6.8 SR-IOV: Prerequisites and sample Application Notes............... 29 7 BNXT Poll Mode Driver 31 7.1 Limitations....................................... 31 8 CXGBE Poll Mode Driver 32 8.1 Features........................................ 32 8.2 Limitations....................................... 32 8.3 Supported Chelsio T5 NICs.............................. 32 8.4 Supported Chelsio T6 NICs.............................. 33 8.5 Prerequisites...................................... 33 8.6 Pre-Installation Configuration............................. 33 8.6.1 Config File Options.............................. 33 8.7 Driver compilation and testing............................ 34 8.8 Linux.......................................... 34 8.8.1 Linux Installation............................... 34 8.8.2 Running testpmd............................... 34 8.9 FreeBSD........................................ 36 8.9.1 FreeBSD Installation............................. 36 8.9.2 Running testpmd............................... 36 8.10 Sample Application Notes............................... 38 8.10.1 Enable/Disable Flow Control......................... 38 8.10.2 Jumbo Mode................................. 38 9 DPAA Poll Mode Driver 39 9.1 NXP DPAA (Data Path Acceleration Architecture - Gen 1)............. 39 9.1.1 DPAA Overview................................ 39 9.2 DPAA DPDK - Poll Mode Driver Overview...................... 40 9.2.1 DPAA Bus driver............................... 41 9.2.2 DPAA NIC Driver (PMD)........................... 41 9.2.3 DPAA Mempool Driver............................ 41 9.3 Supported DPAA SoCs................................ 41 9.4 Prerequisites...................................... 42 9.5 Pre-Installation Configuration............................. 43 9.5.1 Config File Options.............................. 43 9.5.2 Environment Variables............................ 43 iii 9.6 Driver compilation and testing............................ 43 9.7 Limitations....................................... 44 9.7.1 Platform Requirement............................ 44 9.7.2 Maximum packet length........................... 44 9.7.3 Multiprocess Support............................. 44 10 DPAA2 Poll Mode Driver 45 10.1 NXP DPAA2 (Data Path Acceleration Architecture Gen2)............. 45 10.1.1 DPAA2 Overview............................... 45 10.1.2 Overview of DPAA2 Objects......................... 46 10.1.3 DPAA2 Objects for an Ethernet Network Interface............. 47 10.1.4 Object Connections.............................. 48 10.1.5 Interrupts................................... 49 10.2 DPAA2 DPDK - Poll Mode Driver Overview..................... 49 10.2.1 DPAA2 bus driver............................... 49 10.2.2 DPIO driver.................................. 49 10.2.3 DPBP based Mempool driver........................ 50 10.2.4 DPAA2 NIC Driver.............................. 50 10.3 Supported DPAA2 SoCs............................... 51 10.4 Prerequisites...................................... 51 10.5 Pre-Installation Configuration............................. 52 10.5.1 Config File Options.............................. 52 10.6 Driver compilation and testing............................ 52 10.7 Limitations....................................... 53 10.7.1 Platform Requirement............................ 53 10.7.2 Maximum packet length........................... 53 10.7.3 Other Limitations............................... 53 11 Driver for VM Emulated Devices 54 11.1 Validated Hypervisors................................. 54 11.2 Recommended Guest Operating System in Virtual Machine........... 54 11.3 Setting Up a KVM Virtual Machine.........................