From: Qi Zhang <qi.z.zhang@intel.com>
To: wenzhuo.lu@intel.com, qiming.yang@intel.com
Cc: dev@dpdk.org, xiaolong.ye@intel.com,
Qi Zhang <qi.z.zhang@intel.com>,
Vignesh Sridhar <vignesh.sridhar@intel.com>,
Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Subject: [dpdk-dev] [PATCH 45/63] net/ice/base: packet encapsulation for RSS
Date: Mon, 26 Aug 2019 18:50:47 +0800 [thread overview]
Message-ID: <20190826105105.19121-46-qi.z.zhang@intel.com> (raw)
In-Reply-To: <20190826105105.19121-1-qi.z.zhang@intel.com>
RSS configurations calls currently support only non-tunneled packets,
which uses outer-first IPs. Adding another call to configure RSS for
tunneled packets which will enable hashing on inner-last IP. RSS hash
will only be done on the innermost IP.
- Update RSS configuration calls to take packet segment count as input
argument
- Update flow profile ID to include identifier for encapsulated packet
[0:31] : Packet match fields
[32:62]: Protocol header header
[63]: Encapsulation flag, 0 if non-tunneled, 1 if tunneled
Signed-off-by: Vignesh Sridhar <vignesh.sridhar@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/ice/base/ice_flow.c | 132 ++++++++++++++++++++++++----------------
1 file changed, 80 insertions(+), 52 deletions(-)
diff --git a/drivers/net/ice/base/ice_flow.c b/drivers/net/ice/base/ice_flow.c
index 9a35a11d5..a49196c1c 100644
--- a/drivers/net/ice/base/ice_flow.c
+++ b/drivers/net/ice/base/ice_flow.c
@@ -379,16 +379,9 @@ struct ice_flow_prof_params {
static enum ice_status
ice_flow_val_hdrs(struct ice_flow_seg_info *segs, u8 segs_cnt)
{
- const u32 masks = (ICE_FLOW_SEG_HDRS_L2_MASK |
- ICE_FLOW_SEG_HDRS_L3_MASK |
- ICE_FLOW_SEG_HDRS_L4_MASK);
u8 i;
for (i = 0; i < segs_cnt; i++) {
- /* No header specified */
- if (!(segs[i].hdrs & masks) || (segs[i].hdrs & ~masks))
- return ICE_ERR_PARAM;
-
/* Multiple L3 headers */
if (segs[i].hdrs & ICE_FLOW_SEG_HDRS_L3_MASK &&
!ice_is_pow2(segs[i].hdrs & ICE_FLOW_SEG_HDRS_L3_MASK))
@@ -1866,11 +1859,22 @@ ice_add_rss_list(struct ice_hw *hw, u16 vsi_handle, struct ice_flow_prof *prof)
#define ICE_FLOW_PROF_HASH_S 0
#define ICE_FLOW_PROF_HASH_M (0xFFFFFFFFULL << ICE_FLOW_PROF_HASH_S)
#define ICE_FLOW_PROF_HDR_S 32
-#define ICE_FLOW_PROF_HDR_M (0xFFFFFFFFULL << ICE_FLOW_PROF_HDR_S)
+#define ICE_FLOW_PROF_HDR_M (0x3FFFFFFFULL << ICE_FLOW_PROF_HDR_S)
+#define ICE_FLOW_PROF_ENCAP_S 63
+#define ICE_FLOW_PROF_ENCAP_M (BIT_ULL(ICE_FLOW_PROF_ENCAP_S))
+
+#define ICE_RSS_OUTER_HEADERS 1
+#define ICE_RSS_INNER_HEADERS 2
-#define ICE_FLOW_GEN_PROFID(hash, hdr) \
+/* Flow profile ID format:
+ * [0:31] - Packet match fields
+ * [32:62] - Protocol header
+ * [63] - Encapsulation flag, 0 if non-tunneled, 1 if tunneled
+ */
+#define ICE_FLOW_GEN_PROFID(hash, hdr, segs_cnt) \
(u64)(((u64)(hash) & ICE_FLOW_PROF_HASH_M) | \
- (((u64)(hdr) << ICE_FLOW_PROF_HDR_S) & ICE_FLOW_PROF_HDR_M))
+ (((u64)(hdr) << ICE_FLOW_PROF_HDR_S) & ICE_FLOW_PROF_HDR_M) | \
+ ((u8)((segs_cnt) - 1) ? ICE_FLOW_PROF_ENCAP_M : 0))
/**
* ice_add_rss_cfg_sync - add an RSS configuration
@@ -1878,24 +1882,30 @@ ice_add_rss_list(struct ice_hw *hw, u16 vsi_handle, struct ice_flow_prof *prof)
* @vsi_handle: software VSI handle
* @hashed_flds: hash bit fields (ICE_FLOW_HASH_*) to configure
* @addl_hdrs: protocol header fields
+ * @segs_cnt: packet segment count
*
* Assumption: lock has already been acquired for RSS list
*/
static enum ice_status
ice_add_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
- u32 addl_hdrs)
+ u32 addl_hdrs, u8 segs_cnt)
{
const enum ice_block blk = ICE_BLK_RSS;
struct ice_flow_prof *prof = NULL;
struct ice_flow_seg_info *segs;
enum ice_status status = ICE_SUCCESS;
- segs = (struct ice_flow_seg_info *)ice_malloc(hw, sizeof(*segs));
+ if (!segs_cnt || segs_cnt > ICE_FLOW_SEG_MAX)
+ return ICE_ERR_PARAM;
+
+ segs = (struct ice_flow_seg_info *)ice_calloc(hw, segs_cnt,
+ sizeof(*segs));
if (!segs)
return ICE_ERR_NO_MEMORY;
/* Construct the packet segment info from the hashed fields */
- status = ice_flow_set_rss_seg_info(segs, hashed_flds, addl_hdrs);
+ status = ice_flow_set_rss_seg_info(&segs[segs_cnt - 1], hashed_flds,
+ addl_hdrs);
if (status)
goto exit;
@@ -1903,7 +1913,7 @@ ice_add_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
* and has the input VSI associated to it. If found, no further
* operations required and exit.
*/
- prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, 1,
+ prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt,
vsi_handle,
ICE_FLOW_FIND_PROF_CHK_FLDS |
ICE_FLOW_FIND_PROF_CHK_VSI);
@@ -1915,7 +1925,7 @@ ice_add_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
* this profile. The VSI will be added to a new profile created with
* the protocol header and new hash field configuration.
*/
- prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, 1,
+ prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt,
vsi_handle, ICE_FLOW_FIND_PROF_CHK_VSI);
if (prof) {
status = ice_flow_disassoc_prof(hw, blk, prof, vsi_handle);
@@ -1935,7 +1945,7 @@ ice_add_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
/* Search for a profile that has same match fields only. If this
* exists then associate the VSI to this profile.
*/
- prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, 1,
+ prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt,
vsi_handle,
ICE_FLOW_FIND_PROF_CHK_FLDS);
if (prof) {
@@ -1949,8 +1959,10 @@ ice_add_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
* segment information.
*/
status = ice_flow_add_prof(hw, blk, ICE_FLOW_RX,
- ICE_FLOW_GEN_PROFID(hashed_flds, segs->hdrs),
- segs, 1, NULL, 0, &prof);
+ ICE_FLOW_GEN_PROFID(hashed_flds,
+ segs[segs_cnt - 1].hdrs,
+ segs_cnt),
+ segs, segs_cnt, NULL, 0, &prof);
if (status)
goto exit;
@@ -1992,7 +2004,11 @@ ice_add_rss_cfg(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
return ICE_ERR_PARAM;
ice_acquire_lock(&hw->rss_locks);
- status = ice_add_rss_cfg_sync(hw, vsi_handle, hashed_flds, addl_hdrs);
+ status = ice_add_rss_cfg_sync(hw, vsi_handle, hashed_flds, addl_hdrs,
+ ICE_RSS_OUTER_HEADERS);
+ if (!status)
+ status = ice_add_rss_cfg_sync(hw, vsi_handle, hashed_flds,
+ addl_hdrs, ICE_RSS_INNER_HEADERS);
ice_release_lock(&hw->rss_locks);
return status;
@@ -2004,12 +2020,13 @@ ice_add_rss_cfg(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
* @vsi_handle: software VSI handle
* @hashed_flds: Packet hash types (ICE_FLOW_HASH_*) to remove
* @addl_hdrs: Protocol header fields within a packet segment
+ * @segs_cnt: packet segment count
*
* Assumption: lock has already been acquired for RSS list
*/
static enum ice_status
ice_rem_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
- u32 addl_hdrs)
+ u32 addl_hdrs, u8 segs_cnt)
{
const enum ice_block blk = ICE_BLK_RSS;
struct ice_flow_seg_info *segs;
@@ -2025,7 +2042,7 @@ ice_rem_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
if (status)
goto out;
- prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, 1,
+ prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt,
vsi_handle,
ICE_FLOW_FIND_PROF_CHK_FLDS);
if (!prof) {
@@ -2050,6 +2067,40 @@ ice_rem_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
return status;
}
+/**
+ * ice_rem_rss_cfg - remove an existing RSS config with matching hashed fields
+ * @hw: pointer to the hardware structure
+ * @vsi_handle: software VSI handle
+ * @hashed_flds: Packet hash types (ICE_FLOW_HASH_*) to remove
+ * @addl_hdrs: Protocol header fields within a packet segment
+ *
+ * This function will lookup the flow profile based on the input
+ * hash field bitmap, iterate through the profile entry list of
+ * that profile and find entry associated with input VSI to be
+ * removed. Calls are made to underlying flow apis which will in
+ * turn build or update buffers for RSS XLT1 section.
+ */
+enum ice_status
+ice_rem_rss_cfg(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
+ u32 addl_hdrs)
+{
+ enum ice_status status;
+
+ if (hashed_flds == ICE_HASH_INVALID ||
+ !ice_is_vsi_valid(hw, vsi_handle))
+ return ICE_ERR_PARAM;
+
+ ice_acquire_lock(&hw->rss_locks);
+ status = ice_rem_rss_cfg_sync(hw, vsi_handle, hashed_flds, addl_hdrs,
+ ICE_RSS_OUTER_HEADERS);
+ if (!status)
+ status = ice_rem_rss_cfg_sync(hw, vsi_handle, hashed_flds,
+ addl_hdrs, ICE_RSS_INNER_HEADERS);
+ ice_release_lock(&hw->rss_locks);
+
+ return status;
+}
+
/* Mapping of AVF hash bit fields to an L3-L4 hash combination.
* As the ice_flow_avf_hdr_field represent individual bit shifts in a hash,
* convert its values to their appropriate flow L3, L4 values.
@@ -2179,36 +2230,6 @@ ice_add_avf_rss_cfg(struct ice_hw *hw, u16 vsi_handle, u64 avf_hash)
}
/**
- * ice_rem_rss_cfg - remove an existing RSS config with matching hashed fields
- * @hw: pointer to the hardware structure
- * @vsi_handle: software VSI handle
- * @hashed_flds: Packet hash types (ICE_FLOW_HASH_*) to remove
- * @addl_hdrs: Protocol header fields within a packet segment
- *
- * This function will lookup the flow profile based on the input
- * hash field bitmap, iterate through the profile entry list of
- * that profile and find entry associated with input VSI to be
- * removed. Calls are made to underlying flow apis which will in
- * turn build or update buffers for RSS XLT1 section.
- */
-enum ice_status
-ice_rem_rss_cfg(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
- u32 addl_hdrs)
-{
- enum ice_status status;
-
- if (hashed_flds == ICE_HASH_INVALID ||
- !ice_is_vsi_valid(hw, vsi_handle))
- return ICE_ERR_PARAM;
-
- ice_acquire_lock(&hw->rss_locks);
- status = ice_rem_rss_cfg_sync(hw, vsi_handle, hashed_flds, addl_hdrs);
- ice_release_lock(&hw->rss_locks);
-
- return status;
-}
-
-/**
* ice_replay_rss_cfg - replay RSS configurations associated with VSI
* @hw: pointer to the hardware structure
* @vsi_handle: software VSI handle
@@ -2227,7 +2248,14 @@ enum ice_status ice_replay_rss_cfg(struct ice_hw *hw, u16 vsi_handle)
if (ice_is_bit_set(r->vsis, vsi_handle)) {
status = ice_add_rss_cfg_sync(hw, vsi_handle,
r->hashed_flds,
- r->packet_hdr);
+ r->packet_hdr,
+ ICE_RSS_OUTER_HEADERS);
+ if (status)
+ break;
+ status = ice_add_rss_cfg_sync(hw, vsi_handle,
+ r->hashed_flds,
+ r->packet_hdr,
+ ICE_RSS_INNER_HEADERS);
if (status)
break;
}
--
2.13.6
next prev parent reply other threads:[~2019-08-26 10:55 UTC|newest]
Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-26 10:50 [dpdk-dev] [PATCH 00/63] net/ice/base: update base code Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 01/63] net/ice/base: enhance NVM read Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 02/63] net/ice/base: add function to get FW mode Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 03/63] net/ice/base: add support for NVM rollback detection Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 04/63] net/ice/base: add support to init RXDID descs fields Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 05/63] net/ice/base: store number of functions for the device Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 06/63] net/ice/base: add read PBA module function Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 07/63] net/ice/base: correct argument port info Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 08/63] net/ice/base: remove debug code Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 09/63] net/ice/base: add SFF EEPROM AQ Command Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 10/63] net/ice/base: improve debug print message Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 11/63] net/ice/base: add capabilities when in safe mode Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 12/63] net/ice/base: add helper functions for PHY caching Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 13/63] net/ice/base: add support for reading REPC statistics Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 14/63] net/ice/base: adjust DCB INIT for SW mode Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 15/63] net/ice/base: add NVM pkg flag Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 16/63] net/ice/base: move VSI to VSI group Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 17/63] net/ice/base: enable masking for RSS and FD field vectors Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 18/63] net/ice/base: resolve static analysis issues Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 19/63] net/ice/base: fix memory leak issue Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 20/63] net/ice/base: check root pointer for validity Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 21/63] net/ice/base: fix type-mismatch Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 22/63] net/ice/base: correct overrun Coverty hit Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 23/63] net/ice/base: update Boot Configuration Section read of NVM Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 24/63] net/ice/base: add support for NVM access commands Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 25/63] net/ice/base: add support for GTP and PPPoE protocols Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 26/63] net/ice/base: add locks for flow functions Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 27/63] net/ice/base: improve switch advanced rule Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 28/63] net/ice/base: move function declaration Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 29/63] net/ice/base: add 16-byte Flex Rx Descriptor Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 30/63] net/ice/base: add 32-byte Flex Rx Desc for Comms package Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 31/63] net/ice/base: update flag bits to current specification Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 32/63] net/ice/base: add more opcode and macros Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 33/63] net/ice/base: set status when global cfg lock is unavailable Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 34/63] net/ice/base: initialize driver NVM data earlier Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 35/63] net/ice/base: add function to configure Tx AQ command Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 36/63] net/ice/base: add support for not locking sideband queue Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 37/63] net/ice/base: associate recipes by profile type Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 38/63] net/ice/base: return switch error on invalid match criteria Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 39/63] net/ice/base: update UDP tunnel switch training packets Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 40/63] net/ice/base: improve switch chained recipe Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 41/63] net/ice/base: move and add some help function and macros Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 42/63] net/ice/base: add routine for tunnel port query Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 43/63] net/ice/base: ptype group consolidation Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 44/63] net/ice/base: fix for RSS hash on inner UDP port Qi Zhang
2019-08-26 10:50 ` Qi Zhang [this message]
2019-08-26 10:50 ` [dpdk-dev] [PATCH 46/63] net/ice/base: add RSS support for PPPoE and GTPU Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 47/63] net/ice/base: remove unnecessary conditional check Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 48/63] net/ice/base: fix flag settings in AQ call Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 49/63] net/ice/base: refactor removal of VLAN promiscuous rules Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 50/63] net/ice/base: maximize switch recipe words per line Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 51/63] net/ice/base: update switch training packets with open ports Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 52/63] net/ice/base: remove unnecessary dummy packet finding Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 53/63] net/ice/base: remove unnecessary if branch Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 54/63] net/ice/base: correct abbreviations Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 55/63] net/ice/base: update to register definition file Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 56/63] net/ice/base: replace open-code duplication Qi Zhang
2019-08-26 10:50 ` [dpdk-dev] [PATCH 57/63] net/ice/base: delay less Qi Zhang
2019-08-26 10:51 ` [dpdk-dev] [PATCH 58/63] net/ice/base: add AQC get link topology handle support Qi Zhang
2019-08-26 10:51 ` [dpdk-dev] [PATCH 59/63] net/ice/base: remove Rx flex descriptor programming Qi Zhang
2019-08-26 10:51 ` [dpdk-dev] [PATCH 60/63] net/ice/base: enable RSS with ether layer for PPPoE Qi Zhang
2019-08-26 10:51 ` [dpdk-dev] [PATCH 61/63] net/ice/base: add GENEVE offset Qi Zhang
2019-08-26 17:53 ` Dziggel, Douglas A
2019-08-26 10:51 ` [dpdk-dev] [PATCH 62/63] net/ice/base: update profile to recipe bitmap array Qi Zhang
2019-08-26 10:51 ` [dpdk-dev] [PATCH 63/63] net/ice/base: ignore inverse switch recipes Qi Zhang
2019-08-29 2:35 ` [dpdk-dev] [PATCH 00/63 v2] net/ice/base: update base code Qi Zhang
2019-08-29 2:35 ` [dpdk-dev] [PATCH v2 01/63] net/ice/base: enhance NVM read Qi Zhang
2019-08-29 2:35 ` [dpdk-dev] [PATCH v2 02/63] net/ice/base: add function to get FW mode Qi Zhang
2019-08-29 2:35 ` [dpdk-dev] [PATCH v2 03/63] net/ice/base: add support for NVM rollback detection Qi Zhang
2019-08-29 2:35 ` [dpdk-dev] [PATCH v2 04/63] net/ice/base: add support to init RXDID descs fields Qi Zhang
2019-08-29 2:35 ` [dpdk-dev] [PATCH v2 05/63] net/ice/base: store number of functions for the device Qi Zhang
2019-08-29 2:35 ` [dpdk-dev] [PATCH v2 06/63] net/ice/base: add read PBA module function Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 07/63] net/ice/base: correct argument port info Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 08/63] net/ice/base: remove debug code Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 09/63] net/ice/base: add SFF EEPROM AQ Command Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 10/63] net/ice/base: improve debug print message Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 11/63] net/ice/base: add capabilities when in safe mode Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 12/63] net/ice/base: add helper functions for PHY caching Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 13/63] net/ice/base: add support for reading REPC statistics Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 14/63] net/ice/base: adjust DCB INIT for SW mode Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 15/63] net/ice/base: add NVM pkg flag Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 16/63] net/ice/base: move VSI to VSI group Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 17/63] net/ice/base: enable masking for RSS and FD field vectors Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 18/63] net/ice/base: resolve static analysis issues Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 19/63] net/ice/base: fix memory leak issue Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 20/63] net/ice/base: check root pointer for validity Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 21/63] net/ice/base: fix type-mismatch Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 22/63] net/ice/base: correct overrun Coverty hit Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 23/63] net/ice/base: update Boot Configuration Section read of NVM Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 24/63] net/ice/base: add support for NVM access commands Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 25/63] net/ice/base: add support for GTP and PPPoE protocols Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 26/63] net/ice/base: add locks for flow functions Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 27/63] net/ice/base: improve switch advanced rule Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 28/63] net/ice/base: move function declaration Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 29/63] net/ice/base: add 16-byte Flex Rx Descriptor Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 30/63] net/ice/base: add 32-byte Flex Rx Desc Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 31/63] net/ice/base: update flag bits Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 32/63] net/ice/base: add more opcode and macros Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 33/63] net/ice/base: set status when global cfg lock is unavailable Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 34/63] net/ice/base: initialize driver NVM data earlier Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 35/63] net/ice/base: add function to configure Tx AQ command Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 36/63] net/ice/base: add support for not locking sideband queue Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 37/63] net/ice/base: associate recipes by profile type Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 38/63] net/ice/base: return switch error on invalid match criteria Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 39/63] net/ice/base: update UDP tunnel switch training packets Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 40/63] net/ice/base: improve switch chained recipe Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 41/63] net/ice/base: move and add some help function and macros Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 42/63] net/ice/base: add routine for tunnel port query Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 43/63] net/ice/base: ptype group consolidation Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 44/63] net/ice/base: fix for RSS hash on inner UDP port Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 45/63] net/ice/base: packet encapsulation for RSS Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 46/63] net/ice/base: add RSS support for PPPoE and GTPU Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 47/63] net/ice/base: remove unnecessary conditional check Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 48/63] net/ice/base: fix flag settings in AQ call Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 49/63] net/ice/base: refactor removal of VLAN promiscuous rules Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 50/63] net/ice/base: maximize switch recipe words per line Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 51/63] net/ice/base: update switch training packets with open ports Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 52/63] net/ice/base: remove unnecessary dummy packet finding Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 53/63] net/ice/base: remove unnecessary if branch Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 54/63] net/ice/base: correct abbreviations Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 55/63] net/ice/base: update to register definition file Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 56/63] net/ice/base: replace open-code duplication Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 57/63] net/ice/base: delay less Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 58/63] net/ice/base: add AQC get link topology handle support Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 59/63] net/ice/base: remove Rx flex descriptor programming Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 60/63] net/ice/base: enable RSS with ether layer for PPPoE Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 61/63] net/ice/base: add GENEVE offset Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 62/63] net/ice/base: update profile to recipe bitmap array Qi Zhang
2019-08-29 2:36 ` [dpdk-dev] [PATCH v2 63/63] net/ice/base: ignore inverse switch recipes Qi Zhang
2019-08-30 9:44 ` [dpdk-dev] [PATCH 00/63 v2] net/ice/base: update base code Ye Xiaolong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190826105105.19121-46-qi.z.zhang@intel.com \
--to=qi.z.zhang@intel.com \
--cc=dev@dpdk.org \
--cc=paul.m.stillwell.jr@intel.com \
--cc=qiming.yang@intel.com \
--cc=vignesh.sridhar@intel.com \
--cc=wenzhuo.lu@intel.com \
--cc=xiaolong.ye@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).