Network Interface Controller Drivers Release 20.08.0
Total Page:16
File Type:pdf, Size:1020Kb
Network Interface Controller Drivers Release 20.08.0 Aug 08, 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................................. 20 4 AF_PACKET Poll Mode Driver 22 4.1 Options and inherent limitations.............................. 22 4.2 Prerequisites........................................ 23 4.3 Set up an af_packet interface................................ 23 5 AF_XDP Poll Mode Driver 24 5.1 Options........................................... 24 5.2 Prerequisites........................................ 24 5.3 Set up an af_xdp interface................................. 25 5.4 Limitations......................................... 25 6 ARK Poll Mode Driver 26 ii 6.1 Overview.......................................... 26 6.2 Device Parameters..................................... 27 6.3 Data Path Interface..................................... 27 6.4 Configuration Information................................. 27 6.5 Building DPDK...................................... 28 6.6 Supported ARK RTL PCIe Instances........................... 28 6.7 Supported Operating Systems............................... 28 6.8 Supported Features..................................... 28 6.9 Unsupported Features................................... 28 6.10 Pre-Requisites....................................... 29 6.11 Usage Example....................................... 29 7 Aquantia Atlantic DPDK Driver 30 7.1 Supported features..................................... 30 7.2 Experimental API features................................. 30 7.3 Configuration Information................................. 30 7.3.1 Application Programming Interface....................... 31 7.3.2 Limitations or Known issues........................... 31 7.3.3 Supported Chipsets and NICs........................... 31 8 AVP Poll Mode Driver 32 8.1 Features and Limitations of the AVP PMD........................ 32 8.2 Prerequisites........................................ 33 8.3 Launching a VM with an AVP type network attachment................. 33 9 AXGBE Poll Mode Driver 34 9.1 Supported Features..................................... 34 9.2 Configuration Information................................. 34 9.3 Building DPDK...................................... 35 9.4 Prerequisites and Pre-conditions.............................. 35 9.5 Usage Example....................................... 35 10 BNX2X Poll Mode Driver 36 10.1 Supported Features..................................... 36 10.2 Non-supported Features.................................. 36 10.3 Co-existence considerations................................ 36 10.4 Supported QLogic NICs.................................. 37 10.5 Prerequisites........................................ 37 10.6 Pre-Installation Configuration............................... 37 10.6.1 Config File Options................................ 37 10.7 Driver compilation and testing............................... 37 10.8 Jumbo: Limitation..................................... 38 10.9 SR-IOV: Prerequisites and sample Application Notes................... 38 11 BNXT Poll Mode Driver 40 11.1 CPU Support........................................ 40 11.2 Kernel Dependency.................................... 40 11.3 Running BNXT PMD................................... 41 11.3.1 Running on VF.................................. 41 11.3.2 Running on PF.................................. 42 11.4 Features........................................... 43 11.4.1 Port Control.................................... 43 iii 11.4.2 Packet Filtering.................................. 44 11.4.3 Stateless Offloads................................. 45 11.4.4 VLAN Insert/Strip................................ 48 11.4.5 Time Synchronization............................... 49 11.4.6 Statistics Collection................................ 49 11.4.7 Generic Flow Offload............................... 50 11.5 Notes............................................ 51 11.6 Virtual Function Port Representors............................ 51 11.7 Application Support.................................... 52 11.7.1 Firmware..................................... 52 11.7.2 Multiple Processes................................ 52 11.7.3 Runtime Queue Setup............................... 52 11.7.4 Descriptor Status................................. 52 11.7.5 Bonding...................................... 53 11.8 Vector Processing..................................... 53 11.9 Appendix.......................................... 54 11.9.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