Message
Leyi Rong
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
> -----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
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
> -----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