[dpdk-dev] [PATCH v2 05/11] net/e1000: parse n-tuple filter

Zhao1, Wei wei.zhao1 at intel.com
Mon Jun 5 04:39:34 CEST 2017


Hi, wenzhuo

> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Monday, June 5, 2017 10:37 AM
> To: Zhao1, Wei <wei.zhao1 at intel.com>; dev at dpdk.org
> Subject: RE: [PATCH v2 05/11] net/e1000: parse n-tuple filter
> 
> Hi Wei,
> 
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Monday, June 5, 2017 9:55 AM
> > To: Lu, Wenzhuo; dev at dpdk.org
> > Subject: RE: [PATCH v2 05/11] net/e1000: parse n-tuple filter
> >
> > HI, wenzhuo
> >
> > > -----Original Message-----
> > > From: Lu, Wenzhuo
> > > Sent: Monday, June 5, 2017 9:21 AM
> > > To: Zhao1, Wei <wei.zhao1 at intel.com>; dev at dpdk.org
> > > Subject: RE: [PATCH v2 05/11] net/e1000: parse n-tuple filter
> > >
> > > Hi Wei,
> > >
> > > > -----Original Message-----
> > > > From: Zhao1, Wei
> > > > Sent: Friday, June 2, 2017 2:36 PM
> > > > To: dev at dpdk.org
> > > > Cc: Lu, Wenzhuo; Zhao1, Wei
> > > > Subject: [PATCH v2 05/11] net/e1000: parse n-tuple filter
> > > >
> > > > Add rule validate function and check if the rule is a n-tuple
> > > > rule, and get the n-tuple info.
> > > >
> > > > Signed-off-by: Wei Zhao <wei.zhao1 at intel.com>
> > > > ---
> > > >  drivers/net/e1000/Makefile       |   1 +
> > > >  drivers/net/e1000/e1000_ethdev.h |   9 +
> > > >  drivers/net/e1000/igb_ethdev.c   |  14 +-
> > > >  drivers/net/e1000/igb_flow.c     | 505
> > > > +++++++++++++++++++++++++++++++++++++++
> > > >  4 files changed, 521 insertions(+), 8 deletions(-)  create mode
> > > > 100644
> > >
> > > > +
> > > > +	if (hw->mac.type == e1000_82576) {
> > > > +		if (filter->queue >= IGB_MAX_RX_QUEUE_NUM_82576) {
> > > > +			memset(filter, 0, sizeof(struct
> > > rte_eth_ntuple_filter));
> > > > +			rte_flow_error_set(error, EINVAL,
> > > > +				RTE_FLOW_ERROR_TYPE_ITEM,
> > > > +				NULL, "queue number not "
> > > > +				"supported by ntuple filter");
> > > > +			return -rte_errno;
> > > > +		}
> > > > +		filter->flags |= RTE_5TUPLE_FLAGS;
> > > To my opinion, that the filter is 5-tuple or 2-tuple should depend
> > > on the input pattern. I don't understand why it's set based on the NIC
> type.
> >
> > This is because i350 and 82580 nic only support 2 tuple filter, But
> > 82576 support 5 tuple filter.
> > This is list in function igb_add_del_ntuple_filter().
> I mean the tuple is only related to the input.
> For example, APP can input a 5-tuple pattern, driver should know it's a 5-
> tuple. Then the driver checks the NIC type, if it's i350, driver can return
> unsupported.
> 

Ok, this request is reasonable, I will change as this requirement in v3 later.

> >
> >
> > >
> > > > +	} else {
> > > > +		if (filter->queue >= IGB_MAX_RX_QUEUE_NUM) {
> > > > +			memset(filter, 0, sizeof(struct
> > > rte_eth_ntuple_filter));
> > > > +			rte_flow_error_set(error, EINVAL,
> > > > +				RTE_FLOW_ERROR_TYPE_ITEM,
> > > > +				NULL, "queue number not "
> > > > +				"supported by ntuple filter");
> > > > +			return -rte_errno;
> > > > +		}
> > > > +		filter->flags |= RTE_2TUPLE_FLAGS;
> > > > +	}



More information about the dev mailing list