From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id E68B42FDD for ; Tue, 4 Apr 2017 16:22:21 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP; 04 Apr 2017 07:22:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,275,1486454400"; d="scan'208";a="951602439" Received: from sivswdev02.ir.intel.com ([10.237.217.46]) by orsmga003.jf.intel.com with ESMTP; 04 Apr 2017 07:22:18 -0700 From: Ferruh Yigit To: Thomas Monjalon Cc: dev@dpdk.org, Ferruh Yigit Date: Tue, 4 Apr 2017 15:22:16 +0100 Message-Id: <20170404142216.12218-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.8.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [pull-request] next-net 17.05 RC1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 14:22:23 -0000 The following changes since commit a29491c2f417c58cf02ace231d7a0215315e1346: doc: fix a typo in howto guide (2017-04-04 15:07:25 +0200) are available in the git repository at: http://dpdk.org/git/next/dpdk-next-net for you to fetch changes up to 33383c6ffcd4bdf3ba2fb4fb82f163e7771a4cad: net/sfc/base: fix out of bounds read in VIs allocation (2017-04-04 14:53:02 +0100) ---------------------------------------------------------------- Adrien Mazarguil (2): net/tap: remove redundant syscall on Tx net/tap: add Rx trigger Alejandro Lucero (3): net/nfp: clean Tx descriptor flags net/nfp: fix problem with pkt len to data len conversion net/nfp: fix problem with Rx interrupts Alex Zelezniak (1): net/ixgbe: ping VF when PF status changes Allain Legacy (15): net/e1000: advertise offload capabilities for the EM PMD net/avp: add base files net/avp: add public header files net/avp: add debug log macros net/avp: support driver registration net/avp: add device initialization net/avp: add device configuration net/avp: add queue setup and release net/avp: add packet receive functions net/avp: add packet transmit functions net/avp: add device statistics operations net/avp: add device promiscuous functions net/avp: add device start and stop operations net/avp: handle interrupt migration doc: add information related to the AVP PMD Andrew Rybchenko (38): net/sfc/base: separate limitations on Tx DMA descriptors net/sfc: remove Tx DMA descriptor boundary crossing limit net/sfc: implement dummy filter control callback net/sfc: provide a way to check if filter is supported net/sfc/base: don't ignore requested MAC stats update period net/sfc: add missing BSD license line and update year net/sfc: use different callbacks for event queues net/sfc: emphasis that RSS hash flag is an Rx queue flag net/sfc: do not use Rx queue control state on datapath net/sfc: factor out libefx-based Rx datapath net/sfc: make Rx scatter a datapath-dependent feature net/sfc: remove few conditions in Rx queue refill net/sfc: implement EF10 native Rx datapath net/sfc: factor out libefx-based Tx datapath net/sfc: make VLAN insertion a datapath-dependent feature net/sfc: make TSO a datapath-dependent feature net/sfc: implement EF10 native Tx datapath net/sfc: make multi-segment support a Tx datapath feature net/sfc: implement simple EF10 native Tx datapath net/sfc: destroy event queue when Rx queue is released net/sfc: destroy event queue when Tx queue is released net/sfc: fix leak if EvQ DMA space allocation fails net/sfc: use correct function to free scattered packet on Rx net/sfc: choose datapaths after probe and before attach net/sfc: do not drop TSO on device configure net/sfc: clarify interrupts support function names net/sfc: bind EvQ DMA space to EvQ type and type-local index net/sfc: remove unused max entries from EvQ info net/sfc: move EvQ entries to the EvQ control structure net/sfc: remove flags from EvQ info net/sfc: remove EvQ info array to simplify reconfigure net/sfc: move event support init to attach stage net/sfc: initialize port data on attach net/sfc: clarify Rx subsystem configure/close function names net/sfc: clarify Tx subsystem configure/close function names net/sfc: support changing the number of receive queues net/sfc: support changing the number of transmit queues net/sfc: fix device reconfigure Andriy Berestovskyy (1): net/thunderx: wait to complete during link update Andy Moreton (3): net/sfc/base: fix failure path in EF10 Tx queue PIO enable net/sfc/base: fix potential buffer overflow in Tx queue init net/sfc/base: fix out of bounds read in VIs allocation Beilei Xing (14): net/i40e: fix memory allocation for hash table net/i40e: rework tunnel filter functions net/i40e: change tunnel filter function name net/i40e: support tunnel filter to VF net/i40e: refine consistent tunnel filter net/i40e: add dynamic device personalization processing app/testpmd: add command for loading DDP net/i40e: support getting all loaded DDP profiles app/testpmd: add command for getting loaded DDP profiles doc: add dynamic device personalization support for i40e ethdev: add MPLS and GRE flow API items app/testpmd: add MPLS and GRE fields to flow command net/i40e: add flow API MPLS parsing function net/i40e: enable tunnel filter for MPLS Bernard Iremonger (7): net/i40e: initialise L3 MAP register net/i40e: add QinQ filter create function net/i40e: parse QinQ pattern net/i40e: update destroy tunnel filter function net/i40e: update tunnel filter restore function net/ixgbe: allocate TC bandwidth app/testpmd: add CLI to set TC min bandwidth Chas Williams (2): net/bnx2x: fix transmit queue free threshold net/vmxnet3: fix queue size changes Ferruh Yigit (1): net/kni: add KNI PMD Gaetan Rivet (4): net/mlx4: update link status upon probing with LSC net/mlx4: add port parameter net/mlx4: fix returned values upon failed probing net/mlx5: fix returned values upon failed probing Gowrishankar Muthukrishnan (1): net/i40e: implement vector PMD for altivec Harish Patil (6): net/qede/base: add support for ARFS mode net/qede: add ntuple and flow director filter support net/qede: add LRO/TSO offloads support net/qede: fix missing UDP protocol in RSS offload types net/qede: fix VF's RSS configuration failure net/qede: prevent crash while changing MTU dynamically Ido Barnea (1): net/ixgbevf: set xstats id values Ivan Malov (10): net/sfc/base: add MCDI agnostic wrapper for MAC stats clear net/sfc: add support for statistics reset net/sfc: set multicast address list in started state only net/sfc: add kvarg control for MAC statistics update period net/sfc: poll MAC stats if periodic DMA is not supported net/sfc: avoid failure on port start if Rx mode is rejected net/sfc: add support for MCDI proxy net/sfc: add VFs to the table of PCI IDs for supported NICs net/sfc/base: add advanced function to extract FW version net/sfc: add callback to retrieve FW version Jerin Jacob (6): net/i40e: fix incorrect packet index reference net/thunderx: check data offset alignment requirement net/thunderx: fix build issues with 32bit target net/thunderx: fix build issues with FreeBSD target config: enable the thunderx nicvf driver net/thunderx: sync mailbox definitions with Linux PF driver Jingjing Wu (12): net/ixgbe: fix multi-queue mode check in SRIOV mode app/testpmd: fix init config for multi-queue mode app/testpmd: fix TC mapping in DCB init config net/i40e: enable DCB on SRIOV VFs net/i40e/base: define bit for HW ATR evict control net/i40e/base: control register read/write on X722 net/i40e/base: fix potential out of bound array access net/i40e/base: new AQ commands for PPP net/i40e/base: reduce wait time for adminq command net/i40e/base: add VF offload flags net/i40e/base: new AQ commands for cloud filter net/i40e/base: add README file for base code tracking Johan Samuelsson (1): net/pcap: fix using mbuf after freeing it Keith Wiles (2): net/tap: fix possibly unterminated string net/bonding: reduce slave starvation on Rx poll Mark Spender (2): net/sfc/base: split local MAC I/G back into separate flags net/sfc/base: improve API to get supported filter matches NĂ©lio Laranjeiro (17): net/mlx5: fix startup when flow cannot be applied net/mlx5: fix supported packets types net/mlx5: fix flow mark action handling net/mlx5: fix drop queue creation error net/mlx5: fix resources free in the right function net/mlx5: support ether type support in flow item net/mlx5: add RSS hash result with mark id net/mlx5: extend IPv6 flow item net/mlx5: support flag flow action net/mlx5: prepare support for RSS action rule net/mlx5: support RSS action flow rule net/mlx5: use an RSS drop queue net/mlx5: limit flow API rules to one tunnel net/mlx5: fix Tx when first segment size is too short net/mlx5: fix mark id retrieval net/mlx5: remove duplicated process in flow API net/mlx5: fix RSS flow rule with non existing queues Olivier Matz (2): net/ixgbe: remove invalid declaration net/i40e: fix error log in descriptor done function Pascal Mazon (25): doc: add features for net/tap net/tap: fix dev name look-up net/tap: remove NO-ARP setting net/tap: refactor ioctl calls net/tap: add MAC address management net/tap: add MTU management net/tap: add speed capabilities net/tap: add multicast addresses management net/tap: add packet type management net/tap: add flow control management net/tap: move private elements to external header net/tap: add preliminary support for flow API net/tap: add netlink back-end for flow API net/tap: add basic flow API patterns and actions net/tap: do not send packets larger than MTU net/tap: support segmented mbufs net/tap: add remote netdevice traffic capture net/tap: improve link update net/tap: add link status notification doc: detail new tap features in release note net/tap: remove unsupported UDP/TCP port mask in flow net/tap: remove minimum packet size in Rx net/tap: update netlink error code management net/tap: fix null MAC address at init net/tap: fix redirection rule after MAC change Qi Zhang (23): net/i40e: fix compile error net/i40e: no more initial VF MAC address net/fm10k/base: add a flag to indicate VF trust mode net/fm10k/base: reset multicast mode when deleting lport net/fm10k/base: expose macros needed by DPDK net/fm10k/base: add error code net/fm10k/base: clean up the logic net/fm10k/base: add new item to lport msg attr net/fm10k/base: update comment to use 8 bit notation net/fm10k/base: use different name for override bit net/fm10k/base: update comment regarding reserved bits check net/fm10k/base: improve VF's multi-bit VLAN update requests net/fm10k/base: enable lport map request net/fm10k/base: add macros for global interrupt net/fm10k/base: don't stop reset net/fm10k/base: add macro for geneve tunnel offload net/fm10k/base: improve re-map queues handle net/fm10k/base: replace macros net/fm10k/base: request reset when mbx->state changes net/fm10k/base: add base driver information app/testpmd: add CL to show/clear VF stats net/i40e: enable per dev PTYPE mapping table app/testpmd: add CL for ptype mapping configure Qiming Yang (2): net/i40e: remove redundant VLAN insert code net/i40e: remove redundant macros Rami Rosen (2): net/i40e: fix a typo in flow doc: fix a typo in a section about i40e PMD limitation Rasesh Mody (80): net/qede/base: fix incorrect typecasting of flag net/qede/base: fix to set pointers to NULL after freeing net/qede/base: fix forcing driver default resc allocation net/qede/base: fix TM block ILT initialization net/qede/base: fix printout net/qede/base: fix VF init after malicious VF FLR net/qede/base: fix numbering L2 VF queues net/qede/base: fix index printing of multi-bit attentions net/qede/base: fix to prevent VF promisc config net/qede/base: add attention bits for AH chip net/qede/base: fix printout net/qede/base: fix DORQ attention mask net/qede/base: fix out-of-bound memory access net/qede/base: fix to remove redundant memset net/qede/base: fix remove the unneeded conversion to LE net/qede/base: fix first VF index calculation net/qede/base: fix typo net/qede/base: refactor return path net/qede/base: fix sriov typo net/qede/base: fix resource lock minimum value net/qede/base: fix to use NULL pointer net/qede/base: return an initialized return value net/qede/base: send FW version driver state to MFW net/qede/base: mask Rx buffer attention bits net/qede/base: print various indication on Tx-timeouts net/qede/base: utilize FW 8.18.9.0 net/qede: upgrade the FW to 8.18.9.0 net/qede/base: decrease maximum HW func per device net/qede/base: move mask constants defining NIC type net/qede/base: remove attribute from update current config net/qede/base: add nvram options net/qede/base: add comment net/qede/base: use default MTU from shared memory net/qede/base: change queue/sb-id from 8 bit to 16 bit net/qede/base: update MFW when default MTU is changed net/qede/base: prevent device init failure net/qede/base: read card personality via MFW commands net/qede/base: allow probe to succeed with minor HW-issues net/qede/base: remove unneeded step in HW init net/qede/base: allow only trusted VFs to be promisc net/qede/base: qm initialization revamp net/qede/base: print firmware MFW and MBI versions net/qede/base: check active VF queues before stopping net/qede/base: set driver type before sending load request net/qede/base: prevent driver load with invalid resources net/qede/base: add interfaces for MFW TLV request processing net/qede/base: code refactoring of SP queues net/qede/base: make L2 queues handle based net/qede/base: add support for handling TLV request from MFW net/qede/base: optimize cache-line access net/qede/base: infrastructure changes for VF tunnelling net/qede/base: revise tunnel APIs/structs net/qede/base: add tunnelling support for VFs net/qede/base: formatting changes net/qede/base: prevent transmitter stuck condition net/qede/base: add mask/shift defines for resource command net/qede/base: add API for using MFW resource lock net/qede/base: remove clock slowdown option net/qede/base: add new image types net/qede/base: use L2-handles for RSS configuration net/qede/base: change valloc to vzalloc net/qede/base: add support for previous driver unload net/qede/base: add non-L2 dcbx tlv application support net/qede/base: update bulletin board during VF init net/qede/base: add coalescing support for VFs net/qede/base: add macro got resource value message net/qede/base: add mailbox for resource allocation net/qede/base: add macro for unsupported command net/qede/base: set max values for soft resources net/qede/base: add return code check net/qede/base: zero out MFW mailbox data net/qede/base: move code bits net/qede/base: add PF parameter net/qede/base: allow PMD to control vport and RSS engine ids net/qede/base: add UDP ports in bulletin board message net/qede/base: prevent DMAE transactions during recovery net/qede/base: multi-Txq support on same queue-zone for VFs net/qede/base: prevent race condition during unload net/qede/base: semantic changes net/qede: update PMD version to 2.4.0.1 Roman Zhukov (7): net/sfc: add flow API filters support net/sfc: add VLAN in flow API filters support net/sfc: add IPV4 in flow API filters support net/sfc: add IPV6 in flow API filters support net/sfc: add TCP in flow API filters support net/sfc: add UDP in flow API filters support net/sfc: add unknown unicast/multicast match in flow API Shahaf Shuler (13): net/mlx5: add out of buffer counter to extended statistic net/mlx5: fix VLAN stripping indication net/mlx5: remove unused interface name query net/mlx5: fix extended statistics wrong number net/mlx5: add hardware TSO support net/mlx5: add hardware checksum offload for tunnel packets net/mlx5: add hardware TSO support for VXLAN and GRE net/mlx5: fix extended statistics counters identification doc: announce TSO support on mlx5 driver net/mlx5: fix TSO TCP checksum flag eal/linux: support external Rx interrupt net/mlx5: support user space rxq interrupt event net/mlx5: remove unnecessary Verbs library calls Shijith Thotton (46): net/liquidio: add liquidio PMD skeleton net/liquidio/base: hardware register definitions net/liquidio: definitions for log net/liquidio: liquidio VF PMD driver registration net/liquidio/base: macros to read and write register net/liquidio: liquidio device init net/liquidio: add API to disable IO queues net/liquidio: add API to setup IO queue registers net/liquidio: add mbox APIs for PF VF communication net/liquidio: add API to setup mbox registers net/liquidio: add API for PF VF handshake net/liquidio: add API for VF FLR net/liquidio: add APIs to allocate and free IQ net/liquidio: add API to setup IQ net/liquidio: add APIs to allocate and free SC buffer pool net/liquidio: add APIs to allocate and free soft command net/liquidio: add APIs for response list net/liquidio: add API to send packet to device net/liquidio: add API to configure device net/liquidio: add API to setup Rx queue net/liquidio: initialize Rx queue net/liquidio: add Rx data path net/liquidio: add API to release Rx queue net/liquidio: add API to setup Tx queue net/liquidio: add APIs for SG list net/liquidio: add APIs to enable and disable IO queues net/liquidio: add Tx data path for single segment net/liquidio: add Tx data path for multiple segments net/liquidio: add API to flush IQ net/liquidio: add API to release Tx queue net/liquidio: add APIs to start device and update link net/liquidio: add APIs to alloc and send control command net/liquidio: add API to control Rx net/liquidio: add RSS support net/liquidio: add API to get device info net/liquidio: add API to validate VF MTU net/liquidio: add APIs to enable and disable multicast net/liquidio: add APIs to set link up and down net/liquidio: add APIs to configure UDP tunnel port net/liquidio: add support for Rx stats net/liquidio: add support for Tx stats net/liquidio: add APIs for hardware stats net/liquidio: add API to stop device net/liquidio: add API to close device net/liquidio: add API to add and remove VLAN port doc: add doc for liquidio and update release notes Shrikrishna Khare (7): net/vmxnet3: prepare for version 3 changes net/vmxnet3: introduce generalized cmd interface net/vmxnet3: variable length transmit data ring net/vmxnet3: add receive data ring support net/vmxnet3: add reserved version 3 command net/vmxnet3: add cmd to register memory region net/vmxnet3: update to version 3 Vasily Philipov (4): net/mlx4: split the definitions to the header file net/mlx4: support basic flow items and actions net/mlx: enhance Rx scatter mode detection net/mlx4: use a single drop queue for all drop flows Wei Zhao (3): net/ixgbe: delete useless function declaration net/ixgbe: move MAC type check macros net/ixgbe: fix filters adding MAC type check Wenzhuo Lu (24): net/i40e: fix TC bitmap of VEB net/ixgbe/base: make a debug message simple net/ixgbe/base: remove X550em SFP iXFI setup net/ixgbe/base: add link block check for KR net/ixgbe/base: add bit for enabling L3/L4 filtering net/ixgbe/base: complete HW init when SFP not present net/ixgbe/base: disable FC for 15B0 net/ixgbe: support xcast promisc mode net/ixgbe/base: fix build error net/ixgbe/base: update shared code version to 2017.02.27 net/ixgbe: fix Rx queue blocking issue net/ixgbe: fix all queues drop setting of DCB net/i40e: fix broadcast promiscuous mode setting net/i40e: fix VLAN filter issue net/ixgbe: fix TC bandwidth setting net/i40e: set VF max bandwidth from PF net/i40e: allocate VF TC bandwidth from PF net/i40e: set VF TC max bandwidth from PF net/i40e: set TC strict priority mode app/testpmd: set VF Tx max bandwidth app/testpmd: set VF TC Tx min bandwidth app/testpmd: set VF TC Tx max bandwidth app/testpmd: set TC strict link priority mode net/i40e: fix VLAN promisc setting Xiao Wang (2): net/fm10k: fix pointer cast net/fm10k: fix secondary process crash Yong Wang (3): net/e1000/base: fix multicast setting in VF net/ena: remove redundant variable net/ena: fix return of hash control flushing Yongseok Koh (5): net/mlx5: add enhanced multi-packet send for ConnectX-5 net/mlx5: fix reusing Rx/Tx queues ethdev: remove requirement of aligned RETA size net/mlx5: use correct RETA table size net/mlx5: rebuild flows on updating RETA Zhiyong Yang (6): net/fm10k: remove limit of Tx burst size net/i40e: remove limit of Tx burst size net/ixgbe: remove limit of Tx burst size net/vhost: remove limit of vhost Tx burst size net/vhost: remove limit of vhost Rx burst size doc: document updated Tx burst behavior MAINTAINERS | 19 + app/test-pmd/cmdline.c | 1141 +++++++++- app/test-pmd/cmdline_flow.c | 47 + app/test-pmd/config.c | 69 + app/test-pmd/testpmd.c | 19 +- app/test-pmd/testpmd.h | 3 + config/common_base | 23 +- config/common_linuxapp | 2 + config/defconfig_arm64-thunderx-linuxapp-gcc | 10 - config/defconfig_i686-native-linuxapp-gcc | 5 + config/defconfig_i686-native-linuxapp-icc | 5 + config/defconfig_ppc_64-power8-linuxapp-gcc | 1 - config/defconfig_x86_x32-native-linuxapp-gcc | 5 + doc/guides/nics/avp.rst | 111 + doc/guides/nics/features/avp.ini | 16 + doc/guides/nics/features/i40e.ini | 1 + doc/guides/nics/features/i40e_vec.ini | 1 + doc/guides/nics/features/kni.ini | 7 + doc/guides/nics/features/liquidio.ini | 28 + doc/guides/nics/features/mlx5.ini | 4 + doc/guides/nics/features/qede.ini | 4 + doc/guides/nics/features/qede_vf.ini | 2 + doc/guides/nics/features/sfc_efx.ini | 3 + doc/guides/nics/features/tap.ini | 27 + doc/guides/nics/i40e.rst | 23 +- doc/guides/nics/index.rst | 3 + doc/guides/nics/kni.rst | 197 ++ doc/guides/nics/liquidio.rst | 280 +++ doc/guides/nics/mlx4.rst | 6 + doc/guides/nics/mlx5.rst | 46 +- doc/guides/nics/qede.rst | 11 +- doc/guides/nics/sfc_efx.rst | 78 + doc/guides/nics/tap.rst | 61 + doc/guides/nics/thunderx.rst | 3 +- doc/guides/prog_guide/rte_flow.rst | 21 +- doc/guides/rel_notes/release_17_05.rst | 86 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 92 + drivers/net/Makefile | 9 + drivers/net/avp/Makefile | 57 + drivers/net/avp/avp_ethdev.c | 2292 ++++++++++++++++++++ drivers/net/avp/avp_logs.h | 59 + drivers/net/avp/rte_avp_common.h | 416 ++++ drivers/net/avp/rte_avp_fifo.h | 157 ++ drivers/net/avp/rte_pmd_avp_version.map | 4 + drivers/net/bnx2x/bnx2x_rxtx.c | 2 + drivers/net/bnx2x/bnx2x_rxtx.h | 2 +- drivers/net/bonding/rte_eth_bond_pmd.c | 21 +- drivers/net/bonding/rte_eth_bond_private.h | 3 +- drivers/net/e1000/base/e1000_vf.c | 3 +- drivers/net/e1000/em_ethdev.c | 10 + drivers/net/ena/base/ena_com.c | 6 +- drivers/net/fm10k/Makefile | 1 + drivers/net/fm10k/base/fm10k_common.c | 11 +- drivers/net/fm10k/base/fm10k_mbx.c | 10 +- drivers/net/fm10k/base/fm10k_mbx.h | 2 + drivers/net/fm10k/base/fm10k_osdep.h | 17 - drivers/net/fm10k/base/fm10k_pf.c | 140 +- drivers/net/fm10k/base/fm10k_pf.h | 2 + drivers/net/fm10k/base/fm10k_tlv.c | 16 +- drivers/net/fm10k/base/fm10k_type.h | 49 +- drivers/net/fm10k/base/fm10k_vf.c | 24 +- drivers/net/fm10k/fm10k.h | 4 +- drivers/net/fm10k/fm10k_ethdev.c | 65 +- drivers/net/fm10k/fm10k_rxtx_vec.c | 4 +- drivers/net/i40e/Makefile | 2 + drivers/net/i40e/base/README | 59 + drivers/net/i40e/base/i40e_adminq.c | 4 +- drivers/net/i40e/base/i40e_adminq.h | 4 +- drivers/net/i40e/base/i40e_adminq_cmd.h | 129 +- drivers/net/i40e/base/i40e_common.c | 379 +++- drivers/net/i40e/base/i40e_dcb.c | 2 + drivers/net/i40e/base/i40e_prototype.h | 29 +- drivers/net/i40e/base/i40e_type.h | 80 + drivers/net/i40e/base/i40e_virtchnl.h | 4 +- drivers/net/i40e/i40e_ethdev.c | 1590 +++++++++++++- drivers/net/i40e/i40e_ethdev.h | 70 +- drivers/net/i40e/i40e_ethdev_vf.c | 2 +- drivers/net/i40e/i40e_flow.c | 478 +++- drivers/net/i40e/i40e_pf.c | 33 +- drivers/net/i40e/i40e_rxtx.c | 70 +- drivers/net/i40e/i40e_rxtx.h | 19 +- drivers/net/i40e/i40e_rxtx_vec_altivec.c | 652 ++++++ drivers/net/i40e/i40e_rxtx_vec_neon.c | 12 +- drivers/net/i40e/i40e_rxtx_vec_sse.c | 18 +- drivers/net/i40e/rte_pmd_i40e.h | 249 +++ drivers/net/i40e/rte_pmd_i40e_version.map | 16 + drivers/net/ixgbe/base/README | 4 +- drivers/net/ixgbe/base/ixgbe_common.c | 7 +- drivers/net/ixgbe/base/ixgbe_mbx.h | 8 + drivers/net/ixgbe/base/ixgbe_phy.c | 29 +- drivers/net/ixgbe/base/ixgbe_type.h | 1 + drivers/net/ixgbe/base/ixgbe_vf.c | 4 + drivers/net/ixgbe/base/ixgbe_x550.c | 63 +- drivers/net/ixgbe/ixgbe_ethdev.c | 128 +- drivers/net/ixgbe/ixgbe_ethdev.h | 22 +- drivers/net/ixgbe/ixgbe_flow.c | 182 +- drivers/net/ixgbe/ixgbe_pf.c | 14 +- drivers/net/ixgbe/ixgbe_rxtx.c | 94 +- drivers/net/ixgbe/ixgbe_rxtx.h | 4 +- drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c | 4 +- drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 4 +- drivers/net/ixgbe/rte_pmd_ixgbe.h | 37 + drivers/net/ixgbe/rte_pmd_ixgbe_version.map | 7 + drivers/net/kni/Makefile | 64 + drivers/net/kni/rte_eth_kni.c | 515 +++++ drivers/net/kni/rte_pmd_kni_version.map | 4 + drivers/net/liquidio/Makefile | 62 + drivers/net/liquidio/base/lio_23xx_reg.h | 194 ++ drivers/net/liquidio/base/lio_23xx_vf.c | 586 +++++ drivers/net/liquidio/base/lio_23xx_vf.h | 97 + drivers/net/liquidio/base/lio_hw_defs.h | 249 +++ drivers/net/liquidio/base/lio_mbox.c | 275 +++ drivers/net/liquidio/base/lio_mbox.h | 131 ++ drivers/net/liquidio/lio_ethdev.c | 2034 +++++++++++++++++ drivers/net/liquidio/lio_ethdev.h | 204 ++ drivers/net/liquidio/lio_logs.h | 91 + drivers/net/liquidio/lio_rxtx.c | 1885 ++++++++++++++++ drivers/net/liquidio/lio_rxtx.h | 769 +++++++ drivers/net/liquidio/lio_struct.h | 689 ++++++ drivers/net/liquidio/rte_pmd_lio_version.map | 4 + drivers/net/mlx4/Makefile | 10 +- drivers/net/mlx4/mlx4.c | 432 ++-- drivers/net/mlx4/mlx4.h | 197 +- drivers/net/mlx4/mlx4_flow.c | 1090 ++++++++++ drivers/net/mlx4/mlx4_flow.h | 102 + drivers/net/mlx5/Makefile | 5 + drivers/net/mlx5/mlx5.c | 76 +- drivers/net/mlx5/mlx5.h | 11 +- drivers/net/mlx5/mlx5_defs.h | 10 + drivers/net/mlx5/mlx5_ethdev.c | 88 +- drivers/net/mlx5/mlx5_flow.c | 526 ++++- drivers/net/mlx5/mlx5_prm.h | 40 +- drivers/net/mlx5/mlx5_rss.c | 18 +- drivers/net/mlx5/mlx5_rxq.c | 235 +- drivers/net/mlx5/mlx5_rxtx.c | 654 +++++- drivers/net/mlx5/mlx5_rxtx.h | 22 +- drivers/net/mlx5/mlx5_stats.c | 71 +- drivers/net/mlx5/mlx5_trigger.c | 30 +- drivers/net/mlx5/mlx5_txq.c | 144 +- drivers/net/nfp/nfp_net.c | 18 +- drivers/net/pcap/rte_eth_pcap.c | 2 +- drivers/net/qede/Makefile | 1 + drivers/net/qede/base/bcm_osal.h | 19 +- drivers/net/qede/base/common_hsi.h | 191 +- drivers/net/qede/base/ecore.h | 170 +- drivers/net/qede/base/ecore_chain.h | 143 +- drivers/net/qede/base/ecore_cxt.c | 317 ++- drivers/net/qede/base/ecore_cxt.h | 64 +- drivers/net/qede/base/ecore_cxt_api.h | 13 - drivers/net/qede/base/ecore_dcbx.c | 84 +- drivers/net/qede/base/ecore_dcbx.h | 4 +- drivers/net/qede/base/ecore_dcbx_api.h | 4 +- drivers/net/qede/base/ecore_dev.c | 2162 +++++++++++------- drivers/net/qede/base/ecore_dev_api.h | 122 +- drivers/net/qede/base/ecore_gtt_reg_addr.h | 20 +- drivers/net/qede/base/ecore_hsi_common.h | 816 +++---- drivers/net/qede/base/ecore_hsi_debug_tools.h | 203 +- drivers/net/qede/base/ecore_hsi_eth.h | 2069 +++++++++--------- drivers/net/qede/base/ecore_hsi_init_tool.h | 78 +- drivers/net/qede/base/ecore_hw.c | 51 +- drivers/net/qede/base/ecore_init_fw_funcs.c | 1409 +++++++----- drivers/net/qede/base/ecore_init_fw_funcs.h | 172 +- drivers/net/qede/base/ecore_int.c | 165 +- drivers/net/qede/base/ecore_int.h | 10 - drivers/net/qede/base/ecore_int_api.h | 21 + drivers/net/qede/base/ecore_iov_api.h | 45 +- drivers/net/qede/base/ecore_iro.h | 8 + drivers/net/qede/base/ecore_iro_values.h | 28 +- drivers/net/qede/base/ecore_l2.c | 853 +++++--- drivers/net/qede/base/ecore_l2.h | 149 +- drivers/net/qede/base/ecore_l2_api.h | 134 +- drivers/net/qede/base/ecore_mcp.c | 1023 +++++++-- drivers/net/qede/base/ecore_mcp.h | 181 +- drivers/net/qede/base/ecore_mcp_api.h | 316 ++- drivers/net/qede/base/ecore_mng_tlv.c | 1535 +++++++++++++ drivers/net/qede/base/ecore_proto_if.h | 16 + drivers/net/qede/base/ecore_rt_defs.h | 623 +++--- drivers/net/qede/base/ecore_sp_api.h | 19 + drivers/net/qede/base/ecore_sp_commands.c | 372 ++-- drivers/net/qede/base/ecore_sp_commands.h | 23 +- drivers/net/qede/base/ecore_spq.c | 86 +- drivers/net/qede/base/ecore_spq.h | 36 +- drivers/net/qede/base/ecore_sriov.c | 996 +++++++-- drivers/net/qede/base/ecore_sriov.h | 23 +- drivers/net/qede/base/ecore_vf.c | 368 +++- drivers/net/qede/base/ecore_vf.h | 85 +- drivers/net/qede/base/ecore_vf_api.h | 21 +- drivers/net/qede/base/ecore_vfpf_if.h | 55 +- drivers/net/qede/base/eth_common.h | 2 +- drivers/net/qede/base/mcp_public.h | 273 ++- drivers/net/qede/base/nvm_cfg.h | 475 +++- drivers/net/qede/base/reg_addr.h | 59 + drivers/net/qede/qede_eth_if.c | 56 +- drivers/net/qede/qede_eth_if.h | 27 +- drivers/net/qede/qede_ethdev.c | 207 +- drivers/net/qede/qede_ethdev.h | 46 +- drivers/net/qede/qede_fdir.c | 487 +++++ drivers/net/qede/qede_if.h | 58 +- drivers/net/qede/qede_main.c | 126 +- drivers/net/qede/qede_rxtx.c | 798 +++++-- drivers/net/qede/qede_rxtx.h | 36 + drivers/net/sfc/Makefile | 9 +- drivers/net/sfc/base/ef10_filter.c | 134 +- drivers/net/sfc/base/ef10_impl.h | 7 +- drivers/net/sfc/base/ef10_nic.c | 61 +- drivers/net/sfc/base/ef10_tx.c | 13 +- drivers/net/sfc/base/efx.h | 46 +- drivers/net/sfc/base/efx_filter.c | 76 +- drivers/net/sfc/base/efx_impl.h | 4 +- drivers/net/sfc/base/efx_mac.c | 25 + drivers/net/sfc/base/efx_mcdi.c | 97 +- drivers/net/sfc/base/efx_mcdi.h | 11 +- drivers/net/sfc/base/efx_nic.c | 48 + drivers/net/sfc/base/efx_tx.c | 16 +- drivers/net/sfc/base/hunt_nic.c | 4 + drivers/net/sfc/base/medford_nic.c | 4 + drivers/net/sfc/base/siena_nic.c | 4 + drivers/net/sfc/efsys.h | 6 +- drivers/net/sfc/sfc.c | 199 +- drivers/net/sfc/sfc.h | 73 +- drivers/net/sfc/sfc_debug.h | 4 +- drivers/net/sfc/sfc_dp.c | 100 + drivers/net/sfc/sfc_dp.h | 125 ++ drivers/net/sfc/sfc_dp_rx.h | 197 ++ drivers/net/sfc/sfc_dp_tx.h | 170 ++ drivers/net/sfc/sfc_ef10.h | 107 + drivers/net/sfc/sfc_ef10_rx.c | 712 ++++++ drivers/net/sfc/sfc_ef10_tx.c | 524 +++++ drivers/net/sfc/sfc_ethdev.c | 355 ++- drivers/net/sfc/sfc_ev.c | 442 ++-- drivers/net/sfc/sfc_ev.h | 100 +- drivers/net/sfc/sfc_filter.c | 137 ++ drivers/net/sfc/sfc_filter.h | 62 + drivers/net/sfc/sfc_flow.c | 1183 ++++++++++ drivers/net/sfc/sfc_flow.h | 64 + drivers/net/sfc/sfc_intr.c | 10 +- drivers/net/sfc/sfc_kvargs.c | 35 +- drivers/net/sfc/sfc_kvargs.h | 25 +- drivers/net/sfc/sfc_log.h | 4 +- drivers/net/sfc/sfc_mcdi.c | 78 +- drivers/net/sfc/sfc_port.c | 184 +- drivers/net/sfc/sfc_rx.c | 505 ++++- drivers/net/sfc/sfc_rx.h | 85 +- drivers/net/sfc/sfc_tso.c | 37 +- drivers/net/sfc/sfc_tweak.h | 4 +- drivers/net/sfc/sfc_tx.c | 474 ++-- drivers/net/sfc/sfc_tx.h | 111 +- drivers/net/tap/Makefile | 52 + drivers/net/tap/rte_eth_tap.c | 827 +++++-- drivers/net/tap/rte_eth_tap.h | 96 + drivers/net/tap/tap_flow.c | 1507 +++++++++++++ drivers/net/tap/tap_flow.h | 82 + drivers/net/tap/tap_netlink.c | 367 ++++ drivers/net/tap/tap_netlink.h | 69 + drivers/net/tap/tap_tcmsgs.c | 323 +++ drivers/net/tap/tap_tcmsgs.h | 61 + drivers/net/thunderx/base/nicvf_bsvf.c | 12 +- drivers/net/thunderx/base/nicvf_bsvf.h | 2 +- drivers/net/thunderx/base/nicvf_mbox.c | 7 +- drivers/net/thunderx/base/nicvf_mbox.h | 11 +- drivers/net/thunderx/nicvf_ethdev.c | 36 +- drivers/net/thunderx/nicvf_struct.h | 12 +- drivers/net/vhost/rte_eth_vhost.c | 34 +- drivers/net/vmxnet3/base/vmxnet3_defs.h | 85 +- drivers/net/vmxnet3/vmxnet3_ethdev.c | 154 +- drivers/net/vmxnet3/vmxnet3_ethdev.h | 28 + drivers/net/vmxnet3/vmxnet3_ring.h | 16 + drivers/net/vmxnet3/vmxnet3_rxtx.c | 92 +- lib/librte_eal/linuxapp/eal/eal_interrupts.c | 33 +- .../linuxapp/eal/include/exec-env/rte_interrupts.h | 9 + lib/librte_eal/linuxapp/eal/rte_eal_version.map | 7 + lib/librte_ether/rte_ethdev.c | 8 +- lib/librte_ether/rte_flow.h | 51 + mk/rte.app.mk | 14 +- 274 files changed, 42952 insertions(+), 7660 deletions(-) create mode 100644 doc/guides/nics/avp.rst create mode 100644 doc/guides/nics/features/avp.ini create mode 100644 doc/guides/nics/features/kni.ini create mode 100644 doc/guides/nics/features/liquidio.ini create mode 100644 doc/guides/nics/features/tap.ini create mode 100644 doc/guides/nics/kni.rst create mode 100644 doc/guides/nics/liquidio.rst create mode 100644 drivers/net/avp/Makefile create mode 100644 drivers/net/avp/avp_ethdev.c create mode 100644 drivers/net/avp/avp_logs.h create mode 100644 drivers/net/avp/rte_avp_common.h create mode 100644 drivers/net/avp/rte_avp_fifo.h create mode 100644 drivers/net/avp/rte_pmd_avp_version.map create mode 100644 drivers/net/i40e/base/README create mode 100644 drivers/net/i40e/i40e_rxtx_vec_altivec.c create mode 100644 drivers/net/kni/Makefile create mode 100644 drivers/net/kni/rte_eth_kni.c create mode 100644 drivers/net/kni/rte_pmd_kni_version.map create mode 100644 drivers/net/liquidio/Makefile create mode 100644 drivers/net/liquidio/base/lio_23xx_reg.h create mode 100644 drivers/net/liquidio/base/lio_23xx_vf.c create mode 100644 drivers/net/liquidio/base/lio_23xx_vf.h create mode 100644 drivers/net/liquidio/base/lio_hw_defs.h create mode 100644 drivers/net/liquidio/base/lio_mbox.c create mode 100644 drivers/net/liquidio/base/lio_mbox.h create mode 100644 drivers/net/liquidio/lio_ethdev.c create mode 100644 drivers/net/liquidio/lio_ethdev.h create mode 100644 drivers/net/liquidio/lio_logs.h create mode 100644 drivers/net/liquidio/lio_rxtx.c create mode 100644 drivers/net/liquidio/lio_rxtx.h create mode 100644 drivers/net/liquidio/lio_struct.h create mode 100644 drivers/net/liquidio/rte_pmd_lio_version.map create mode 100644 drivers/net/mlx4/mlx4_flow.c create mode 100644 drivers/net/mlx4/mlx4_flow.h create mode 100644 drivers/net/qede/base/ecore_mng_tlv.c create mode 100644 drivers/net/qede/qede_fdir.c create mode 100644 drivers/net/sfc/sfc_dp.c create mode 100644 drivers/net/sfc/sfc_dp.h create mode 100644 drivers/net/sfc/sfc_dp_rx.h create mode 100644 drivers/net/sfc/sfc_dp_tx.h create mode 100644 drivers/net/sfc/sfc_ef10.h create mode 100644 drivers/net/sfc/sfc_ef10_rx.c create mode 100644 drivers/net/sfc/sfc_ef10_tx.c create mode 100644 drivers/net/sfc/sfc_filter.c create mode 100644 drivers/net/sfc/sfc_filter.h create mode 100644 drivers/net/sfc/sfc_flow.c create mode 100644 drivers/net/sfc/sfc_flow.h create mode 100644 drivers/net/tap/rte_eth_tap.h create mode 100644 drivers/net/tap/tap_flow.c create mode 100644 drivers/net/tap/tap_flow.h create mode 100644 drivers/net/tap/tap_netlink.c create mode 100644 drivers/net/tap/tap_netlink.h create mode 100644 drivers/net/tap/tap_tcmsgs.c create mode 100644 drivers/net/tap/tap_tcmsgs.h