[v3,00/69] shared code update
mbox series

Message ID 20190619151846.113820-1-leyi.rong@intel.com
Headers show
Series
  • shared code update
Related show

Message

Rong, Leyi June 19, 2019, 3:17 p.m. UTC
Main changes:
1. Advanced switch rule support.
2. Add more APIs for tunnel management.
3. Add some minor features.
4. Code clean and bug fix.

---
v3:
- Drop some patches which do not used.
- Split some patches which include irrelevant code.
- Squash some patches which needs to be put together.
- Add some new patches from latest shared code release.

v2:
- Split [03/49] into 2 commits.
- Split [27/49] with a standalone commit for code change in ice_osdep.h.
- Split [39/48] by kind of changes.
- Remove [42/49].
- Add some new patches from latest shared code release.


Leyi Rong (69):
  net/ice/base: update standard extr seq to include DIR flag
  net/ice/base: add API to configure MIB
  net/ice/base: add another valid DCBx state
  net/ice/base: add more recipe commands
  net/ice/base: add funcs to create new switch recipe
  net/ice/base: programming a new switch recipe
  net/ice/base: replay advanced rule after reset
  net/ice/base: code for removing advanced rule
  net/ice/base: save and post reset replay q bandwidth
  net/ice/base: rollback AVF RSS configurations
  net/ice/base: move RSS replay list
  net/ice/base: cache the data of set PHY cfg AQ in SW
  net/ice/base: refactor HW table init function
  net/ice/base: add lock around profile map list
  net/ice/base: add compatibility check for package version
  net/ice/base: add API to init FW logging
  net/ice/base: use macro instead of magic 8
  net/ice/base: move and redefine ice debug cq API
  net/ice/base: separate out control queue lock creation
  net/ice/base: added sibling head to parse nodes
  net/ice/base: add and fix debuglogs
  net/ice/base: forbid VSI to remove unassociated ucast filter
  net/ice/base: update some defines
  net/ice/base: add hweight32 support
  net/ice/base: call out dev/func caps when printing
  net/ice/base: set the max number of TCs per port to 4
  net/ice/base: make FDID available for FlexDescriptor
  net/ice/base: use a different debug bit for FW log
  net/ice/base: always set prefena when configuring a Rx queue
  net/ice/base: disable Tx pacing option
  net/ice/base: delete the index for chaining other recipe
  net/ice/base: cleanup update link info
  net/ice/base: add rd64 support
  net/ice/base: track HW stat registers past rollover
  net/ice/base: implement LLDP persistent settings
  net/ice/base: check new FD filter duplicate location
  net/ice/base: correct UDP/TCP PTYPE assignments
  net/ice/base: calculate rate limit burst size correctly
  net/ice/base: fix Flow Director VSI count
  net/ice/base: use more efficient structures
  net/ice/base: silent semantic parser warnings
  net/ice/base: fix for signed package download
  net/ice/base: add new API to dealloc flow entry
  net/ice/base: check RSS flow profile list
  net/ice/base: protect list add with lock
  net/ice/base: fix Rx functionality for ethertype filters
  net/ice/base: introduce some new macros
  net/ice/base: new marker to mark func parameters unused
  net/ice/base: code clean up
  net/ice/base: cleanup ice flex pipe files
  net/ice/base: refactor VSI node sched code
  net/ice/base: add some minor new defines
  net/ice/base: add vxlan/generic tunnel management
  net/ice/base: enable additional switch rules
  net/ice/base: allow forward to Q groups in switch rule
  net/ice/base: changes for reducing ice add adv rule time
  net/ice/base: deduce TSA value in the CEE mode
  net/ice/base: rework API for ice zero bitmap
  net/ice/base: rework API for ice cp bitmap
  net/ice/base: use ice zero bitmap instead of ice memset
  net/ice/base: use the specified size for ice zero bitmap
  net/ice/base: correct NVGRE header structure
  net/ice/base: reduce calls to get profile associations
  net/ice/base: fix for chained recipe switch ID index
  net/ice/base: update driver unloading field
  net/ice/base: fix for UDP and TCP related switch rules
  net/ice/base: changes in flow and profile removal
  net/ice/base: update Tx context struct
  net/ice/base: fixes for GRE

 drivers/net/ice/base/ice_adminq_cmd.h    |  103 +-
 drivers/net/ice/base/ice_bitops.h        |   36 +-
 drivers/net/ice/base/ice_common.c        |  482 +++--
 drivers/net/ice/base/ice_common.h        |   18 +-
 drivers/net/ice/base/ice_controlq.c      |  247 ++-
 drivers/net/ice/base/ice_controlq.h      |    4 +-
 drivers/net/ice/base/ice_dcb.c           |   82 +-
 drivers/net/ice/base/ice_dcb.h           |   12 +-
 drivers/net/ice/base/ice_fdir.c          |   11 +-
 drivers/net/ice/base/ice_fdir.h          |    4 -
 drivers/net/ice/base/ice_flex_pipe.c     | 1198 +++++------
 drivers/net/ice/base/ice_flex_pipe.h     |   73 +-
 drivers/net/ice/base/ice_flex_type.h     |   54 +-
 drivers/net/ice/base/ice_flow.c          |  410 +++-
 drivers/net/ice/base/ice_flow.h          |   22 +-
 drivers/net/ice/base/ice_lan_tx_rx.h     |    4 +-
 drivers/net/ice/base/ice_nvm.c           |   18 +-
 drivers/net/ice/base/ice_osdep.h         |   23 +
 drivers/net/ice/base/ice_protocol_type.h |   12 +-
 drivers/net/ice/base/ice_sched.c         |  219 +-
 drivers/net/ice/base/ice_sched.h         |   24 +-
 drivers/net/ice/base/ice_switch.c        | 2498 +++++++++++++++++++++-
 drivers/net/ice/base/ice_switch.h        |   66 +-
 drivers/net/ice/base/ice_type.h          |   80 +-
 drivers/net/ice/ice_ethdev.c             |    4 +-
 25 files changed, 4303 insertions(+), 1401 deletions(-)

Comments

Zhang, Qi Z June 20, 2019, 1:55 a.m. UTC | #1
> -----Original Message-----
> From: Rong, Leyi
> Sent: Wednesday, June 19, 2019 11:18 PM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Rong, Leyi <leyi.rong@intel.com>
> Subject: [PATCH v3 00/69] shared code update
> 
> Main changes:
> 1. Advanced switch rule support.
> 2. Add more APIs for tunnel management.
> 3. Add some minor features.
> 4. Code clean and bug fix.
> 

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel with below changes

1. patch 66 and 69 fixes patch 54, so merged to patch 54
  patch 64 fixes patch 06, so merged to patch 06
  so totally 66 patch merged.
2. fix Camel title in patch 27, 39,

Thanks
Qi

> ---
> v3:
> - Drop some patches which do not used.
> - Split some patches which include irrelevant code.
> - Squash some patches which needs to be put together.
> - Add some new patches from latest shared code release.
> 
> v2:
> - Split [03/49] into 2 commits.
> - Split [27/49] with a standalone commit for code change in ice_osdep.h.
> - Split [39/48] by kind of changes.
> - Remove [42/49].
> - Add some new patches from latest shared code release.
> 
> 
> Leyi Rong (69):
>   net/ice/base: update standard extr seq to include DIR flag
>   net/ice/base: add API to configure MIB
>   net/ice/base: add another valid DCBx state
>   net/ice/base: add more recipe commands
>   net/ice/base: add funcs to create new switch recipe
>   net/ice/base: programming a new switch recipe
>   net/ice/base: replay advanced rule after reset
>   net/ice/base: code for removing advanced rule
>   net/ice/base: save and post reset replay q bandwidth
>   net/ice/base: rollback AVF RSS configurations
>   net/ice/base: move RSS replay list
>   net/ice/base: cache the data of set PHY cfg AQ in SW
>   net/ice/base: refactor HW table init function
>   net/ice/base: add lock around profile map list
>   net/ice/base: add compatibility check for package version
>   net/ice/base: add API to init FW logging
>   net/ice/base: use macro instead of magic 8
>   net/ice/base: move and redefine ice debug cq API
>   net/ice/base: separate out control queue lock creation
>   net/ice/base: added sibling head to parse nodes
>   net/ice/base: add and fix debuglogs
>   net/ice/base: forbid VSI to remove unassociated ucast filter
>   net/ice/base: update some defines
>   net/ice/base: add hweight32 support
>   net/ice/base: call out dev/func caps when printing
>   net/ice/base: set the max number of TCs per port to 4
>   net/ice/base: make FDID available for FlexDescriptor
>   net/ice/base: use a different debug bit for FW log
>   net/ice/base: always set prefena when configuring a Rx queue
>   net/ice/base: disable Tx pacing option
>   net/ice/base: delete the index for chaining other recipe
>   net/ice/base: cleanup update link info
>   net/ice/base: add rd64 support
>   net/ice/base: track HW stat registers past rollover
>   net/ice/base: implement LLDP persistent settings
>   net/ice/base: check new FD filter duplicate location
>   net/ice/base: correct UDP/TCP PTYPE assignments
>   net/ice/base: calculate rate limit burst size correctly
>   net/ice/base: fix Flow Director VSI count
>   net/ice/base: use more efficient structures
>   net/ice/base: silent semantic parser warnings
>   net/ice/base: fix for signed package download
>   net/ice/base: add new API to dealloc flow entry
>   net/ice/base: check RSS flow profile list
>   net/ice/base: protect list add with lock
>   net/ice/base: fix Rx functionality for ethertype filters
>   net/ice/base: introduce some new macros
>   net/ice/base: new marker to mark func parameters unused
>   net/ice/base: code clean up
>   net/ice/base: cleanup ice flex pipe files
>   net/ice/base: refactor VSI node sched code
>   net/ice/base: add some minor new defines
>   net/ice/base: add vxlan/generic tunnel management
>   net/ice/base: enable additional switch rules
>   net/ice/base: allow forward to Q groups in switch rule
>   net/ice/base: changes for reducing ice add adv rule time
>   net/ice/base: deduce TSA value in the CEE mode
>   net/ice/base: rework API for ice zero bitmap
>   net/ice/base: rework API for ice cp bitmap
>   net/ice/base: use ice zero bitmap instead of ice memset
>   net/ice/base: use the specified size for ice zero bitmap
>   net/ice/base: correct NVGRE header structure
>   net/ice/base: reduce calls to get profile associations
>   net/ice/base: fix for chained recipe switch ID index
>   net/ice/base: update driver unloading field
>   net/ice/base: fix for UDP and TCP related switch rules
>   net/ice/base: changes in flow and profile removal
>   net/ice/base: update Tx context struct
>   net/ice/base: fixes for GRE
> 
>  drivers/net/ice/base/ice_adminq_cmd.h    |  103 +-
>  drivers/net/ice/base/ice_bitops.h        |   36 +-
>  drivers/net/ice/base/ice_common.c        |  482 +++--
>  drivers/net/ice/base/ice_common.h        |   18 +-
>  drivers/net/ice/base/ice_controlq.c      |  247 ++-
>  drivers/net/ice/base/ice_controlq.h      |    4 +-
>  drivers/net/ice/base/ice_dcb.c           |   82 +-
>  drivers/net/ice/base/ice_dcb.h           |   12 +-
>  drivers/net/ice/base/ice_fdir.c          |   11 +-
>  drivers/net/ice/base/ice_fdir.h          |    4 -
>  drivers/net/ice/base/ice_flex_pipe.c     | 1198 +++++------
>  drivers/net/ice/base/ice_flex_pipe.h     |   73 +-
>  drivers/net/ice/base/ice_flex_type.h     |   54 +-
>  drivers/net/ice/base/ice_flow.c          |  410 +++-
>  drivers/net/ice/base/ice_flow.h          |   22 +-
>  drivers/net/ice/base/ice_lan_tx_rx.h     |    4 +-
>  drivers/net/ice/base/ice_nvm.c           |   18 +-
>  drivers/net/ice/base/ice_osdep.h         |   23 +
>  drivers/net/ice/base/ice_protocol_type.h |   12 +-
>  drivers/net/ice/base/ice_sched.c         |  219 +-
>  drivers/net/ice/base/ice_sched.h         |   24 +-
>  drivers/net/ice/base/ice_switch.c        | 2498 +++++++++++++++++++++-
>  drivers/net/ice/base/ice_switch.h        |   66 +-
>  drivers/net/ice/base/ice_type.h          |   80 +-
>  drivers/net/ice/ice_ethdev.c             |    4 +-
>  25 files changed, 4303 insertions(+), 1401 deletions(-)
> 
> --
> 2.17.1
Ferruh Yigit June 20, 2019, 8:18 p.m. UTC | #2
On 6/20/2019 2:55 AM, Zhang, Qi Z wrote:
> 
> 
>> -----Original Message-----
>> From: Rong, Leyi
>> Sent: Wednesday, June 19, 2019 11:18 PM
>> To: Zhang, Qi Z <qi.z.zhang@intel.com>
>> Cc: dev@dpdk.org; Rong, Leyi <leyi.rong@intel.com>
>> Subject: [PATCH v3 00/69] shared code update
>>
>> Main changes:
>> 1. Advanced switch rule support.
>> 2. Add more APIs for tunnel management.
>> 3. Add some minor features.
>> 4. Code clean and bug fix.
>>
> 
> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> 
> Applied to dpdk-next-net-intel with below changes
> 
> 1. patch 66 and 69 fixes patch 54, so merged to patch 54
>   patch 64 fixes patch 06, so merged to patch 06
>   so totally 66 patch merged.
> 2. fix Camel title in patch 27, 39,
> 
> Thanks
> Qi

There is a 32 bits build error, can you please check?



In file included from .../dpdk/drivers/net/ice/base/ice_flow.c:6:
.../dpdk/drivers/net/ice/base/ice_flow.c: In function ‘ice_flow_find_entry’:
.../dpdk/drivers/net/ice/base/ice_flow.h:239:33: error: cast from pointer to
integer of different size [-Werror=pointer-to-int-cast]
  239 | #define ICE_FLOW_ENTRY_HNDL(e) ((u64)e)
      |                                 ^
.../dpdk/drivers/net/ice/base/ice_flow.c:1309:17: note: in expansion of macro
‘ICE_FLOW_ENTRY_HNDL’
 1309 |  return found ? ICE_FLOW_ENTRY_HNDL(found) : ICE_FLOW_ENTRY_HANDLE_INVAL;
      |                 ^~~~~~~~~~~~~~~~~~~
.../dpdk/drivers/net/ice/base/ice_flow.c: In function ‘ice_flow_add_entry’:
.../dpdk/drivers/net/ice/base/ice_flow.h:239:33: error: cast from pointer to
integer of different size [-Werror=pointer-to-int-cast]
  239 | #define ICE_FLOW_ENTRY_HNDL(e) ((u64)e)
      |                                 ^
.../dpdk/drivers/net/ice/base/ice_flow.c:1387:13: note: in expansion of macro
‘ICE_FLOW_ENTRY_HNDL’
 1387 |  *entry_h = ICE_FLOW_ENTRY_HNDL(e);
      |             ^~~~~~~~~~~~~~~~~~~
.../dpdk/drivers/net/ice/base/ice_flow.c: In function ‘ice_flow_rem_entry’:
.../dpdk/drivers/net/ice/base/ice_flow.h:240:32: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
  240 | #define ICE_FLOW_ENTRY_PTR(h) ((struct ice_flow_entry *)(h))
      |                                ^
.../dpdk/drivers/net/ice/base/ice_flow.c:1413:10: note: in expansion of macro
‘ICE_FLOW_ENTRY_PTR’
 1413 |  entry = ICE_FLOW_ENTRY_PTR(entry_h);
      |          ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[7]: *** [.../dpdk/mk/internal/rte.compile-pre.mk:114: ice_flow.o] Error 1
make[7]: *** Waiting for unfinished jobs....
In file included from .../dpdk/drivers/net/ice/base/ice_flex_pipe.c:8:
.../dpdk/drivers/net/ice/base/ice_flex_pipe.c: In function ‘ice_free_flow_profs’:
.../dpdk/drivers/net/ice/base/ice_flow.h:239:33: error: cast from pointer to
integer of different size [-Werror=pointer-to-int-cast]
  239 | #define ICE_FLOW_ENTRY_HNDL(e) ((u64)e)
      |                                 ^
.../dpdk/drivers/net/ice/base/ice_flex_pipe.c:3027:27: note: in expansion of
macro ‘ICE_FLOW_ENTRY_HNDL’
 3027 |    ice_flow_rem_entry(hw, ICE_FLOW_ENTRY_HNDL(e));
      |                           ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Zhang, Qi Z June 21, 2019, 1:20 a.m. UTC | #3
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Friday, June 21, 2019 4:18 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Rong, Leyi <leyi.rong@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3 00/69] shared code update
> 
> On 6/20/2019 2:55 AM, Zhang, Qi Z wrote:
> >
> >
> >> -----Original Message-----
> >> From: Rong, Leyi
> >> Sent: Wednesday, June 19, 2019 11:18 PM
> >> To: Zhang, Qi Z <qi.z.zhang@intel.com>
> >> Cc: dev@dpdk.org; Rong, Leyi <leyi.rong@intel.com>
> >> Subject: [PATCH v3 00/69] shared code update
> >>
> >> Main changes:
> >> 1. Advanced switch rule support.
> >> 2. Add more APIs for tunnel management.
> >> 3. Add some minor features.
> >> 4. Code clean and bug fix.
> >>
> >
> > Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> >
> > Applied to dpdk-next-net-intel with below changes
> >
> > 1. patch 66 and 69 fixes patch 54, so merged to patch 54
> >   patch 64 fixes patch 06, so merged to patch 06
> >   so totally 66 patch merged.
> > 2. fix Camel title in patch 27, 39,
> >
> > Thanks
> > Qi
> 
> There is a 32 bits build error, can you please check?

My bad, forgot to check 32 bits

The reason is some 32 bit fix in 19.05 does not synced, 
Minor fix on patch 40/69 and 41/69 are applied to dpdk-next-net-intel.

Thanks
Qi

> 
> 
> 
> In file included from .../dpdk/drivers/net/ice/base/ice_flow.c:6:
> .../dpdk/drivers/net/ice/base/ice_flow.c: In function ‘ice_flow_find_entry’:
> .../dpdk/drivers/net/ice/base/ice_flow.h:239:33: error: cast from pointer to
> integer of different size [-Werror=pointer-to-int-cast]
>   239 | #define ICE_FLOW_ENTRY_HNDL(e) ((u64)e)
>       |                                 ^
> .../dpdk/drivers/net/ice/base/ice_flow.c:1309:17: note: in expansion of macro
> ‘ICE_FLOW_ENTRY_HNDL’
>  1309 |  return found ? ICE_FLOW_ENTRY_HNDL(found) :
> ICE_FLOW_ENTRY_HANDLE_INVAL;
>       |                 ^~~~~~~~~~~~~~~~~~~
> .../dpdk/drivers/net/ice/base/ice_flow.c: In function ‘ice_flow_add_entry’:
> .../dpdk/drivers/net/ice/base/ice_flow.h:239:33: error: cast from pointer to
> integer of different size [-Werror=pointer-to-int-cast]
>   239 | #define ICE_FLOW_ENTRY_HNDL(e) ((u64)e)
>       |                                 ^
> .../dpdk/drivers/net/ice/base/ice_flow.c:1387:13: note: in expansion of macro
> ‘ICE_FLOW_ENTRY_HNDL’
>  1387 |  *entry_h = ICE_FLOW_ENTRY_HNDL(e);
>       |             ^~~~~~~~~~~~~~~~~~~
> .../dpdk/drivers/net/ice/base/ice_flow.c: In function ‘ice_flow_rem_entry’:
> .../dpdk/drivers/net/ice/base/ice_flow.h:240:32: error: cast to pointer from
> integer of different size [-Werror=int-to-pointer-cast]
>   240 | #define ICE_FLOW_ENTRY_PTR(h) ((struct ice_flow_entry *)(h))
>       |                                ^
> .../dpdk/drivers/net/ice/base/ice_flow.c:1413:10: note: in expansion of macro
> ‘ICE_FLOW_ENTRY_PTR’
>  1413 |  entry = ICE_FLOW_ENTRY_PTR(entry_h);
>       |          ^~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> make[7]: *** [.../dpdk/mk/internal/rte.compile-pre.mk:114: ice_flow.o] Error
> 1
> make[7]: *** Waiting for unfinished jobs....
> In file included from .../dpdk/drivers/net/ice/base/ice_flex_pipe.c:8:
> .../dpdk/drivers/net/ice/base/ice_flex_pipe.c: In function
> ‘ice_free_flow_profs’:
> .../dpdk/drivers/net/ice/base/ice_flow.h:239:33: error: cast from pointer to
> integer of different size [-Werror=pointer-to-int-cast]
>   239 | #define ICE_FLOW_ENTRY_HNDL(e) ((u64)e)
>       |                                 ^
> .../dpdk/drivers/net/ice/base/ice_flex_pipe.c:3027:27: note: in expansion of
> macro ‘ICE_FLOW_ENTRY_HNDL’
>  3027 |    ice_flow_rem_entry(hw, ICE_FLOW_ENTRY_HNDL(e));
>       |                           ^~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors