[v3] net/ice: fix item number when pattern has ETH

Message ID 1563244598-63808-1-git-send-email-wei.zhao1@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series [v3] net/ice: fix item number when pattern has ETH |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Zhao1, Wei July 16, 2019, 2:36 a.m. UTC
  When pattern has ETH, maybe it will contain
MAC and ethertype two kinds of lookup parameters,
so add more item number for memory malloc in order
to reserve one more memory slot for ETH which may
consume 2 lookup items.

Fixes: 24dc00c30907 ("net/ice: enable switch filter")
Signed-off-by: wei zhao <wei.zhao1@intel.com>
---
 drivers/net/ice/ice_switch_filter.c | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Qi Zhang July 16, 2019, 7:30 a.m. UTC | #1
> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, July 16, 2019 10:37 AM
> To: dev@dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>
> Subject: [PATCH v3] net/ice: fix item number when pattern has ETH
> 
> When pattern has ETH, maybe it will contain MAC and ethertype two kinds of
> lookup parameters, so add more item number for memory malloc in order to
> reserve one more memory slot for ETH which may consume 2 lookup items.
> 
> Fixes: 24dc00c30907 ("net/ice: enable switch filter")
> Signed-off-by: wei zhao <wei.zhao1@intel.com>

s/wei zhao/Wei Zhao

> ---

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

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/net/ice/ice_switch_filter.c b/drivers/net/ice/ice_switch_filter.c
index 5424223..b88b4f5 100644
--- a/drivers/net/ice/ice_switch_filter.c
+++ b/drivers/net/ice/ice_switch_filter.c
@@ -435,6 +435,11 @@  ice_create_switch_filter(struct ice_pf *pf,
 			tun_type = ICE_SW_TUN_VXLAN;
 		if (item->type == RTE_FLOW_ITEM_TYPE_NVGRE)
 			tun_type = ICE_SW_TUN_NVGRE;
+		/* reserve one more memory slot for ETH which may
+		 * consume 2 lookup items.
+		 */
+		if (item->type == RTE_FLOW_ITEM_TYPE_ETH)
+			item_num++;
 	}
 	rule_info.tun_type = tun_type;