Message ID | cover.1569850826.git.cloud.wangxiaoyun@huawei.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 66CD9493D; Mon, 30 Sep 2019 15:45:14 +0200 (CEST) Received: from huawei.com (szxga05-in.huawei.com [45.249.212.191]) by dpdk.org (Postfix) with ESMTP id 07ACD37B4 for <dev@dpdk.org>; Mon, 30 Sep 2019 15:45:12 +0200 (CEST) Received: from DGGEMS413-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 325CE33A00FFD6127FC3 for <dev@dpdk.org>; Mon, 30 Sep 2019 21:45:10 +0800 (CST) Received: from tester.localdomain (10.175.119.39) by DGGEMS413-HUB.china.huawei.com (10.3.19.213) with Microsoft SMTP Server id 14.3.439.0; Mon, 30 Sep 2019 21:45:02 +0800 From: Xiaoyun wang <cloud.wangxiaoyun@huawei.com> To: <ferruh.yigit@intel.com> CC: <dev@dpdk.org>, <xuanziyang2@huawei.com>, <shahar.belkar@huawei.com>, <luoxianjun@huawei.com>, <tanya.brokhman@huawei.com>, <zhouguoyang@huawei.com>, <wulike1@huawei.com>, Xiaoyun wang <cloud.wangxiaoyun@huawei.com> Date: Mon, 30 Sep 2019 22:00:38 +0800 Message-ID: <cover.1569850826.git.cloud.wangxiaoyun@huawei.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.119.39] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH v3 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 <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
Add advanced features for Huawei hinic pmd
|
|
Message
Wangxiaoyun (Cloud)
Sept. 30, 2019, 2 p.m. UTC
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 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 | 62 +- 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 | 198 ++- drivers/net/hinic/base/hinic_pmd_hwdev.h | 9 +- 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 | 938 +++++++++++ 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 | 1020 ++++++++++-- drivers/net/hinic/hinic_pmd_ethdev.h | 139 +- drivers/net/hinic/hinic_pmd_flow.c | 2385 ++++++++++++++++++++++++++++ drivers/net/hinic/hinic_pmd_rx.c | 15 +- drivers/net/hinic/hinic_pmd_rx.h | 11 + drivers/net/hinic/hinic_pmd_tx.c | 190 ++- drivers/net/hinic/meson.build | 1 + 31 files changed, 6050 insertions(+), 628 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
Comments
On 9/30/2019 3:00 PM, Xiaoyun wang wrote: > 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 > > 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 There is following 32-bit build error because of the log formatting [1], can you please check it? [1] .../drivers/net/hinic/base/hinic_pmd_mbox.c(659): error #181: argument of type "unsigned long long" is incompatible with format "%lx", expecting argument of type "unsigned long" PMD_DRV_LOG(ERR, "Fail to send mbox seg, seq_id: 0x%lx, err: %d",
Hi Ferruh, Thanks for your comments. hinic pmd driver doesn't support 32-bit build, we add descriptions with config file "defconfig_x86_x32-native-linuxapp-gcc". and “defconfig_x86_x32-native-linux-gcc”. I don't know why it also build in 32-bit platform, can you tell me where also need me to add configuration. Also I build it on 64-bit platform,That's OK. Best regards Xiaoyun Wang 在 2019/9/30 23:06, Ferruh Yigit 写道: > On 9/30/2019 3:00 PM, Xiaoyun wang wrote: >> 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 >> >> 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 > There is following 32-bit build error because of the log formatting [1], can you > please check it? > > > [1] > .../drivers/net/hinic/base/hinic_pmd_mbox.c(659): > error #181: argument of type "unsigned long long" is incompatible with format > "%lx", expecting argument of type "unsigned long" > PMD_DRV_LOG(ERR, "Fail to send mbox seg, seq_id: 0x%lx, > err: %d", > > .
On 10/8/2019 4:14 PM, Wangxiaoyun (Cloud, Network Chip Application Development Dept) wrote: > Hi Ferruh, > Thanks for your comments. hinic pmd driver doesn't support 32-bit build, we add descriptions with config file "defconfig_x86_x32-native-linuxapp-gcc". > and “defconfig_x86_x32-native-linux-gcc”. I don't know why it also build in 32-bit platform, can you tell me where also need me to add configuration. > Also I build it on 64-bit platform,That's OK. Hi Xiaoyun, You are right, driver doesn't support 32bit, I am force enabling it, just for build. Since the build error is only in the logging format identifiers, I think it make sense to fix it, and it is better to use more proper format identifiers. > > Best regards > Xiaoyun Wang > > 在 2019/9/30 23:06, Ferruh Yigit 写道: >> On 9/30/2019 3:00 PM, Xiaoyun wang wrote: >>> 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 >>> >>> 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 >> There is following 32-bit build error because of the log formatting [1], can you >> please check it? >> >> >> [1] >> .../drivers/net/hinic/base/hinic_pmd_mbox.c(659): >> error #181: argument of type "unsigned long long" is incompatible with format >> "%lx", expecting argument of type "unsigned long" >> PMD_DRV_LOG(ERR, "Fail to send mbox seg, seq_id: 0x%lx, >> err: %d", >> >> .
Hi Ferruh, I have deleted the seq_id getting logs, and we can get the infos by other method, which is updated by Patch V4. Best Regards, Xiaoyun Wang 在 2019/10/8 23:33, Ferruh Yigit 写道: > On 10/8/2019 4:14 PM, Wangxiaoyun (Cloud, Network Chip Application Development > Dept) wrote: >> Hi Ferruh, >> Thanks for your comments. hinic pmd driver doesn't support 32-bit build, we add descriptions with config file "defconfig_x86_x32-native-linuxapp-gcc". >> and “defconfig_x86_x32-native-linux-gcc”. I don't know why it also build in 32-bit platform, can you tell me where also need me to add configuration. >> Also I build it on 64-bit platform,That's OK. > Hi Xiaoyun, > > You are right, driver doesn't support 32bit, I am force enabling it, just for build. > > Since the build error is only in the logging format identifiers, I think it make > sense to fix it, and it is better to use more proper format identifiers. > >> Best regards >> Xiaoyun Wang >> >> 在 2019/9/30 23:06, Ferruh Yigit 写道: >>> On 9/30/2019 3:00 PM, Xiaoyun wang wrote: >>>> 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 >>>> >>>> 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 >>> There is following 32-bit build error because of the log formatting [1], can you >>> please check it? >>> >>> >>> [1] >>> .../drivers/net/hinic/base/hinic_pmd_mbox.c(659): >>> error #181: argument of type "unsigned long long" is incompatible with format >>> "%lx", expecting argument of type "unsigned long" >>> PMD_DRV_LOG(ERR, "Fail to send mbox seg, seq_id: 0x%lx, >>> err: %d", >>> >>> . > > .