mbox series

[v2,00/20] bnxt patchset to improve rte flow support

Message ID 20191002232601.22715-1-ajit.khaparde@broadcom.com (mailing list archive)
Headers
Series bnxt patchset to improve rte flow support |

Message

Ajit Khaparde Oct. 2, 2019, 11:25 p.m. UTC
  Among other changes, this patchset adds support to:
- create filters with RSS action.
- create source MAC filters.
- use user provided priority to place rule appropriately in HW.

This patch has been rebased to dpdk-next-net commit
8587a8b9eddefa39e4ceac7e9385efcc5e73307c

Please apply.


Ajit Khaparde (13):
  net/bnxt: return standard error codes for HWRM command
  net/bnxt: refactor code to allow dynamic creation of VNIC
  net/bnxt: allow flow creation when RSS is enabled
  net/bnxt: add support to create SMAC and inner DMAC filters
  net/bnxt: add support for RSS action
  net/bnxt: parse priority attribute for flow creation
  net/bnxt: delete and flush L2 filters cleanly
  net/bnxt: cleanup vnic after flow validate
  net/bnxt: allow only unicast MAC address filter creation
  net/bnxt: check device is started before flow creation
  net/bnxt: handle cleanup if flow creation fails
  net/bnxt: drop untagged frames when specified
  net/bnxt: handle flow flush handling

Kalesh AP (2):
  net/bnxt: fix an issue in setting default MAC address
  net/bnxt: fix multicast filter programming

Rahul Gupta (1):
  net/bnxt: properly handle ring cleanup in case of error

Somnath Kotur (1):
  net/bnxt: check for invalid VNIC ID in vnic tpa cfg

Venkat Duvvuru (3):
  net/bnxt: validate RSS hash key length
  net/bnxt: synchronize between flow related functions
  net/bnxt: fix VLAN filtering code path

 drivers/net/bnxt/bnxt.h        |  12 +
 drivers/net/bnxt/bnxt_ethdev.c | 254 ++++++---
 drivers/net/bnxt/bnxt_filter.c |  18 +-
 drivers/net/bnxt/bnxt_filter.h |  18 +
 drivers/net/bnxt/bnxt_flow.c   | 904 ++++++++++++++++++++++++++++-----
 drivers/net/bnxt/bnxt_hwrm.c   | 190 +++++--
 drivers/net/bnxt/bnxt_hwrm.h   |   7 +-
 drivers/net/bnxt/bnxt_ring.c   |  37 ++
 drivers/net/bnxt/bnxt_rxq.c    |  29 +-
 drivers/net/bnxt/bnxt_vnic.c   |  38 +-
 drivers/net/bnxt/bnxt_vnic.h   |   6 +
 11 files changed, 1240 insertions(+), 273 deletions(-)
  

Comments

Ferruh Yigit Oct. 3, 2019, 1:18 p.m. UTC | #1
On 10/3/2019 12:25 AM, Ajit Khaparde wrote:
> Among other changes, this patchset adds support to:
> - create filters with RSS action.
> - create source MAC filters.
> - use user provided priority to place rule appropriately in HW.
> 
> This patch has been rebased to dpdk-next-net commit
> 8587a8b9eddefa39e4ceac7e9385efcc5e73307c
> 
> Please apply.
> 
> 
> Ajit Khaparde (13):
>   net/bnxt: return standard error codes for HWRM command
>   net/bnxt: refactor code to allow dynamic creation of VNIC
>   net/bnxt: allow flow creation when RSS is enabled
>   net/bnxt: add support to create SMAC and inner DMAC filters
>   net/bnxt: add support for RSS action
>   net/bnxt: parse priority attribute for flow creation
>   net/bnxt: delete and flush L2 filters cleanly
>   net/bnxt: cleanup vnic after flow validate
>   net/bnxt: allow only unicast MAC address filter creation
>   net/bnxt: check device is started before flow creation
>   net/bnxt: handle cleanup if flow creation fails
>   net/bnxt: drop untagged frames when specified
>   net/bnxt: handle flow flush handling
> 
> Kalesh AP (2):
>   net/bnxt: fix an issue in setting default MAC address
>   net/bnxt: fix multicast filter programming
> 
> Rahul Gupta (1):
>   net/bnxt: properly handle ring cleanup in case of error
> 
> Somnath Kotur (1):
>   net/bnxt: check for invalid VNIC ID in vnic tpa cfg
> 
> Venkat Duvvuru (3):
>   net/bnxt: validate RSS hash key length
>   net/bnxt: synchronize between flow related functions
>   net/bnxt: fix VLAN filtering code path

32-bit build error [1] fixed while merging, please confirm the fix in the repo.


[1]
In file included from .../drivers/net/bnxt/bnxt_flow.c:14:
.../drivers/net/bnxt/bnxt_flow.c: In function ‘bnxt_update_filter_flags_en’:
.../drivers/net/bnxt/bnxt.h:579:50: error: format ‘%lx’ expects argument of type
‘long unsigned int’, but argument 6 has type ‘uint64_t’ {aka ‘long long unsigned
int’} [-Werror=format=]
  579 |  rte_log(RTE_LOG_ ## level, bnxt_logtype_driver, "%s(): " fmt, \
      |                                                  ^~~~~~~~
.../drivers/net/bnxt/bnxt.h:583:2: note: in expansion of macro ‘PMD_DRV_LOG_RAW’
  583 |  PMD_DRV_LOG_RAW(level, fmt, ## args)
      |  ^~~~~~~~~~~~~~~
.../drivers/net/bnxt/bnxt_flow.c:997:2: note: in expansion of macro ‘PMD_DRV_LOG’
  997 |  PMD_DRV_LOG(DEBUG, "l2_filter: %p fw_l2_filter_id %lx l2_ref_cnt %d\n",
      |  ^~~~~~~~~~~
.../drivers/net/bnxt/bnxt_flow.c:997:54: note: format string is defined here
  997 |  PMD_DRV_LOG(DEBUG, "l2_filter: %p fw_l2_filter_id %lx l2_ref_cnt %d\n",
      |                                                    ~~^
      |                                                      |
      |                                                      long unsigned int
      |                                                    %llx
  
Ferruh Yigit Oct. 3, 2019, 2:29 p.m. UTC | #2
On 10/3/2019 12:25 AM, Ajit Khaparde wrote:
> Among other changes, this patchset adds support to:
> - create filters with RSS action.
> - create source MAC filters.
> - use user provided priority to place rule appropriately in HW.
> 
> This patch has been rebased to dpdk-next-net commit
> 8587a8b9eddefa39e4ceac7e9385efcc5e73307c
> 
> Please apply.
> 
> 
> Ajit Khaparde (13):
>   net/bnxt: return standard error codes for HWRM command
>   net/bnxt: refactor code to allow dynamic creation of VNIC
>   net/bnxt: allow flow creation when RSS is enabled
>   net/bnxt: add support to create SMAC and inner DMAC filters
>   net/bnxt: add support for RSS action
>   net/bnxt: parse priority attribute for flow creation
>   net/bnxt: delete and flush L2 filters cleanly
>   net/bnxt: cleanup vnic after flow validate
>   net/bnxt: allow only unicast MAC address filter creation
>   net/bnxt: check device is started before flow creation
>   net/bnxt: handle cleanup if flow creation fails
>   net/bnxt: drop untagged frames when specified
>   net/bnxt: handle flow flush handling
> 
> Kalesh AP (2):
>   net/bnxt: fix an issue in setting default MAC address
>   net/bnxt: fix multicast filter programming
> 
> Rahul Gupta (1):
>   net/bnxt: properly handle ring cleanup in case of error
> 
> Somnath Kotur (1):
>   net/bnxt: check for invalid VNIC ID in vnic tpa cfg
> 
> Venkat Duvvuru (3):
>   net/bnxt: validate RSS hash key length
>   net/bnxt: synchronize between flow related functions
>   net/bnxt: fix VLAN filtering code path

Series applied to dpdk-next-net/master, thanks.