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 -- 1.8.3.1