[dpdk-dev] [PATCH] net/ice: fix FDIR gtp_psc without qfi pattern issue

Zhang, Qi Z qi.z.zhang at intel.com
Mon Feb 3 03:46:11 CET 2020


Hi Xiaolong:
	Please ignore this one, since it is covered by below patch already 
	https://patches.dpdk.org/patch/65025/ 
Thanks
Qi

> -----Original Message-----
> From: Ye, Xiaolong <xiaolong.ye at intel.com>
> Sent: Sunday, February 2, 2020 4:23 PM
> To: Cao, Yahui <yahui.cao at intel.com>
> Cc: Yang, Qiming <qiming.yang at intel.com>; Lu, Wenzhuo
> <wenzhuo.lu at intel.com>; dev at dpdk.org; stable at dpdk.org; Zhang, Qi Z
> <qi.z.zhang at intel.com>
> Subject: Re: [PATCH] net/ice: fix FDIR gtp_psc without qfi pattern issue
> 
> On 01/21, Yahui Cao wrote:
> >If only gtpu teid is specified, FDIR will always match the gtpu teid no
> >matter there is gtp extension header appended or not.
> >So forbid pattern in which gtp_psc without qfi value follows gtpu with
> >teid value like:
> >pattern eth / ipv4 / udp / gtpu teid is XXX / gtp_psc / end
> >
> >Fixes: efc16c621415 ("net/ice: support flow director GTPU tunnel")
> >Cc: stable at dpdk.org
> >
> >Signed-off-by: Yahui Cao <yahui.cao at intel.com>
> >---
> > drivers/net/ice/ice_fdir_filter.c  | 12 ++++++++++++
> >drivers/net/ice/ice_generic_flow.h |  6 ++++++
> > 2 files changed, 18 insertions(+)
> >
> >diff --git a/drivers/net/ice/ice_fdir_filter.c
> >b/drivers/net/ice/ice_fdir_filter.c
> >index f356581d1..7517299fc 100644
> >--- a/drivers/net/ice/ice_fdir_filter.c
> >+++ b/drivers/net/ice/ice_fdir_filter.c
> >@@ -1894,6 +1894,18 @@ ice_fdir_parse_pattern(__rte_unused struct
> >ice_adapter *ad,
> >
> > 				filter->input.gtpu_data.qfi =
> > 					gtp_psc_spec->qfi;
> >+			} else {
> >+				/* forbid pattern like:
> >+				 * "gtpu teid is XXX / gtp_psc / end"
> >+				 */
> >+				if (ice_flow_inset_get_field(input_set,
> >+					ICE_INSET_GTPU_TEID)) {
> >+					rte_flow_error_set(error, EINVAL,
> >+						   RTE_FLOW_ERROR_TYPE_ITEM,
> >+						   item,
> >+						   "Invalid GTP mask");
> 
> Is this a correct message for the error?
> 
> Btw, this patch can't be applied cleanly on top of latest dpdk-next-net-intel,
> please help rebase and send a new version.
> 
> Thanks,
> Xiaolong
> 
> >+					return -rte_errno;
> >+				}
> > 			}
> > 			break;
> > 		default:
> >diff --git a/drivers/net/ice/ice_generic_flow.h
> >b/drivers/net/ice/ice_generic_flow.h
> >index adc30ee2a..8387b5fee 100644
> >--- a/drivers/net/ice/ice_generic_flow.h
> >+++ b/drivers/net/ice/ice_generic_flow.h
> >@@ -485,4 +485,10 @@ ice_search_pattern_match_item(const struct
> rte_flow_item pattern[],
> > 		struct ice_pattern_match_item *array,
> > 		uint32_t array_len,
> > 		struct rte_flow_error *error);
> >+
> >+static inline int
> >+ice_flow_inset_get_field(uint64_t input_set, uint64_t field) {
> >+	return (input_set & field) == field;
> >+}
> > #endif
> >--
> >2.17.1
> >


More information about the dev mailing list