Network Interface Controller Drivers Release 20.05.0
Total Page:16
File Type:pdf, Size:1020Kb
Network Interface Controller Drivers Release 20.05.0 May 26, 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.......................................5 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........................................6 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 Flow control........................................ 10 2.29 Flow API.......................................... 10 2.30 Rate limitation....................................... 10 2.31 Traffic mirroring...................................... 10 2.32 Inline crypto........................................ 11 2.33 Inline protocol....................................... 11 2.34 CRC offload........................................ 11 2.35 VLAN offload....................................... 12 2.36 QinQ offload........................................ 12 i 2.37 L3 checksum offload.................................... 12 2.38 L4 checksum offload.................................... 13 2.39 Timestamp offload..................................... 13 2.40 MACsec offload...................................... 13 2.41 Inner L3 checksum..................................... 13 2.42 Inner L4 checksum..................................... 14 2.43 Packet type parsing..................................... 14 2.44 Timesync.......................................... 14 2.45 Rx descriptor status.................................... 15 2.46 Tx descriptor status..................................... 15 2.47 Basic stats......................................... 15 2.48 Extended stats....................................... 15 2.49 Stats per queue....................................... 16 2.50 FW version......................................... 16 2.51 EEPROM dump...................................... 16 2.52 Module EEPROM dump.................................. 16 2.53 Registers dump....................................... 16 2.54 LED............................................ 16 2.55 Multiprocess aware..................................... 17 2.56 BSD nic_uio........................................ 17 2.57 Linux UIO......................................... 17 2.58 Linux VFIO........................................ 17 2.59 Other kdrv......................................... 17 2.60 ARMv7........................................... 17 2.61 ARMv8........................................... 17 2.62 Power8........................................... 17 2.63 x86-32........................................... 18 2.64 x86-64........................................... 18 2.65 Usage doc......................................... 18 2.66 Design doc......................................... 18 2.67 Perf doc........................................... 18 2.68 Runtime Rx queue setup.................................. 18 2.69 Runtime Tx queue setup.................................. 18 2.70 Burst mode info...................................... 19 2.71 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 AF_PACKET Poll Mode Driver 23 4.1 Options and inherent limitations.............................. 23 4.2 Prerequisites........................................ 24 4.3 Set up an af_packet interface................................ 24 5 AF_XDP Poll Mode Driver 25 5.1 Options........................................... 25 5.2 Prerequisites........................................ 25 5.3 Set up an af_xdp interface................................. 26 5.4 Limitations......................................... 26 6 ARK Poll Mode Driver 27 ii 6.1 Overview.......................................... 27 6.2 Device Parameters..................................... 28 6.3 Data Path Interface..................................... 28 6.4 Configuration Information................................. 28 6.5 Building DPDK...................................... 29 6.6 Supported ARK RTL PCIe Instances........................... 29 6.7 Supported Operating Systems............................... 29 6.8 Supported Features..................................... 29 6.9 Unsupported Features................................... 29 6.10 Pre-Requisites....................................... 30 6.11 Usage Example....................................... 30 7 Aquantia Atlantic DPDK Driver 31 7.1 Supported features..................................... 31 7.2 Experimental API features................................. 31 7.3 Configuration Information................................. 31 7.3.1 Application Programming Interface....................... 32 7.3.2 Limitations or Known issues........................... 32 7.3.3 Supported Chipsets and NICs........................... 32 8 AVP Poll Mode Driver 33 8.1 Features and Limitations of the AVP PMD........................ 33 8.2 Prerequisites........................................ 34 8.3 Launching a VM with an AVP type network attachment................. 34 9 AXGBE Poll Mode Driver 35 9.1 Supported Features..................................... 35 9.2 Configuration Information................................. 35 9.3 Building DPDK...................................... 36 9.4 Prerequisites and Pre-conditions.............................. 36 9.5 Usage Example....................................... 36 10 BNX2X Poll Mode Driver 37 10.1 Supported Features..................................... 37 10.2 Non-supported Features.................................. 37 10.3 Co-existence considerations................................ 37 10.4 Supported QLogic NICs.................................. 38 10.5 Prerequisites........................................ 38 10.6 Pre-Installation Configuration............................... 38 10.6.1 Config File Options................................ 38 10.7 Driver compilation and testing............................... 38 10.8 Jumbo: Limitation..................................... 39 10.9 SR-IOV: Prerequisites and sample Application Notes................... 39 11 BNXT Poll Mode Driver 41 11.1 CPU Support........................................ 41 11.2 Kernel Dependency.................................... 41 11.3 Compiling BNXT PMD.................................. 42 11.4 Running BNXT PMD................................... 42 11.4.1 Running on VF.................................. 43 11.4.2 Running on PF.................................. 44 11.5 Features........................................... 44 iii 11.5.1 Port Control.................................... 44 11.5.2 Packet Filtering.................................. 45 11.5.3 Stateless Offloads................................. 46 11.5.4 VLAN Insert/Strip................................ 49 11.5.5 Time Synchronization............................... 50 11.5.6 Statistics Collection................................ 50 11.5.7 Generic Flow Offload............................... 51 11.6 Application Support.................................... 52 11.6.1 Firmware..................................... 52 11.6.2 Multiple Processes................................ 52 11.6.3 Runtime Queue Setup............................... 53 11.6.4 Descriptor Status................................. 53 11.6.5 Bonding...................................... 53 11.7 Vector Processing..................................... 53 11.8 Appendix.......................................... 54 11.8.1 Supported Chipsets and Adapters......................... 54 12 CXGBE Poll Mode Driver 56 12.1 Features........................................... 56 12.2 Limitations......................................... 56 12.3 Supported Chelsio T5 NICs................................ 57 12.4 Supported Chelsio T6 NICs................................ 57 12.5 Supported SR-IOV Chelsio NICs............................. 57 12.6 Prerequisites........................................ 57 12.7 Pre-Installation Configuration............................... 57 12.7.1 Config File Options................................ 57 12.7.2 Runtime Options................................. 58 12.8 Driver compilation and testing............................... 61