Network Interface Controller Drivers Release 18.05.1
Total Page:16
File Type:pdf, Size:1020Kb
Network Interface Controller Drivers Release 18.05.1 September 07, 2018 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 Inner RSS.......................................8 2.22 RSS key update....................................9 2.23 RSS reta update....................................9 2.24 VMDq..........................................9 2.25 SR-IOV.........................................9 2.26 DCB...........................................9 2.27 VLAN filter....................................... 10 2.28 Ethertype filter..................................... 10 2.29 N-tuple filter...................................... 10 2.30 SYN filter........................................ 10 2.31 Tunnel filter....................................... 10 2.32 Flexible filter...................................... 11 2.33 Hash filter....................................... 11 2.34 Flow director...................................... 11 2.35 Flow control...................................... 11 2.36 Flow API........................................ 11 i 2.37 Rate limitation..................................... 11 2.38 Traffic mirroring.................................... 12 2.39 Inline crypto...................................... 12 2.40 CRC offload...................................... 12 2.41 VLAN offload...................................... 12 2.42 QinQ offload...................................... 13 2.43 L3 checksum offload................................. 13 2.44 L4 checksum offload................................. 13 2.45 Timestamp offload................................... 14 2.46 MACsec offload.................................... 14 2.47 Inner L3 checksum.................................. 14 2.48 Inner L4 checksum.................................. 14 2.49 Packet type parsing.................................. 14 2.50 Timesync........................................ 15 2.51 Rx descriptor status.................................. 15 2.52 Tx descriptor status.................................. 15 2.53 Basic stats....................................... 15 2.54 Extended stats..................................... 16 2.55 Stats per queue.................................... 16 2.56 FW version....................................... 16 2.57 EEPROM dump.................................... 16 2.58 Module EEPROM dump................................ 16 2.59 Registers dump.................................... 17 2.60 LED........................................... 17 2.61 Multiprocess aware.................................. 17 2.62 BSD nic_uio...................................... 17 2.63 Linux UIO........................................ 17 2.64 Linux VFIO....................................... 17 2.65 Other kdrv....................................... 17 2.66 ARMv7......................................... 18 2.67 ARMv8......................................... 18 2.68 Power8......................................... 18 2.69 x86-32......................................... 18 2.70 x86-64......................................... 18 2.71 Usage doc....................................... 18 2.72 Design doc....................................... 18 2.73 Perf doc......................................... 19 2.74 Runtime Rx queue setup............................... 19 2.75 Runtime Tx queue setup............................... 19 2.76 Other dev ops not represented by a Feature.................... 19 3 Compiling and testing a PMD for a NIC 20 3.1 Driver Compilation................................... 20 3.2 Running testpmd in Linux............................... 21 4 ARK Poll Mode Driver 23 4.1 Overview........................................ 23 4.2 Device Parameters.................................. 24 4.3 Data Path Interface.................................. 24 4.4 Configuration Information............................... 24 4.5 Building DPDK..................................... 25 4.6 Supported ARK RTL PCIe Instances........................ 25 ii 4.7 Supported Operating Systems............................ 25 4.8 Supported Features.................................. 25 4.9 Unsupported Features................................ 26 4.10 Pre-Requisites..................................... 26 4.11 Usage Example.................................... 26 5 AVP Poll Mode Driver 27 5.1 Features and Limitations of the AVP PMD...................... 27 5.2 Prerequisites...................................... 28 5.3 Launching a VM with an AVP type network attachment.............. 28 6 AXGBE Poll Mode Driver 29 6.1 Supported Features.................................. 29 6.2 Configuration Information............................... 29 6.3 Building DPDK..................................... 30 6.4 Prerequisites and Pre-conditions........................... 30 6.5 Usage Example.................................... 30 7 BNX2X Poll Mode Driver 31 7.1 Supported Features.................................. 31 7.2 Non-supported Features............................... 31 7.3 Co-existence considerations............................. 31 7.4 Supported QLogic NICs................................ 32 7.5 Prerequisites...................................... 32 7.6 Pre-Installation Configuration............................. 32 7.7 Driver compilation and testing............................ 32 7.8 SR-IOV: Prerequisites and sample Application Notes............... 32 8 BNXT Poll Mode Driver 35 8.1 Limitations....................................... 35 9 CXGBE Poll Mode Driver 36 9.1 Features........................................ 36 9.2 Limitations....................................... 36 9.3 Supported Chelsio T5 NICs.............................. 37 9.4 Supported Chelsio T6 NICs.............................. 37 9.5 Supported SR-IOV Chelsio NICs........................... 37 9.6 Prerequisites...................................... 37 9.7 Pre-Installation Configuration............................. 37 9.8 Driver compilation and testing............................ 38 9.9 Linux.......................................... 38 9.10 FreeBSD........................................ 41 9.11 Sample Application Notes............................... 44 10 DPAA Poll Mode Driver 45 10.1 NXP DPAA (Data Path Acceleration Architecture - Gen 1)............. 45 10.2 DPAA DPDK - Poll Mode Driver Overview...................... 46 10.3 Whitelisting & Blacklisting............................... 47 10.4 Supported DPAA SoCs................................ 48 10.5 Prerequisites...................................... 48 10.6 Pre-Installation Configuration............................. 49 10.7 Driver compilation and testing............................ 50 iii 10.8 Limitations....................................... 50 11 DPAA2 Poll Mode Driver 52 11.1 NXP DPAA2 (Data Path Acceleration Architecture Gen2)............. 52 11.2 DPAA2 DPDK - Poll Mode Driver Overview..................... 56 11.3 Supported DPAA2 SoCs............................... 58 11.4 Prerequisites...................................... 58 11.5 Pre-Installation Configuration............................. 59 11.6 Driver compilation and testing............................ 59 11.7 Enabling logs...................................... 60 11.8 Whitelisting & Blacklisting............................... 60 11.9 Limitations....................................... 60 12 Driver for VM Emulated Devices 61 12.1 Validated Hypervisors................................. 61 12.2 Recommended Guest Operating System in Virtual Machine........... 61 12.3 Setting Up a KVM Virtual Machine.......................... 61 12.4 Known Limitations of Emulated Devices....................... 63 13 ENA Poll Mode Driver 64 13.1 Overview........................................ 64 13.2 Management Interface................................ 64 13.3 Data Path Interface.................................. 65 13.4 Configuration information............................... 65 13.5 Building DPDK..................................... 66 13.6 Supported ENA adapters............................... 66 13.7 Supported Operating Systems............................ 66 13.8 Supported features.................................. 66 13.9 Unsupported features................................. 66 13.10Prerequisites...................................... 67 13.11Usage example.................................... 67 14 ENIC Poll Mode Driver 68 14.1 How to obtain ENIC PMD integrated DPDK..................... 68 14.2 Configuration information..............................