From patchwork Wed Feb 5 13:33:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 65588 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5F835A04FA; Wed, 5 Feb 2020 14:33:39 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A90AC1C1B7; Wed, 5 Feb 2020 14:33:38 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 85AB21C1AF for ; Wed, 5 Feb 2020 14:33:36 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Feb 2020 05:33:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,405,1574150400"; d="scan'208";a="264222559" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.180]) by fmsmga002.fm.intel.com with ESMTP; 05 Feb 2020 05:33:33 -0800 From: Ferruh Yigit To: Thomas Monjalon Cc: dev@dpdk.org, Ferruh Yigit Date: Wed, 5 Feb 2020 13:33:30 +0000 Message-Id: <20200205133330.1711363-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Subject: [dpdk-dev] [pull-request] next-net 20.02 rc2 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The following changes since commit 55499896d91a4fb01e743b71df639dc1c18314d8: doc: add event mode to l3fwd guide (2020-01-28 10:05:25 +0100) are available in the Git repository at: http://dpdk.org/git/next/dpdk-next-net for-main-repo for you to fetch changes up to 8e7fdffffa18080de1b32597e5d274e3eae504b3: vhost: catch overflow causing mmap of size 0 (2020-02-05 10:47:18 +0000) ---------------------------------------------------------------- Adrian Moreno (1): vhost: fix packed virtqueue ready condition Alexander Kozyrev (6): mk/icc: disable treatment of warnings as errors net/mlx4: use mlx4 debug flag instead of NDEBUG net/mlx4: introduce the mlx4 version of the assert drivers: use mlx5 debug flag instead of NDEBUG drivers: introduce the mlx5 version of the assert net/mlx5: add Rx/Tx burst mode info callbacks Alfredo Cardigliano (1): net/ionic: fix packet type mask Beilei Xing (1): net/ice: fix FDIR flag Chenmin Sun (1): net/ice: add outer IPv4 matching for GTPU flow Dekel Peled (13): net/mlx5: fix masks of encap and decap actions net/mlx5: fix check for VLAN actions net/mlx5: fix bit mask used for push VLAN validate net/mlx5: fix allowing push VLAN without VID value net/mlx5: unify validation of drop action net/mlx5: fix block push VLAN action on Rx net/mlx5: fix block pop VLAN action on Tx net/mlx5: fix pop VLAN action validation function net/mlx5: fix set VLAN VID action validation net/mlx5: update description of validation functions doc: update MLX5 supported hardware offloads table net/mlx5: fix setting of port ID for egress rules net/mlx5: fix using uninitialized array Eli Britstein (1): net/mlx5: fix zero out UDP checksum in encap data Eugenio Pérez (1): vhost: flush shadow Tx if no more packets Fan Zhang (1): vhost/crypto: fix incorrect fetch size Jerin Jacob (1): net/octeontx2: change default RSS hash calculation John Daley (1): net/enic: use RTE min and max macros Július Milan (1): net/memif: add link info Kalesh AP (13): net/bnxt: fix flow creation net/bnxt: fix probe in FreeBSD net/bnxt: fix IOVA mapping net/bnxt: fix enable/disable VLAN filtering net/bnxt: fix VLAN strip net/bnxt: handle HW filter setting when port is stopped net/bnxt: fix a memory leak in port stop net/bnxt: use macro for PCI log format net/bnxt: remove redundant if statement net/bnxt: remove redundant macro net/bnxt: remove unnecessary structure variable net/bnxt: remove a redundant variable net/bnxt: fix return value check Kiran Kumar K (3): net/octeontx2: extend RSS supported offload types net/octeontx2: disable HIGIG on port stop net/octeontx2: fix Tx flow control for HIGIG Krzysztof Kanas (1): doc/thunderx: add secondary VF enumeration details Lunyuan Cui (1): net/i40e: fix multi-queue Rx interrupt for VF Matan Azrad (39): net/mlx5: fix clang 3.4.2 compilation net/mlx5: separate DevX commands interface drivers: introduce mlx5 common library common/mlx5: share mlx5 PCI device detection common/mlx5: share mlx5 devices information common/mlx5: share CQ entry check common/mlx5: add query vDPA DevX capabilities common/mlx5: glue null memory region allocation common/mlx5: support DevX indirect mkey creation common/mlx5: glue event queue query common/mlx5: glue event interrupt commands common/mlx5: glue UAR allocation common/mlx5: add DevX command to create CQ common/mlx5: glue VAR allocation common/mlx5: add DevX virtq commands common/mlx5: add support for DevX QP operations common/mlx5: allow type configuration for DevX RQT common/mlx5: add TIR field constants common/mlx5: add DevX command to modify RQT common/mlx5: get DevX capability for max RQT size net/mlx5: select driver by class device argument net/mlx5: separate Netlink command interface net/mlx5: reduce Netlink commands dependencies common/mlx5: share Netlink commands common/mlx5: support ROCE disable through Netlink net/mlx5: make FDB default rule optional drivers: introduce mlx5 vDPA driver vdpa/mlx5: support queues number operation vdpa/mlx5: support features get operations vdpa/mlx5: prepare memory regions vdpa/mlx5: prepare HW queues vdpa/mlx5: prepare virtio queues vdpa/mlx5: support stateless offloads vdpa/mlx5: add basic steering configurations vdpa/mlx5: support queue state operation vdpa/mlx5: map doorbell vdpa/mlx5: support live migration vdpa/mlx5: support close and config operations vdpa/mlx5: disable ROCE Maxime Coquelin (1): vhost: catch overflow causing mmap of size 0 Michael Baum (1): net/mlx5: fix memory regions release deadlock Ori Kam (3): net/mlx5: support fine grain dynamic flag app/testpmd: fix uninitialized members of MPLS app/testpmd: fix copying the name of the dynflag Qi Zhang (2): net/ice: fix flow director GTP-U pattern net/ice: fix GTPU rule confliction Rasesh Mody (3): net/bnx2x: fix reset of scan FP flag net/bnx2x: fix to sync fastpath Rx queue access net/bnx2x: fix to set stripped flag for VLAN packet Raslan Darawsheh (2): net/mlx5: fix VXLAN-GPE item translation net/failsafe: fix reported hash key size in device info Shiri Kuzin (1): net/mlx5: fix ICMPv6 header rewrite actions Somnath Kotur (7): net/bnxt: release port upon close net/bnxt: fix max rings calculation net/bnxt: fix alloc filter to use a common routine net/bnxt: fix bumping of L2 filter reference count net/bnxt: fix to allow group ID 0 for RSS action net/bnxt: fix supporting zero mark id along with RSS action net/bnxt: fix spurious warning in Rx handler Stephen Hemminger (4): net/bnxt: fix VLAN strip flags in SSE Rx net/bnxt: do not log error if stats queried before start net/bnxt: remove unnecessary memset app/testpmd: use correct RFC addresses for Tx only Suanming Mou (2): net/mlx5: support maximum id in id allocate net/mlx5: fix register usage in meter Sunil Kumar Kori (2): net/octeontx: fix memory leak of MAC address table net/octeontx: fix user supplied MAC address add index Tao Zhu (1): net/ice: fix flow FDIR/switch memory leak Tiwei Bie (1): net/virtio-user: do not reset virtqueues for split ring Viacheslav Ovsiienko (1): net/mlx5: update Tx datapath to support no inline hint Vitaliy Mysak (1): vhost: do not treat empty socket message as error Wei Hu (Xavier) (2): app/testpmd: fix initial value when setting PFC app/testpmd: fix uninitialized members when setting PFC Xiaolong Ye (1): net/i40e/base: skip further adminq init for VF Yunjian Wang (2): net/tap: fix memory leak when unregister intr handler net/e1000: use macro for PCI log format Zhike Wang (1): vhost: fix crash on port deletion MAINTAINERS | 8 + app/test-pmd/cmdline.c | 11 +- app/test-pmd/cmdline_flow.c | 4 +- app/test-pmd/txonly.c | 4 +- config/common_base | 5 + doc/guides/nics/features/mlx5.ini | 1 + doc/guides/nics/mlx5.rst | 8 +- doc/guides/nics/octeontx2.rst | 19 +- doc/guides/nics/thunderx.rst | 49 ++ doc/guides/rel_notes/release_20_02.rst | 5 + doc/guides/vdpadevs/features/mlx5.ini | 27 + doc/guides/vdpadevs/index.rst | 1 + doc/guides/vdpadevs/mlx5.rst | 111 ++++ drivers/common/Makefile | 4 + drivers/common/meson.build | 2 +- drivers/common/mlx5/Makefile | 350 +++++++++++ drivers/common/mlx5/meson.build | 210 +++++++ drivers/common/mlx5/mlx5_common.c | 332 ++++++++++ drivers/common/mlx5/mlx5_common.h | 221 +++++++ drivers/common/mlx5/mlx5_common_utils.h | 20 + drivers/{net => common}/mlx5/mlx5_devx_cmds.c | 605 +++++++++++++++++- drivers/common/mlx5/mlx5_devx_cmds.h | 351 +++++++++++ drivers/{net => common}/mlx5/mlx5_glue.c | 170 ++++- drivers/{net => common}/mlx5/mlx5_glue.h | 47 +- drivers/{net => common}/mlx5/mlx5_nl.c | 805 ++++++++++++++++-------- drivers/common/mlx5/mlx5_nl.h | 63 ++ drivers/{net => common}/mlx5/mlx5_prm.h | 674 +++++++++++++++++++- drivers/common/mlx5/rte_common_mlx5_version.map | 51 ++ drivers/common/octeontx2/otx2_mbox.h | 10 +- drivers/meson.build | 8 +- drivers/net/bnx2x/bnx2x.c | 16 +- drivers/net/bnx2x/bnx2x.h | 3 + drivers/net/bnx2x/bnx2x_rxtx.c | 10 +- drivers/net/bnxt/bnxt.h | 50 +- drivers/net/bnxt/bnxt_ethdev.c | 501 ++++++++------- drivers/net/bnxt/bnxt_filter.c | 8 +- drivers/net/bnxt/bnxt_flow.c | 56 +- drivers/net/bnxt/bnxt_hwrm.c | 34 +- drivers/net/bnxt/bnxt_irq.c | 8 + drivers/net/bnxt/bnxt_ring.c | 17 - drivers/net/bnxt/bnxt_rxr.c | 22 +- drivers/net/bnxt/bnxt_rxr.h | 6 +- drivers/net/bnxt/bnxt_rxtx_vec_sse.c | 3 +- drivers/net/bnxt/bnxt_stats.c | 7 +- drivers/net/bnxt/bnxt_vnic.c | 11 - drivers/net/e1000/em_ethdev.c | 2 +- drivers/net/e1000/igb_ethdev.c | 2 +- drivers/net/enic/enic_res.c | 20 +- drivers/net/enic/enic_res.h | 10 - drivers/net/failsafe/failsafe_ops.c | 3 + drivers/net/i40e/base/i40e_adminq.c | 4 + drivers/net/i40e/i40e_ethdev_vf.c | 6 +- drivers/net/ice/base/ice_fdir.c | 6 +- drivers/net/ice/base/ice_fdir.h | 1 + drivers/net/ice/base/ice_flow.c | 8 +- drivers/net/ice/base/ice_osdep.h | 17 +- drivers/net/ice/ice_ethdev.h | 1 + drivers/net/ice/ice_fdir_filter.c | 52 +- drivers/net/ice/ice_generic_flow.c | 15 + drivers/net/ice/ice_generic_flow.h | 2 + drivers/net/ice/ice_hash.c | 12 +- drivers/net/ionic/ionic_if.h | 2 +- drivers/net/memif/rte_eth_memif.c | 8 + drivers/net/mlx4/Makefile | 4 +- drivers/net/mlx4/meson.build | 4 +- drivers/net/mlx4/mlx4.c | 29 +- drivers/net/mlx4/mlx4_ethdev.c | 5 +- drivers/net/mlx4/mlx4_flow.c | 34 +- drivers/net/mlx4/mlx4_intr.c | 3 +- drivers/net/mlx4/mlx4_mp.c | 25 +- drivers/net/mlx4/mlx4_mr.c | 74 +-- drivers/net/mlx4/mlx4_rxq.c | 53 +- drivers/net/mlx4/mlx4_rxtx.c | 29 +- drivers/net/mlx4/mlx4_txq.c | 17 +- drivers/net/mlx4/mlx4_utils.c | 3 +- drivers/net/mlx4/mlx4_utils.h | 15 +- drivers/net/mlx5/Makefile | 311 +-------- drivers/net/mlx5/meson.build | 257 ++------ drivers/net/mlx5/mlx5.c | 329 ++++------ drivers/net/mlx5/mlx5.h | 327 +--------- drivers/net/mlx5/mlx5_defs.h | 8 - drivers/net/mlx5/mlx5_ethdev.c | 230 ++----- drivers/net/mlx5/mlx5_flow.c | 161 +++-- drivers/net/mlx5/mlx5_flow.h | 17 +- drivers/net/mlx5/mlx5_flow_dv.c | 396 +++++++----- drivers/net/mlx5/mlx5_flow_meter.c | 14 +- drivers/net/mlx5/mlx5_flow_verbs.c | 23 +- drivers/net/mlx5/mlx5_mac.c | 21 +- drivers/net/mlx5/mlx5_mp.c | 29 +- drivers/net/mlx5/mlx5_mr.c | 74 +-- drivers/net/mlx5/mlx5_rss.c | 5 +- drivers/net/mlx5/mlx5_rxmode.c | 12 +- drivers/net/mlx5/mlx5_rxq.c | 48 +- drivers/net/mlx5/mlx5_rxtx.c | 574 ++++++++++++----- drivers/net/mlx5/mlx5_rxtx.h | 63 +- drivers/net/mlx5/mlx5_rxtx_vec.c | 6 +- drivers/net/mlx5/mlx5_rxtx_vec.h | 10 +- drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 16 +- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 16 +- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 16 +- drivers/net/mlx5/mlx5_socket.c | 4 +- drivers/net/mlx5/mlx5_stats.c | 7 +- drivers/net/mlx5/mlx5_trigger.c | 19 +- drivers/net/mlx5/mlx5_txq.c | 66 +- drivers/net/mlx5/mlx5_utils.c | 8 +- drivers/net/mlx5/mlx5_utils.h | 99 +-- drivers/net/mlx5/mlx5_vlan.c | 144 ++++- drivers/net/mlx5/rte_pmd_mlx5.h | 35 ++ drivers/net/mlx5/rte_pmd_mlx5_version.map | 7 + drivers/net/octeontx/base/octeontx_bgx.c | 13 +- drivers/net/octeontx/base/octeontx_bgx.h | 7 +- drivers/net/octeontx/octeontx_ethdev.c | 29 +- drivers/net/octeontx2/otx2_ethdev.c | 11 +- drivers/net/octeontx2/otx2_ethdev.h | 7 +- drivers/net/octeontx2/otx2_ethdev_devargs.c | 8 +- drivers/net/octeontx2/otx2_flow_ctrl.c | 1 + drivers/net/octeontx2/otx2_rss.c | 12 + drivers/net/tap/rte_eth_tap.c | 5 +- drivers/net/virtio/virtio_user_ethdev.c | 3 +- drivers/vdpa/Makefile | 2 + drivers/vdpa/meson.build | 3 +- drivers/vdpa/mlx5/Makefile | 58 ++ drivers/vdpa/mlx5/meson.build | 38 ++ drivers/vdpa/mlx5/mlx5_vdpa.c | 563 +++++++++++++++++ drivers/vdpa/mlx5/mlx5_vdpa.h | 309 +++++++++ drivers/vdpa/mlx5/mlx5_vdpa_event.c | 400 ++++++++++++ drivers/vdpa/mlx5/mlx5_vdpa_lm.c | 129 ++++ drivers/vdpa/mlx5/mlx5_vdpa_mem.c | 346 ++++++++++ drivers/vdpa/mlx5/mlx5_vdpa_steer.c | 283 +++++++++ drivers/vdpa/mlx5/mlx5_vdpa_utils.h | 20 + drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 388 ++++++++++++ drivers/vdpa/mlx5/rte_pmd_mlx5_vdpa_version.map | 3 + lib/librte_vhost/socket.c | 13 +- lib/librte_vhost/vhost_crypto.c | 10 +- lib/librte_vhost/vhost_user.c | 18 +- lib/librte_vhost/virtio_net.c | 27 +- mk/rte.app.mk | 14 +- mk/toolchain/icc/rte.vars.mk | 4 - 138 files changed, 8558 insertions(+), 2912 deletions(-) create mode 100644 doc/guides/vdpadevs/features/mlx5.ini create mode 100644 doc/guides/vdpadevs/mlx5.rst create mode 100644 drivers/common/mlx5/Makefile create mode 100644 drivers/common/mlx5/meson.build create mode 100644 drivers/common/mlx5/mlx5_common.c create mode 100644 drivers/common/mlx5/mlx5_common.h create mode 100644 drivers/common/mlx5/mlx5_common_utils.h rename drivers/{net => common}/mlx5/mlx5_devx_cmds.c (59%) create mode 100644 drivers/common/mlx5/mlx5_devx_cmds.h rename drivers/{net => common}/mlx5/mlx5_glue.c (88%) rename drivers/{net => common}/mlx5/mlx5_glue.h (86%) rename drivers/{net => common}/mlx5/mlx5_nl.c (59%) create mode 100644 drivers/common/mlx5/mlx5_nl.h rename drivers/{net => common}/mlx5/mlx5_prm.h (76%) create mode 100644 drivers/common/mlx5/rte_common_mlx5_version.map create mode 100644 drivers/net/mlx5/rte_pmd_mlx5.h create mode 100644 drivers/vdpa/mlx5/Makefile create mode 100644 drivers/vdpa/mlx5/meson.build create mode 100644 drivers/vdpa/mlx5/mlx5_vdpa.c create mode 100644 drivers/vdpa/mlx5/mlx5_vdpa.h create mode 100644 drivers/vdpa/mlx5/mlx5_vdpa_event.c create mode 100644 drivers/vdpa/mlx5/mlx5_vdpa_lm.c create mode 100644 drivers/vdpa/mlx5/mlx5_vdpa_mem.c create mode 100644 drivers/vdpa/mlx5/mlx5_vdpa_steer.c create mode 100644 drivers/vdpa/mlx5/mlx5_vdpa_utils.h create mode 100644 drivers/vdpa/mlx5/mlx5_vdpa_virtq.c create mode 100644 drivers/vdpa/mlx5/rte_pmd_mlx5_vdpa_version.map