Hi Wei, > -----Original Message----- > From: Zhao1, Wei > Sent: Friday, June 2, 2017 2:36 PM > To: dev@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.zh...@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. > + } 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; > + }