From patchwork Thu Oct 10 14:51:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wangxiaoyun (Cloud)" X-Patchwork-Id: 60886 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CF5801E978; Thu, 10 Oct 2019 16:36:30 +0200 (CEST) Received: from huawei.com (szxga07-in.huawei.com [45.249.212.35]) by dpdk.org (Postfix) with ESMTP id C88B11E974 for ; Thu, 10 Oct 2019 16:36:26 +0200 (CEST) Received: from DGGEMS411-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 102DD497387DD74A5DD4 for ; Thu, 10 Oct 2019 22:36:24 +0800 (CST) Received: from tester.localdomain (10.175.119.39) by DGGEMS411-HUB.china.huawei.com (10.3.19.211) with Microsoft SMTP Server id 14.3.439.0; Thu, 10 Oct 2019 22:36:13 +0800 From: Xiaoyun wang To: CC: , , , , , , Xiaoyun wang Date: Thu, 10 Oct 2019 22:51:44 +0800 Message-ID: X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 X-Originating-IP: [10.175.119.39] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH v4 00/19] Add advanced features for Huawei hinic pmd 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" This patch set adds advanced features for Huawei hinic pmd, such as VLAN filter and VLAN offload, SR-IOV, FW version get, set link down and up, Flow director for LACP, VRRP, BGP and so on. --- v2: - Fix RSS bugs for vxlan packets inner type - Add comments for new added func interface - Fix code review comments from patch v1 - Fix code style problems - Remove ceq interfaces and definitions that not used - Fix aeq init bugs, firstly alloc aeq resource, then set aeq ctrl len - Fix bar map bugs for VF Page size larger than PF - Modify link state set, add enable or disable fiber in tx direction - Fix mbox and mgmt channel sync lock mechanism to reduce CPU usage - Fix FDIR bugs for VRRP packets - Fit ABI changes from dpdk lib v3: - Split hinic.ini and hinic.rst to related feature patches - Add min_mtu & max_mtu initialization for hinic_dev_infos_get - Fix fdir config patch with net/hinic/base - Split link patch into link and fw version getting 2 patches - Update pmd doc files to new next version - Add comments for cover letter patch - Add rxq & txq info getting interfaces - Fix load intrinsics for receiving packets v4: - Fix receive performance code review comments - Fix 32-bit build errs for mbox logs - Modify skb description as mbuf Xiaoyun wang (19): net/hinic/base: add mbox command channel for SRIOV net/hinic/base: add HW interfaces for SR-IOV net/hinic: add VF PMD operation interfaces net/hinic: add VLAN filter and offload net/hinic: add allmulticast mode and MTU set net/hinic: add unicast and multicast MAC set net/hinic/base: add fdir config interface net/hinic: add fdir validate flow operations net/hinic: create and destroy ntuple filter net/hinic: create and destroy fdir filter net/hinic: flush fdir filter net/hinic: set link down and up net/hinic: get firmware version net/hinic: support inner L3 checksum offload net/hinic: support LRO offload net/hinic: add hinic PMD doc files net/hinic/base: optimize aeq interfaces net/hinic: optimize RX performance net/hinic: add support for getting rxq or txq info doc/guides/nics/features/hinic.ini | 12 +- doc/guides/nics/hinic.rst | 10 + doc/guides/rel_notes/release_19_11.rst | 9 + drivers/net/hinic/Makefile | 2 + drivers/net/hinic/base/hinic_compat.h | 68 +- drivers/net/hinic/base/hinic_csr.h | 29 +- drivers/net/hinic/base/hinic_pmd_api_cmd.c | 60 +- drivers/net/hinic/base/hinic_pmd_cfg.c | 35 + drivers/net/hinic/base/hinic_pmd_cmd.h | 26 +- drivers/net/hinic/base/hinic_pmd_eqs.c | 245 +-- drivers/net/hinic/base/hinic_pmd_eqs.h | 5 +- drivers/net/hinic/base/hinic_pmd_hwdev.c | 214 ++- drivers/net/hinic/base/hinic_pmd_hwdev.h | 11 +- drivers/net/hinic/base/hinic_pmd_hwif.c | 85 +- drivers/net/hinic/base/hinic_pmd_hwif.h | 15 +- drivers/net/hinic/base/hinic_pmd_mbox.c | 937 +++++++++++ drivers/net/hinic/base/hinic_pmd_mbox.h | 93 ++ drivers/net/hinic/base/hinic_pmd_mgmt.c | 83 +- drivers/net/hinic/base/hinic_pmd_mgmt.h | 2 +- drivers/net/hinic/base/hinic_pmd_niccfg.c | 777 ++++++++- drivers/net/hinic/base/hinic_pmd_niccfg.h | 203 +++ drivers/net/hinic/base/hinic_pmd_nicio.c | 15 +- drivers/net/hinic/base/hinic_pmd_nicio.h | 3 +- drivers/net/hinic/base/meson.build | 1 + drivers/net/hinic/hinic_pmd_ethdev.c | 1026 ++++++++++-- drivers/net/hinic/hinic_pmd_ethdev.h | 139 +- drivers/net/hinic/hinic_pmd_flow.c | 2385 ++++++++++++++++++++++++++++ drivers/net/hinic/hinic_pmd_rx.c | 34 +- drivers/net/hinic/hinic_pmd_rx.h | 4 +- drivers/net/hinic/hinic_pmd_tx.c | 203 ++- drivers/net/hinic/hinic_pmd_tx.h | 2 +- drivers/net/hinic/meson.build | 1 + 32 files changed, 6068 insertions(+), 666 deletions(-) create mode 100644 drivers/net/hinic/base/hinic_pmd_mbox.c create mode 100644 drivers/net/hinic/base/hinic_pmd_mbox.h create mode 100644 drivers/net/hinic/hinic_pmd_flow.c