* [dpdk-dev] [PATCH 0/3] fix i40e bug for flow filter @ 2020-04-27 7:14 Wei Zhao 2020-04-27 7:14 ` [dpdk-dev] [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter Wei Zhao ` (3 more replies) 0 siblings, 4 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-27 7:14 UTC (permalink / raw) To: dev; +Cc: beilei.xing, maxime.leroy fix i40e bug for flow filter and add comment in doc. Wei Zhao (3): net/i40e: remove ARP type check for FDIR filter doc: input set requirement of each pctype for FDIR net/i40e: remove teardown when flush FDIR filter doc/guides/nics/i40e.rst | 7 +++++++ drivers/net/i40e/i40e_flow.c | 5 ----- 2 files changed, 7 insertions(+), 5 deletions(-) -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter 2020-04-27 7:14 [dpdk-dev] [PATCH 0/3] fix i40e bug for flow filter Wei Zhao @ 2020-04-27 7:14 ` Wei Zhao 2020-04-28 1:20 ` Xing, Beilei 2020-04-27 7:14 ` [dpdk-dev] [PATCH 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao ` (2 subsequent siblings) 3 siblings, 1 reply; 32+ messages in thread From: Wei Zhao @ 2020-04-27 7:14 UTC (permalink / raw) To: dev; +Cc: beilei.xing, maxime.leroy, stable, Wei Zhao I have try to enable ARP ethertype for FDIR filter, it work well for ARP for FDIR filter, so delete it. Bugzilla ID: 402 Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- drivers/net/i40e/i40e_flow.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 7e64ae53a..1533d5abb 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, if (next_type == RTE_FLOW_ITEM_TYPE_VLAN || ether_type == RTE_ETHER_TYPE_IPV4 || ether_type == RTE_ETHER_TYPE_IPV6 || - ether_type == RTE_ETHER_TYPE_ARP || ether_type == outer_tpid) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, if (ether_type == RTE_ETHER_TYPE_IPV4 || ether_type == RTE_ETHER_TYPE_IPV6 || - ether_type == RTE_ETHER_TYPE_ARP || ether_type == outer_tpid) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter 2020-04-27 7:14 ` [dpdk-dev] [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter Wei Zhao @ 2020-04-28 1:20 ` Xing, Beilei 2020-04-28 5:39 ` Zhao1, Wei 0 siblings, 1 reply; 32+ messages in thread From: Xing, Beilei @ 2020-04-28 1:20 UTC (permalink / raw) To: Zhao1, Wei, dev; +Cc: maxime.leroy, stable > -----Original Message----- > From: Zhao1, Wei <wei.zhao1@intel.com> > Sent: Monday, April 27, 2020 3:15 PM > To: dev@dpdk.org > Cc: Xing, Beilei <beilei.xing@intel.com>; maxime.leroy@6wind.com; > stable@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com> > Subject: [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter > > I have try to enable ARP ethertype for FDIR filter, it work well for ARP for > FDIR filter, so delete it. Could you rework the commit log by describing the problem and the root cause? And the title maybe 'fix FDIR issue for ARP packets' I guess the root cause is: if the ether_type is RTE_ETHER_TYPE_ARP, the PCTYPE parsed during pipeline is I40E_FILTER_PCTYPE_L2_PAYLOAD. Please double check. > > Bugzilla ID: 402 > Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") > Cc: stable@dpdk.org > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > --- > drivers/net/i40e/i40e_flow.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index > 7e64ae53a..1533d5abb 100644 > --- a/drivers/net/i40e/i40e_flow.c > +++ b/drivers/net/i40e/i40e_flow.c > @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev > *dev, > if (next_type == > RTE_FLOW_ITEM_TYPE_VLAN || > ether_type == RTE_ETHER_TYPE_IPV4 || > ether_type == RTE_ETHER_TYPE_IPV6 || > - ether_type == RTE_ETHER_TYPE_ARP || > ether_type == outer_tpid) { > rte_flow_error_set(error, EINVAL, > > RTE_FLOW_ERROR_TYPE_ITEM, > @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev > *dev, > > if (ether_type == RTE_ETHER_TYPE_IPV4 || > ether_type == RTE_ETHER_TYPE_IPV6 || > - ether_type == RTE_ETHER_TYPE_ARP || > ether_type == outer_tpid) { > rte_flow_error_set(error, EINVAL, > > RTE_FLOW_ERROR_TYPE_ITEM, > -- > 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter 2020-04-28 1:20 ` Xing, Beilei @ 2020-04-28 5:39 ` Zhao1, Wei 0 siblings, 0 replies; 32+ messages in thread From: Zhao1, Wei @ 2020-04-28 5:39 UTC (permalink / raw) To: Xing, Beilei, dev; +Cc: maxime.leroy, stable > -----Original Message----- > From: Xing, Beilei <beilei.xing@intel.com> > Sent: Tuesday, April 28, 2020 9:21 AM > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > Cc: maxime.leroy@6wind.com; stable@dpdk.org > Subject: RE: [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter > > > > > -----Original Message----- > > From: Zhao1, Wei <wei.zhao1@intel.com> > > Sent: Monday, April 27, 2020 3:15 PM > > To: dev@dpdk.org > > Cc: Xing, Beilei <beilei.xing@intel.com>; maxime.leroy@6wind.com; > > stable@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com> > > Subject: [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter > > > > I have try to enable ARP ethertype for FDIR filter, it work well for > > ARP for FDIR filter, so delete it. > > Could you rework the commit log by describing the problem and the root cause? > And the title maybe 'fix FDIR issue for ARP packets' > I guess the root cause is: if the ether_type is RTE_ETHER_TYPE_ARP, the > PCTYPE parsed during pipeline is I40E_FILTER_PCTYPE_L2_PAYLOAD. Please > double check. After check, this patch can enable FDIR with pctype I40E_FILTER_PCTYPE_L2_PAYLOAD for ARP packet. Comment will be update. > > > > > Bugzilla ID: 402 > > Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") > > Cc: stable@dpdk.org > > > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > > --- > > drivers/net/i40e/i40e_flow.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/net/i40e/i40e_flow.c > > b/drivers/net/i40e/i40e_flow.c index 7e64ae53a..1533d5abb 100644 > > --- a/drivers/net/i40e/i40e_flow.c > > +++ b/drivers/net/i40e/i40e_flow.c > > @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev > > *dev, > > if (next_type == > > RTE_FLOW_ITEM_TYPE_VLAN || > > ether_type == RTE_ETHER_TYPE_IPV4 || > > ether_type == RTE_ETHER_TYPE_IPV6 || > > - ether_type == RTE_ETHER_TYPE_ARP || > > ether_type == outer_tpid) { > > rte_flow_error_set(error, EINVAL, > > > > RTE_FLOW_ERROR_TYPE_ITEM, > > @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev > > *dev, > > > > if (ether_type == RTE_ETHER_TYPE_IPV4 || > > ether_type == RTE_ETHER_TYPE_IPV6 || > > - ether_type == RTE_ETHER_TYPE_ARP || > > ether_type == outer_tpid) { > > rte_flow_error_set(error, EINVAL, > > > > RTE_FLOW_ERROR_TYPE_ITEM, > > -- > > 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH 2/3] doc: input set requirement of each pctype for FDIR 2020-04-27 7:14 [dpdk-dev] [PATCH 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-27 7:14 ` [dpdk-dev] [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter Wei Zhao @ 2020-04-27 7:14 ` Wei Zhao 2020-04-27 7:15 ` [dpdk-dev] [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 0/3] fix i40e bug for flow filter Wei Zhao 3 siblings, 0 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-27 7:14 UTC (permalink / raw) To: dev; +Cc: beilei.xing, maxime.leroy, Wei Zhao Add input set requirement info to i40e doc. Bugzilla ID: 403 Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- doc/guides/nics/i40e.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index 416b3904e..ad5f51c38 100644 --- a/doc/guides/nics/i40e.rst +++ b/doc/guides/nics/i40e.rst @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e PMD supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size can provide helps to high performance of small packets. Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in config files can be changed to use 16 bytes size RX descriptors. +input set requirement of each pctype for FDIR +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Each pctype packet can only have one specific input set for FDIR, for example if you download 2 rte_flow rules of different input set for one specific pctype, +it is will fail and return the info "Conflict with the first rule's input set", that means the first type of input set conflict with the current one, +this limitaition is required by hardware. + Example of getting best performance with l3fwd example ------------------------------------------------------ -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter 2020-04-27 7:14 [dpdk-dev] [PATCH 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-27 7:14 ` [dpdk-dev] [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter Wei Zhao 2020-04-27 7:14 ` [dpdk-dev] [PATCH 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao @ 2020-04-27 7:15 ` Wei Zhao 2020-04-28 1:13 ` Xing, Beilei 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 0/3] fix i40e bug for flow filter Wei Zhao 3 siblings, 1 reply; 32+ messages in thread From: Wei Zhao @ 2020-04-27 7:15 UTC (permalink / raw) To: dev; +Cc: beilei.xing, maxime.leroy, stable, Wei Zhao When we flush FDIR filter, we can not call i40e_fdir_teardown() function as it will free vsi used for FDIR, then the vsi->base_queue will be freed from pf->qp_pool, but vsi->base_queue can only get once when do dev init in i40e_pf_setup(). If we free it, it will never be alloc again. Bugzilla ID: 404 Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- drivers/net/i40e/i40e_flow.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 1533d5abb..65f877866 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, /* If the last flow is destroyed, disable fdir. */ if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { - i40e_fdir_teardown(pf); i40e_fdir_rx_proc_enable(dev, 0); } break; @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) pf->fdir.inset_flag[pctype] = 0; } - i40e_fdir_teardown(pf); - return ret; } -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter 2020-04-27 7:15 ` [dpdk-dev] [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao @ 2020-04-28 1:13 ` Xing, Beilei 2020-04-28 1:18 ` Zhao1, Wei 0 siblings, 1 reply; 32+ messages in thread From: Xing, Beilei @ 2020-04-28 1:13 UTC (permalink / raw) To: Zhao1, Wei, dev; +Cc: maxime.leroy, stable > -----Original Message----- > From: Zhao1, Wei <wei.zhao1@intel.com> > Sent: Monday, April 27, 2020 3:15 PM > To: dev@dpdk.org > Cc: Xing, Beilei <beilei.xing@intel.com>; maxime.leroy@6wind.com; > stable@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com> > Subject: [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter > > When we flush FDIR filter, we can not call i40e_fdir_teardown() function as it > will free vsi used for FDIR, then the vsi->base_queue will be freed from pf- > >qp_pool, but vsi->base_queue can only get once when do dev init in > i40e_pf_setup(). If we free it, it will never be alloc again. Then we should teardown fdir in dev_uninit, right? > > Bugzilla ID: 404 > Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") > Cc: stable@dpdk.org > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > --- > drivers/net/i40e/i40e_flow.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index > 1533d5abb..65f877866 100644 > --- a/drivers/net/i40e/i40e_flow.c > +++ b/drivers/net/i40e/i40e_flow.c > @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, > > /* If the last flow is destroyed, disable fdir. */ > if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { > - i40e_fdir_teardown(pf); > i40e_fdir_rx_proc_enable(dev, 0); > } > break; > @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) > pf->fdir.inset_flag[pctype] = 0; > } > > - i40e_fdir_teardown(pf); > - > return ret; > } > > -- > 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter 2020-04-28 1:13 ` Xing, Beilei @ 2020-04-28 1:18 ` Zhao1, Wei 0 siblings, 0 replies; 32+ messages in thread From: Zhao1, Wei @ 2020-04-28 1:18 UTC (permalink / raw) To: Xing, Beilei, dev; +Cc: maxime.leroy, stable > -----Original Message----- > From: Xing, Beilei <beilei.xing@intel.com> > Sent: Tuesday, April 28, 2020 9:13 AM > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > Cc: maxime.leroy@6wind.com; stable@dpdk.org > Subject: RE: [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter > > > > > -----Original Message----- > > From: Zhao1, Wei <wei.zhao1@intel.com> > > Sent: Monday, April 27, 2020 3:15 PM > > To: dev@dpdk.org > > Cc: Xing, Beilei <beilei.xing@intel.com>; maxime.leroy@6wind.com; > > stable@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com> > > Subject: [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter > > > > When we flush FDIR filter, we can not call i40e_fdir_teardown() > > function as it will free vsi used for FDIR, then the vsi->base_queue > > will be freed from pf- > > >qp_pool, but vsi->base_queue can only get once when do dev init in > > i40e_pf_setup(). If we free it, it will never be alloc again. > > Then we should teardown fdir in dev_uninit, right? Yes, dev_close has call teardown function. > > > > > Bugzilla ID: 404 > > Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") > > Cc: stable@dpdk.org > > > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > > --- > > drivers/net/i40e/i40e_flow.c | 3 --- > > 1 file changed, 3 deletions(-) > > > > diff --git a/drivers/net/i40e/i40e_flow.c > > b/drivers/net/i40e/i40e_flow.c index > > 1533d5abb..65f877866 100644 > > --- a/drivers/net/i40e/i40e_flow.c > > +++ b/drivers/net/i40e/i40e_flow.c > > @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, > > > > /* If the last flow is destroyed, disable fdir. */ > > if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { > > - i40e_fdir_teardown(pf); > > i40e_fdir_rx_proc_enable(dev, 0); > > } > > break; > > @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) > > pf->fdir.inset_flag[pctype] = 0; > > } > > > > - i40e_fdir_teardown(pf); > > - > > return ret; > > } > > > > -- > > 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v2 0/3] fix i40e bug for flow filter 2020-04-27 7:14 [dpdk-dev] [PATCH 0/3] fix i40e bug for flow filter Wei Zhao ` (2 preceding siblings ...) 2020-04-27 7:15 ` [dpdk-dev] [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao @ 2020-04-28 5:48 ` Wei Zhao 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao ` (3 more replies) 3 siblings, 4 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-28 5:48 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy fix i40e bug for flow filter and add comment in doc. v2: add more comment in git log. Wei Zhao (3): net/i40e: fix FDIR issue for ARP packets doc: input set requirement of each pctype for FDIR net/i40e: remove teardown when flush FDIR filter doc/guides/nics/i40e.rst | 7 +++++++ drivers/net/i40e/i40e_flow.c | 5 ----- 2 files changed, 7 insertions(+), 5 deletions(-) -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 0/3] fix i40e bug for flow filter Wei Zhao @ 2020-04-28 5:48 ` Wei Zhao 2020-04-28 7:38 ` Xing, Beilei 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao ` (2 subsequent siblings) 3 siblings, 1 reply; 32+ messages in thread From: Wei Zhao @ 2020-04-28 5:48 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao This patch can enable FDIR awith ethertype as input set for ARP packet, it will associate this rule, "flow create 0 ingress pattern eth type is 0x0806 / end actions mark id 0x86 / rss / end", with pctype I40E_FILTER_PCTYPE_L2_PAYLOAD for ARP packet rule. I have tried to enable ARP ethertype for FDIR filter, it work well for ARP for FDIR filter, so delete the check. Bugzilla ID: 402 Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- drivers/net/i40e/i40e_flow.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 7e64ae53a..1533d5abb 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, if (next_type == RTE_FLOW_ITEM_TYPE_VLAN || ether_type == RTE_ETHER_TYPE_IPV4 || ether_type == RTE_ETHER_TYPE_IPV6 || - ether_type == RTE_ETHER_TYPE_ARP || ether_type == outer_tpid) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, if (ether_type == RTE_ETHER_TYPE_IPV4 || ether_type == RTE_ETHER_TYPE_IPV6 || - ether_type == RTE_ETHER_TYPE_ARP || ether_type == outer_tpid) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao @ 2020-04-28 7:38 ` Xing, Beilei 2020-04-28 7:46 ` Zhao1, Wei 0 siblings, 1 reply; 32+ messages in thread From: Xing, Beilei @ 2020-04-28 7:38 UTC (permalink / raw) To: Zhao1, Wei, dev; +Cc: stable, maxime.leroy > -----Original Message----- > From: Zhao1, Wei <wei.zhao1@intel.com> > Sent: Tuesday, April 28, 2020 1:48 PM > To: dev@dpdk.org > Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > maxime.leroy@6wind.com; Zhao1, Wei <wei.zhao1@intel.com> > Subject: [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets > > This patch can enable FDIR awith ethertype as input set for ARP packet, it will > associate this rule, "flow create 0 ingress pattern eth type is 0x0806 / end > actions mark id 0x86 / rss / end", with pctype > I40E_FILTER_PCTYPE_L2_PAYLOAD for ARP packet rule. > I have tried to enable ARP ethertype for FDIR filter, it work well for ARP for > FDIR filter, so delete the check. How about 'Currently, flow "pattern eth type is 0x0806 / end actions mark id 0x86 / rss / end" can't be created successfully. FDIR parser shouldn't deny RTE_ETHER_TYPE_ARP since ARP packets will be parsed as PCTYPE_L2_PAYLOAD. This patch fixes the issue.' ? > > Bugzilla ID: 402 > Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") > Cc: stable@dpdk.org > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > --- > drivers/net/i40e/i40e_flow.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index > 7e64ae53a..1533d5abb 100644 > --- a/drivers/net/i40e/i40e_flow.c > +++ b/drivers/net/i40e/i40e_flow.c > @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev > *dev, > if (next_type == > RTE_FLOW_ITEM_TYPE_VLAN || > ether_type == RTE_ETHER_TYPE_IPV4 || > ether_type == RTE_ETHER_TYPE_IPV6 || > - ether_type == RTE_ETHER_TYPE_ARP || > ether_type == outer_tpid) { > rte_flow_error_set(error, EINVAL, > > RTE_FLOW_ERROR_TYPE_ITEM, > @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev > *dev, > > if (ether_type == RTE_ETHER_TYPE_IPV4 || > ether_type == RTE_ETHER_TYPE_IPV6 || > - ether_type == RTE_ETHER_TYPE_ARP || > ether_type == outer_tpid) { > rte_flow_error_set(error, EINVAL, > > RTE_FLOW_ERROR_TYPE_ITEM, > -- > 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets 2020-04-28 7:38 ` Xing, Beilei @ 2020-04-28 7:46 ` Zhao1, Wei 0 siblings, 0 replies; 32+ messages in thread From: Zhao1, Wei @ 2020-04-28 7:46 UTC (permalink / raw) To: Xing, Beilei, dev; +Cc: stable, maxime.leroy > -----Original Message----- > From: Xing, Beilei <beilei.xing@intel.com> > Sent: Tuesday, April 28, 2020 3:38 PM > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > Cc: stable@dpdk.org; maxime.leroy@6wind.com > Subject: RE: [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets > > > > > -----Original Message----- > > From: Zhao1, Wei <wei.zhao1@intel.com> > > Sent: Tuesday, April 28, 2020 1:48 PM > > To: dev@dpdk.org > > Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > > maxime.leroy@6wind.com; Zhao1, Wei <wei.zhao1@intel.com> > > Subject: [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets > > > > This patch can enable FDIR awith ethertype as input set for ARP > > packet, it will associate this rule, "flow create 0 ingress pattern > > eth type is 0x0806 / end actions mark id 0x86 / rss / end", with > > pctype I40E_FILTER_PCTYPE_L2_PAYLOAD for ARP packet rule. > > I have tried to enable ARP ethertype for FDIR filter, it work well for > > ARP for FDIR filter, so delete the check. > > How about > 'Currently, flow "pattern eth type is 0x0806 / end actions mark id 0x86 / rss / > end" can't be created successfully. FDIR parser shouldn't deny > RTE_ETHER_TYPE_ARP since ARP packets will be parsed as > PCTYPE_L2_PAYLOAD. > This patch fixes the issue.' ? Ok > > > > > Bugzilla ID: 402 > > Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") > > Cc: stable@dpdk.org > > > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > > --- > > drivers/net/i40e/i40e_flow.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/net/i40e/i40e_flow.c > > b/drivers/net/i40e/i40e_flow.c index 7e64ae53a..1533d5abb 100644 > > --- a/drivers/net/i40e/i40e_flow.c > > +++ b/drivers/net/i40e/i40e_flow.c > > @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev > > *dev, > > if (next_type == > > RTE_FLOW_ITEM_TYPE_VLAN || > > ether_type == RTE_ETHER_TYPE_IPV4 || > > ether_type == RTE_ETHER_TYPE_IPV6 || > > - ether_type == RTE_ETHER_TYPE_ARP || > > ether_type == outer_tpid) { > > rte_flow_error_set(error, EINVAL, > > > > RTE_FLOW_ERROR_TYPE_ITEM, > > @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev > > *dev, > > > > if (ether_type == RTE_ETHER_TYPE_IPV4 || > > ether_type == RTE_ETHER_TYPE_IPV6 || > > - ether_type == RTE_ETHER_TYPE_ARP || > > ether_type == outer_tpid) { > > rte_flow_error_set(error, EINVAL, > > > > RTE_FLOW_ERROR_TYPE_ITEM, > > -- > > 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v2 2/3] doc: input set requirement of each pctype for FDIR 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao @ 2020-04-28 5:48 ` Wei Zhao 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 0/3] fix i40e bug for flow filter Wei Zhao 3 siblings, 0 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-28 5:48 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao Add input set requirement info to i40e doc. Bugzilla ID: 403 Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- doc/guides/nics/i40e.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index 416b3904e..ad5f51c38 100644 --- a/doc/guides/nics/i40e.rst +++ b/doc/guides/nics/i40e.rst @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e PMD supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size can provide helps to high performance of small packets. Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in config files can be changed to use 16 bytes size RX descriptors. +input set requirement of each pctype for FDIR +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Each pctype packet can only have one specific input set for FDIR, for example if you download 2 rte_flow rules of different input set for one specific pctype, +it is will fail and return the info "Conflict with the first rule's input set", that means the first type of input set conflict with the current one, +this limitaition is required by hardware. + Example of getting best performance with l3fwd example ------------------------------------------------------ -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao @ 2020-04-28 5:48 ` Wei Zhao 2020-04-28 7:16 ` Xing, Beilei 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 0/3] fix i40e bug for flow filter Wei Zhao 3 siblings, 1 reply; 32+ messages in thread From: Wei Zhao @ 2020-04-28 5:48 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao When we flush FDIR filter, we can not call i40e_fdir_teardown() function as it will free vsi used for FDIR, then the vsi->base_queue will be freed from pf->qp_pool, but vsi->base_queue can only get once when do dev init in i40e_pf_setup(). If we free it, it will never be alloc again. Bugzilla ID: 404 Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- drivers/net/i40e/i40e_flow.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 1533d5abb..65f877866 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, /* If the last flow is destroyed, disable fdir. */ if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { - i40e_fdir_teardown(pf); i40e_fdir_rx_proc_enable(dev, 0); } break; @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) pf->fdir.inset_flag[pctype] = 0; } - i40e_fdir_teardown(pf); - return ret; } -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao @ 2020-04-28 7:16 ` Xing, Beilei 2020-04-28 7:44 ` Zhao1, Wei 0 siblings, 1 reply; 32+ messages in thread From: Xing, Beilei @ 2020-04-28 7:16 UTC (permalink / raw) To: Zhao1, Wei, dev; +Cc: stable, maxime.leroy Didn't address my comment in v1 patch. > -----Original Message----- > From: Zhao1, Wei <wei.zhao1@intel.com> > Sent: Tuesday, April 28, 2020 1:48 PM > To: dev@dpdk.org > Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > maxime.leroy@6wind.com; Zhao1, Wei <wei.zhao1@intel.com> > Subject: [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter > > When we flush FDIR filter, we can not call i40e_fdir_teardown() function as it > will free vsi used for FDIR, then the vsi->base_queue will be freed from pf- > >qp_pool, but vsi->base_queue can only get once when do dev init in > i40e_pf_setup(). If we free it, it will never be alloc again. > > Bugzilla ID: 404 > Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") > Cc: stable@dpdk.org > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > --- > drivers/net/i40e/i40e_flow.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index > 1533d5abb..65f877866 100644 > --- a/drivers/net/i40e/i40e_flow.c > +++ b/drivers/net/i40e/i40e_flow.c > @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, > > /* If the last flow is destroyed, disable fdir. */ > if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { > - i40e_fdir_teardown(pf); > i40e_fdir_rx_proc_enable(dev, 0); > } > break; > @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) > pf->fdir.inset_flag[pctype] = 0; > } > > - i40e_fdir_teardown(pf); > - > return ret; > } > > -- > 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter 2020-04-28 7:16 ` Xing, Beilei @ 2020-04-28 7:44 ` Zhao1, Wei 0 siblings, 0 replies; 32+ messages in thread From: Zhao1, Wei @ 2020-04-28 7:44 UTC (permalink / raw) To: Xing, Beilei, dev; +Cc: stable, maxime.leroy > -----Original Message----- > From: Xing, Beilei <beilei.xing@intel.com> > Sent: Tuesday, April 28, 2020 3:16 PM > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > Cc: stable@dpdk.org; maxime.leroy@6wind.com > Subject: RE: [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter > > Didn't address my comment in v1 patch. Hi, it has exist in unit. > > > -----Original Message----- > > From: Zhao1, Wei <wei.zhao1@intel.com> > > Sent: Tuesday, April 28, 2020 1:48 PM > > To: dev@dpdk.org > > Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > > maxime.leroy@6wind.com; Zhao1, Wei <wei.zhao1@intel.com> > > Subject: [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR > > filter > > > > When we flush FDIR filter, we can not call i40e_fdir_teardown() > > function as it will free vsi used for FDIR, then the vsi->base_queue > > will be freed from pf- > > >qp_pool, but vsi->base_queue can only get once when do dev init in > > i40e_pf_setup(). If we free it, it will never be alloc again. > > > > Bugzilla ID: 404 > > Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") > > Cc: stable@dpdk.org > > > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > > --- > > drivers/net/i40e/i40e_flow.c | 3 --- > > 1 file changed, 3 deletions(-) > > > > diff --git a/drivers/net/i40e/i40e_flow.c > > b/drivers/net/i40e/i40e_flow.c index > > 1533d5abb..65f877866 100644 > > --- a/drivers/net/i40e/i40e_flow.c > > +++ b/drivers/net/i40e/i40e_flow.c > > @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, > > > > /* If the last flow is destroyed, disable fdir. */ > > if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { > > - i40e_fdir_teardown(pf); > > i40e_fdir_rx_proc_enable(dev, 0); > > } > > break; > > @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) > > pf->fdir.inset_flag[pctype] = 0; > > } > > > > - i40e_fdir_teardown(pf); > > - > > return ret; > > } > > > > -- > > 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v3 0/3] fix i40e bug for flow filter 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 0/3] fix i40e bug for flow filter Wei Zhao ` (2 preceding siblings ...) 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao @ 2020-04-28 7:39 ` Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao ` (3 more replies) 3 siblings, 4 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-28 7:39 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy fix i40e bug for flow filter and add comment in doc. v2: add more comment in git log. v3: update git log. Wei Zhao (3): net/i40e: fix FDIR issue for ARP packets doc: input set requirement of each pctype for FDIR net/i40e: remove teardown when flush FDIR filter doc/guides/nics/i40e.rst | 7 +++++++ drivers/net/i40e/i40e_flow.c | 5 ----- 2 files changed, 7 insertions(+), 5 deletions(-) -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v3 1/3] net/i40e: fix FDIR issue for ARP packets 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 0/3] fix i40e bug for flow filter Wei Zhao @ 2020-04-28 7:39 ` Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao ` (2 subsequent siblings) 3 siblings, 0 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-28 7:39 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao Currently, flow "pattern eth type is 0x0806 / end actions mark id 0x86 / rss / end" can't be created successfully. FDIR parser shouldn't deny RTE_ETHER_TYPE_ARP since ARP packets will be parsed as PCTYPE_L2_PAYLOAD. This patch fixes the issue. Bugzilla ID: 402 Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- drivers/net/i40e/i40e_flow.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 7e64ae53a..1533d5abb 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, if (next_type == RTE_FLOW_ITEM_TYPE_VLAN || ether_type == RTE_ETHER_TYPE_IPV4 || ether_type == RTE_ETHER_TYPE_IPV6 || - ether_type == RTE_ETHER_TYPE_ARP || ether_type == outer_tpid) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, if (ether_type == RTE_ETHER_TYPE_IPV4 || ether_type == RTE_ETHER_TYPE_IPV6 || - ether_type == RTE_ETHER_TYPE_ARP || ether_type == outer_tpid) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v3 2/3] doc: input set requirement of each pctype for FDIR 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao @ 2020-04-28 7:39 ` Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Wei Zhao 3 siblings, 0 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-28 7:39 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao Add input set requirement info to i40e doc. Bugzilla ID: 403 Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- doc/guides/nics/i40e.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index 416b3904e..ad5f51c38 100644 --- a/doc/guides/nics/i40e.rst +++ b/doc/guides/nics/i40e.rst @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e PMD supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size can provide helps to high performance of small packets. Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in config files can be changed to use 16 bytes size RX descriptors. +input set requirement of each pctype for FDIR +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Each pctype packet can only have one specific input set for FDIR, for example if you download 2 rte_flow rules of different input set for one specific pctype, +it is will fail and return the info "Conflict with the first rule's input set", that means the first type of input set conflict with the current one, +this limitaition is required by hardware. + Example of getting best performance with l3fwd example ------------------------------------------------------ -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v3 3/3] net/i40e: remove teardown when flush FDIR filter 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao @ 2020-04-28 7:39 ` Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Wei Zhao 3 siblings, 0 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-28 7:39 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao When we flush FDIR filter, we can not call i40e_fdir_teardown() function as it will free vsi used for FDIR, then the vsi->base_queue will be freed from pf->qp_pool, but vsi->base_queue can only get once when do dev init in i40e_pf_setup(). If we free it, it will never be alloc again. Bugzilla ID: 404 Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- drivers/net/i40e/i40e_flow.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 1533d5abb..65f877866 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, /* If the last flow is destroyed, disable fdir. */ if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { - i40e_fdir_teardown(pf); i40e_fdir_rx_proc_enable(dev, 0); } break; @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) pf->fdir.inset_flag[pctype] = 0; } - i40e_fdir_teardown(pf); - return ret; } -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 0/3] fix i40e bug for flow filter Wei Zhao ` (2 preceding siblings ...) 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao @ 2020-04-29 2:03 ` Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao ` (3 more replies) 3 siblings, 4 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-29 2:03 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy fix i40e bug for flow filter and add comment in doc. v2: add more comment in git log. v3: update git log. v4: update doc info. Wei Zhao (3): net/i40e: fix FDIR issue for ARP packets doc: input set requirement of each pctype for FDIR net/i40e: remove teardown when flush FDIR filter doc/guides/nics/i40e.rst | 7 +++++++ drivers/net/i40e/i40e_flow.c | 5 ----- 2 files changed, 7 insertions(+), 5 deletions(-) -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v4 1/3] net/i40e: fix FDIR issue for ARP packets 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Wei Zhao @ 2020-04-29 2:03 ` Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao ` (2 subsequent siblings) 3 siblings, 0 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-29 2:03 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao Currently, flow "pattern eth type is 0x0806 / end actions mark id 0x86 / rss / end" can't be created successfully. FDIR parser shouldn't deny RTE_ETHER_TYPE_ARP since ARP packets will be parsed as PCTYPE_L2_PAYLOAD. This patch fixes the issue. Bugzilla ID: 402 Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- drivers/net/i40e/i40e_flow.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 7e64ae53a..1533d5abb 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, if (next_type == RTE_FLOW_ITEM_TYPE_VLAN || ether_type == RTE_ETHER_TYPE_IPV4 || ether_type == RTE_ETHER_TYPE_IPV6 || - ether_type == RTE_ETHER_TYPE_ARP || ether_type == outer_tpid) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, if (ether_type == RTE_ETHER_TYPE_IPV4 || ether_type == RTE_ETHER_TYPE_IPV6 || - ether_type == RTE_ETHER_TYPE_ARP || ether_type == outer_tpid) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao @ 2020-04-29 2:03 ` Wei Zhao 2020-04-29 10:35 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao 2020-04-29 3:05 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Xing, Beilei 3 siblings, 1 reply; 32+ messages in thread From: Wei Zhao @ 2020-04-29 2:03 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao Add input set requirement info to i40e doc. Bugzilla ID: 403 Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- doc/guides/nics/i40e.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index 416b3904e..f085a357c 100644 --- a/doc/guides/nics/i40e.rst +++ b/doc/guides/nics/i40e.rst @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e PMD supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size can provide helps to high performance of small packets. Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in config files can be changed to use 16 bytes size RX descriptors. +input set requirement of each pctype for FDIR +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Each PCTYPE can only have one specific FDIR input set at one time. For example, if creating 2 rte_flow rules with different input set +for one PCTYPE, it is will fail and return the info "Conflict with the first rule's input set", which means the current rule's input +set is conflict with the first rule's. Remove the first rule if want to change the input set of the PCTYPE. + Example of getting best performance with l3fwd example ------------------------------------------------------ -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao @ 2020-04-29 10:35 ` Ferruh Yigit 2020-04-30 0:52 ` Zhao1, Wei 0 siblings, 1 reply; 32+ messages in thread From: Ferruh Yigit @ 2020-04-29 10:35 UTC (permalink / raw) To: Wei Zhao, dev; +Cc: stable, beilei.xing, maxime.leroy On 4/29/2020 3:03 AM, Wei Zhao wrote: > Add input set requirement info to i40e doc. > > Bugzilla ID: 403 Should this document update backported to the LTS? If so which LTS versions are in the scope, it is better if you can add a fixes tag to help us to figure out that. > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > --- > doc/guides/nics/i40e.rst | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst > index 416b3904e..f085a357c 100644 > --- a/doc/guides/nics/i40e.rst > +++ b/doc/guides/nics/i40e.rst > @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size > As i40e PMD supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size can provide helps to high performance of small packets. > Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in config files can be changed to use 16 bytes size RX descriptors. > > +input set requirement of each pctype for FDIR > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > + > +Each PCTYPE can only have one specific FDIR input set at one time. For example, if creating 2 rte_flow rules with different input set > +for one PCTYPE, it is will fail and return the info "Conflict with the first rule's input set", which means the current rule's input > +set is conflict with the first rule's. Remove the first rule if want to change the input set of the PCTYPE. > + > Example of getting best performance with l3fwd example > ------------------------------------------------------ > > ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR 2020-04-29 10:35 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit @ 2020-04-30 0:52 ` Zhao1, Wei 2020-04-30 10:19 ` Ferruh Yigit 0 siblings, 1 reply; 32+ messages in thread From: Zhao1, Wei @ 2020-04-30 0:52 UTC (permalink / raw) To: Yigit, Ferruh, dev; +Cc: stable, Xing, Beilei, maxime.leroy Hi, > -----Original Message----- > From: Yigit, Ferruh <ferruh.yigit@intel.com> > Sent: Wednesday, April 29, 2020 6:35 PM > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > maxime.leroy@6wind.com > Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each > pctype for FDIR > > On 4/29/2020 3:03 AM, Wei Zhao wrote: > > Add input set requirement info to i40e doc. > > > > Bugzilla ID: 403 > > Should this document update backported to the LTS? > If so which LTS versions are in the scope, it is better if you can add a fixes tag to > help us to figure out that. Maybe we can use this, it is the latest update for i40 doc. Btw, this is not a bug although it is report in bug list. Fixes: 3d91e097a352 ("doc: add feature support matrix link in i40e guide ") > > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > > --- > > doc/guides/nics/i40e.rst | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index > > 416b3904e..f085a357c 100644 > > --- a/doc/guides/nics/i40e.rst > > +++ b/doc/guides/nics/i40e.rst > > @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e PMD > > supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size can > provide helps to high performance of small packets. > > Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in config > files can be changed to use 16 bytes size RX descriptors. > > > > +input set requirement of each pctype for FDIR > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +Each PCTYPE can only have one specific FDIR input set at one time. > > +For example, if creating 2 rte_flow rules with different input set > > +for one PCTYPE, it is will fail and return the info "Conflict with the first rule's > input set", which means the current rule's input set is conflict with the first > rule's. Remove the first rule if want to change the input set of the PCTYPE. > > + > > Example of getting best performance with l3fwd example > > ------------------------------------------------------ > > > > ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR 2020-04-30 0:52 ` Zhao1, Wei @ 2020-04-30 10:19 ` Ferruh Yigit 2020-05-06 1:05 ` Zhao1, Wei 0 siblings, 1 reply; 32+ messages in thread From: Ferruh Yigit @ 2020-04-30 10:19 UTC (permalink / raw) To: Zhao1, Wei, dev; +Cc: stable, Xing, Beilei, maxime.leroy, Kevin Traynor On 4/30/2020 1:52 AM, Zhao1, Wei wrote: > Hi, > > >> -----Original Message----- >> From: Yigit, Ferruh <ferruh.yigit@intel.com> >> Sent: Wednesday, April 29, 2020 6:35 PM >> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org >> Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; >> maxime.leroy@6wind.com >> Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each >> pctype for FDIR >> >> On 4/29/2020 3:03 AM, Wei Zhao wrote: >>> Add input set requirement info to i40e doc. >>> >>> Bugzilla ID: 403 >> >> Should this document update backported to the LTS? >> If so which LTS versions are in the scope, it is better if you can add a fixes tag to >> help us to figure out that. > > Maybe we can use this, it is the latest update for i40 doc. > Btw, this is not a bug although it is report in bug list. > > Fixes: 3d91e097a352 ("doc: add feature support matrix link in i40e guide ") Hi Wei, I agree this is not bug, but this documents a limitation for users. And if this limitation is valid for the stable trees, it make sense to update documentation for those releases too, so that they can have correct/complete documentation. I will add the "stable@dpdk.org" tag to request the backport. But next question is for which stable trees is this limitation valid, it would be wrong to document a limitation that doesn't have the feature, how a stable tree maintainer can know if this issue is valid for a specific stable tree or not. For that we need the commit that introduces the mentioned feature (and the limitation), I don't think the commit above really is that commit, that is unrelated doc commit, but we need the commit for code. If you can provide correct fixes line, I will update it in the next-net. Thanks, ferruh > >> >>> Signed-off-by: Wei Zhao <wei.zhao1@intel.com> >>> --- >>> doc/guides/nics/i40e.rst | 7 +++++++ >>> 1 file changed, 7 insertions(+) >>> >>> diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index >>> 416b3904e..f085a357c 100644 >>> --- a/doc/guides/nics/i40e.rst >>> +++ b/doc/guides/nics/i40e.rst >>> @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e PMD >>> supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size can >> provide helps to high performance of small packets. >>> Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in config >> files can be changed to use 16 bytes size RX descriptors. >>> >>> +input set requirement of each pctype for FDIR >>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> + >>> +Each PCTYPE can only have one specific FDIR input set at one time. >>> +For example, if creating 2 rte_flow rules with different input set >>> +for one PCTYPE, it is will fail and return the info "Conflict with the first rule's >> input set", which means the current rule's input set is conflict with the first >> rule's. Remove the first rule if want to change the input set of the PCTYPE. >>> + >>> Example of getting best performance with l3fwd example >>> ------------------------------------------------------ >>> >>> > ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR 2020-04-30 10:19 ` Ferruh Yigit @ 2020-05-06 1:05 ` Zhao1, Wei 2020-05-06 9:29 ` Ferruh Yigit 0 siblings, 1 reply; 32+ messages in thread From: Zhao1, Wei @ 2020-05-06 1:05 UTC (permalink / raw) To: Yigit, Ferruh, dev; +Cc: stable, Xing, Beilei, maxime.leroy, Kevin Traynor HI, Ferruh This is the patch enable FDIR for flow filter, so we can use this. Fixes: 14c66a451ef ("net/i40e: parse flow director filter ") Cc: stable@dpdk.org > -----Original Message----- > From: Yigit, Ferruh <ferruh.yigit@intel.com> > Sent: Thursday, April 30, 2020 6:19 PM > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > maxime.leroy@6wind.com; Kevin Traynor <ktraynor@redhat.com> > Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each > pctype for FDIR > > On 4/30/2020 1:52 AM, Zhao1, Wei wrote: > > Hi, > > > > > >> -----Original Message----- > >> From: Yigit, Ferruh <ferruh.yigit@intel.com> > >> Sent: Wednesday, April 29, 2020 6:35 PM > >> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > >> Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > >> maxime.leroy@6wind.com > >> Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set requirement > >> of each pctype for FDIR > >> > >> On 4/29/2020 3:03 AM, Wei Zhao wrote: > >>> Add input set requirement info to i40e doc. > >>> > >>> Bugzilla ID: 403 > >> > >> Should this document update backported to the LTS? > >> If so which LTS versions are in the scope, it is better if you can > >> add a fixes tag to help us to figure out that. > > > > Maybe we can use this, it is the latest update for i40 doc. > > Btw, this is not a bug although it is report in bug list. > > > > Fixes: 3d91e097a352 ("doc: add feature support matrix link in i40e > > guide ") > > Hi Wei, > > I agree this is not bug, but this documents a limitation for users. And if this > limitation is valid for the stable trees, it make sense to update documentation > for those releases too, so that they can have correct/complete documentation. > I will add the "stable@dpdk.org" tag to request the backport. > > But next question is for which stable trees is this limitation valid, it would be > wrong to document a limitation that doesn't have the feature, how a stable > tree maintainer can know if this issue is valid for a specific stable tree or not. > For that we need the commit that introduces the mentioned feature (and the > limitation), I don't think the commit above really is that commit, that is > unrelated doc commit, but we need the commit for code. > > If you can provide correct fixes line, I will update it in the next-net. > > Thanks, > ferruh > > > > > >> > >>> Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > >>> --- > >>> doc/guides/nics/i40e.rst | 7 +++++++ > >>> 1 file changed, 7 insertions(+) > >>> > >>> diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst > >>> index 416b3904e..f085a357c 100644 > >>> --- a/doc/guides/nics/i40e.rst > >>> +++ b/doc/guides/nics/i40e.rst > >>> @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e PMD > >>> supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size > >>> can > >> provide helps to high performance of small packets. > >>> Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in > >>> config > >> files can be changed to use 16 bytes size RX descriptors. > >>> > >>> +input set requirement of each pctype for FDIR > >>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >>> + > >>> +Each PCTYPE can only have one specific FDIR input set at one time. > >>> +For example, if creating 2 rte_flow rules with different input set > >>> +for one PCTYPE, it is will fail and return the info "Conflict with > >>> +the first rule's > >> input set", which means the current rule's input set is conflict with > >> the first rule's. Remove the first rule if want to change the input set of the > PCTYPE. > >>> + > >>> Example of getting best performance with l3fwd example > >>> ------------------------------------------------------ > >>> > >>> > > ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR 2020-05-06 1:05 ` Zhao1, Wei @ 2020-05-06 9:29 ` Ferruh Yigit 2020-05-06 9:32 ` Zhao1, Wei 0 siblings, 1 reply; 32+ messages in thread From: Ferruh Yigit @ 2020-05-06 9:29 UTC (permalink / raw) To: Zhao1, Wei, dev; +Cc: stable, Xing, Beilei, maxime.leroy, Kevin Traynor On 5/6/2020 2:05 AM, Zhao1, Wei wrote: > HI, Ferruh > > This is the patch enable FDIR for flow filter, so we can use this. > > Fixes: 14c66a451ef ("net/i40e: parse flow director filter ") > Cc: stable@dpdk.org Updated the commit log, thanks. > > >> -----Original Message----- >> From: Yigit, Ferruh <ferruh.yigit@intel.com> >> Sent: Thursday, April 30, 2020 6:19 PM >> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org >> Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; >> maxime.leroy@6wind.com; Kevin Traynor <ktraynor@redhat.com> >> Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each >> pctype for FDIR >> >> On 4/30/2020 1:52 AM, Zhao1, Wei wrote: >>> Hi, >>> >>> >>>> -----Original Message----- >>>> From: Yigit, Ferruh <ferruh.yigit@intel.com> >>>> Sent: Wednesday, April 29, 2020 6:35 PM >>>> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org >>>> Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; >>>> maxime.leroy@6wind.com >>>> Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set requirement >>>> of each pctype for FDIR >>>> >>>> On 4/29/2020 3:03 AM, Wei Zhao wrote: >>>>> Add input set requirement info to i40e doc. >>>>> >>>>> Bugzilla ID: 403 >>>> >>>> Should this document update backported to the LTS? >>>> If so which LTS versions are in the scope, it is better if you can >>>> add a fixes tag to help us to figure out that. >>> >>> Maybe we can use this, it is the latest update for i40 doc. >>> Btw, this is not a bug although it is report in bug list. >>> >>> Fixes: 3d91e097a352 ("doc: add feature support matrix link in i40e >>> guide ") >> >> Hi Wei, >> >> I agree this is not bug, but this documents a limitation for users. And if this >> limitation is valid for the stable trees, it make sense to update documentation >> for those releases too, so that they can have correct/complete documentation. >> I will add the "stable@dpdk.org" tag to request the backport. >> >> But next question is for which stable trees is this limitation valid, it would be >> wrong to document a limitation that doesn't have the feature, how a stable >> tree maintainer can know if this issue is valid for a specific stable tree or not. >> For that we need the commit that introduces the mentioned feature (and the >> limitation), I don't think the commit above really is that commit, that is >> unrelated doc commit, but we need the commit for code. >> >> If you can provide correct fixes line, I will update it in the next-net. >> >> Thanks, >> ferruh >> >> >>> >>>> >>>>> Signed-off-by: Wei Zhao <wei.zhao1@intel.com> >>>>> --- >>>>> doc/guides/nics/i40e.rst | 7 +++++++ >>>>> 1 file changed, 7 insertions(+) >>>>> >>>>> diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst >>>>> index 416b3904e..f085a357c 100644 >>>>> --- a/doc/guides/nics/i40e.rst >>>>> +++ b/doc/guides/nics/i40e.rst >>>>> @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e PMD >>>>> supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size >>>>> can >>>> provide helps to high performance of small packets. >>>>> Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in >>>>> config >>>> files can be changed to use 16 bytes size RX descriptors. >>>>> >>>>> +input set requirement of each pctype for FDIR >>>>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>> + >>>>> +Each PCTYPE can only have one specific FDIR input set at one time. >>>>> +For example, if creating 2 rte_flow rules with different input set >>>>> +for one PCTYPE, it is will fail and return the info "Conflict with >>>>> +the first rule's >>>> input set", which means the current rule's input set is conflict with >>>> the first rule's. Remove the first rule if want to change the input set of the >> PCTYPE. >>>>> + >>>>> Example of getting best performance with l3fwd example >>>>> ------------------------------------------------------ >>>>> >>>>> >>> > ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR 2020-05-06 9:29 ` Ferruh Yigit @ 2020-05-06 9:32 ` Zhao1, Wei 0 siblings, 0 replies; 32+ messages in thread From: Zhao1, Wei @ 2020-05-06 9:32 UTC (permalink / raw) To: Yigit, Ferruh, dev; +Cc: stable, Xing, Beilei, maxime.leroy, Kevin Traynor Thank for your explanation. > -----Original Message----- > From: Yigit, Ferruh <ferruh.yigit@intel.com> > Sent: Wednesday, May 6, 2020 5:29 PM > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > maxime.leroy@6wind.com; Kevin Traynor <ktraynor@redhat.com> > Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set requirement of each > pctype for FDIR > > On 5/6/2020 2:05 AM, Zhao1, Wei wrote: > > HI, Ferruh > > > > This is the patch enable FDIR for flow filter, so we can use this. > > > > Fixes: 14c66a451ef ("net/i40e: parse flow director filter ") > > Cc: stable@dpdk.org > > Updated the commit log, thanks. > > > > > > >> -----Original Message----- > >> From: Yigit, Ferruh <ferruh.yigit@intel.com> > >> Sent: Thursday, April 30, 2020 6:19 PM > >> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > >> Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > >> maxime.leroy@6wind.com; Kevin Traynor <ktraynor@redhat.com> > >> Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set requirement > >> of each pctype for FDIR > >> > >> On 4/30/2020 1:52 AM, Zhao1, Wei wrote: > >>> Hi, > >>> > >>> > >>>> -----Original Message----- > >>>> From: Yigit, Ferruh <ferruh.yigit@intel.com> > >>>> Sent: Wednesday, April 29, 2020 6:35 PM > >>>> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org > >>>> Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > >>>> maxime.leroy@6wind.com > >>>> Subject: Re: [dpdk-stable] [PATCH v4 2/3] doc: input set > >>>> requirement of each pctype for FDIR > >>>> > >>>> On 4/29/2020 3:03 AM, Wei Zhao wrote: > >>>>> Add input set requirement info to i40e doc. > >>>>> > >>>>> Bugzilla ID: 403 > >>>> > >>>> Should this document update backported to the LTS? > >>>> If so which LTS versions are in the scope, it is better if you can > >>>> add a fixes tag to help us to figure out that. > >>> > >>> Maybe we can use this, it is the latest update for i40 doc. > >>> Btw, this is not a bug although it is report in bug list. > >>> > >>> Fixes: 3d91e097a352 ("doc: add feature support matrix link in i40e > >>> guide ") > >> > >> Hi Wei, > >> > >> I agree this is not bug, but this documents a limitation for users. > >> And if this limitation is valid for the stable trees, it make sense > >> to update documentation for those releases too, so that they can have > correct/complete documentation. > >> I will add the "stable@dpdk.org" tag to request the backport. > >> > >> But next question is for which stable trees is this limitation valid, > >> it would be wrong to document a limitation that doesn't have the > >> feature, how a stable tree maintainer can know if this issue is valid for a > specific stable tree or not. > >> For that we need the commit that introduces the mentioned feature > >> (and the limitation), I don't think the commit above really is that > >> commit, that is unrelated doc commit, but we need the commit for code. > >> > >> If you can provide correct fixes line, I will update it in the next-net. > >> > >> Thanks, > >> ferruh > >> > >> > >>> > >>>> > >>>>> Signed-off-by: Wei Zhao <wei.zhao1@intel.com> > >>>>> --- > >>>>> doc/guides/nics/i40e.rst | 7 +++++++ > >>>>> 1 file changed, 7 insertions(+) > >>>>> > >>>>> diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst > >>>>> index 416b3904e..f085a357c 100644 > >>>>> --- a/doc/guides/nics/i40e.rst > >>>>> +++ b/doc/guides/nics/i40e.rst > >>>>> @@ -747,6 +747,13 @@ Use 16 Bytes RX Descriptor Size As i40e > PMD > >>>>> supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes > >>>>> size can > >>>> provide helps to high performance of small packets. > >>>>> Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in > >>>>> config > >>>> files can be changed to use 16 bytes size RX descriptors. > >>>>> > >>>>> +input set requirement of each pctype for FDIR > >>>>> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >>>>> + > >>>>> +Each PCTYPE can only have one specific FDIR input set at one time. > >>>>> +For example, if creating 2 rte_flow rules with different input > >>>>> +set for one PCTYPE, it is will fail and return the info "Conflict > >>>>> +with the first rule's > >>>> input set", which means the current rule's input set is conflict > >>>> with the first rule's. Remove the first rule if want to change the > >>>> input set of the > >> PCTYPE. > >>>>> + > >>>>> Example of getting best performance with l3fwd example > >>>>> ------------------------------------------------------ > >>>>> > >>>>> > >>> > > ^ permalink raw reply [flat|nested] 32+ messages in thread
* [dpdk-dev] [PATCH v4 3/3] net/i40e: remove teardown when flush FDIR filter 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao @ 2020-04-29 2:03 ` Wei Zhao 2020-04-29 3:05 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Xing, Beilei 3 siblings, 0 replies; 32+ messages in thread From: Wei Zhao @ 2020-04-29 2:03 UTC (permalink / raw) To: dev; +Cc: stable, beilei.xing, maxime.leroy, Wei Zhao When we flush FDIR filter, we can not call i40e_fdir_teardown() function as it will free vsi used for FDIR, then the vsi->base_queue will be freed from pf->qp_pool, but vsi->base_queue can only get once when do dev init in i40e_pf_setup(). If we free it, it will never be alloc again. Bugzilla ID: 404 Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> --- drivers/net/i40e/i40e_flow.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 1533d5abb..65f877866 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, /* If the last flow is destroyed, disable fdir. */ if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { - i40e_fdir_teardown(pf); i40e_fdir_rx_proc_enable(dev, 0); } break; @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) pf->fdir.inset_flag[pctype] = 0; } - i40e_fdir_teardown(pf); - return ret; } -- 2.19.1 ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Wei Zhao ` (2 preceding siblings ...) 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao @ 2020-04-29 3:05 ` Xing, Beilei 2020-04-29 7:17 ` [dpdk-dev] [dpdk-stable] " Ye Xiaolong 3 siblings, 1 reply; 32+ messages in thread From: Xing, Beilei @ 2020-04-29 3:05 UTC (permalink / raw) To: Zhao1, Wei, dev; +Cc: stable, maxime.leroy > -----Original Message----- > From: Zhao1, Wei <wei.zhao1@intel.com> > Sent: Wednesday, April 29, 2020 10:04 AM > To: dev@dpdk.org > Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; > maxime.leroy@6wind.com > Subject: [PATCH v4 0/3] fix i40e bug for flow filter > > fix i40e bug for flow filter and add comment in doc. > > v2: > add more comment in git log. > > v3: > update git log. > > v4: > update doc info. > > Wei Zhao (3): > net/i40e: fix FDIR issue for ARP packets > doc: input set requirement of each pctype for FDIR > net/i40e: remove teardown when flush FDIR filter > > doc/guides/nics/i40e.rst | 7 +++++++ > drivers/net/i40e/i40e_flow.c | 5 ----- > 2 files changed, 7 insertions(+), 5 deletions(-) > > -- > 2.19.1 Acked-by: Beilei Xing <beilei.xing@intel.com> ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v4 0/3] fix i40e bug for flow filter 2020-04-29 3:05 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Xing, Beilei @ 2020-04-29 7:17 ` Ye Xiaolong 0 siblings, 0 replies; 32+ messages in thread From: Ye Xiaolong @ 2020-04-29 7:17 UTC (permalink / raw) To: Xing, Beilei; +Cc: Zhao1, Wei, dev, stable, maxime.leroy On 04/29, Xing, Beilei wrote: > > >> -----Original Message----- >> From: Zhao1, Wei <wei.zhao1@intel.com> >> Sent: Wednesday, April 29, 2020 10:04 AM >> To: dev@dpdk.org >> Cc: stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>; >> maxime.leroy@6wind.com >> Subject: [PATCH v4 0/3] fix i40e bug for flow filter >> >> fix i40e bug for flow filter and add comment in doc. >> >> v2: >> add more comment in git log. >> >> v3: >> update git log. >> >> v4: >> update doc info. >> >> Wei Zhao (3): >> net/i40e: fix FDIR issue for ARP packets >> doc: input set requirement of each pctype for FDIR >> net/i40e: remove teardown when flush FDIR filter >> >> doc/guides/nics/i40e.rst | 7 +++++++ >> drivers/net/i40e/i40e_flow.c | 5 ----- >> 2 files changed, 7 insertions(+), 5 deletions(-) >> >> -- >> 2.19.1 > >Acked-by: Beilei Xing <beilei.xing@intel.com> Applied to dpdk-next-net-intel, Thanks. ^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2020-05-06 9:32 UTC | newest] Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-04-27 7:14 [dpdk-dev] [PATCH 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-27 7:14 ` [dpdk-dev] [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter Wei Zhao 2020-04-28 1:20 ` Xing, Beilei 2020-04-28 5:39 ` Zhao1, Wei 2020-04-27 7:14 ` [dpdk-dev] [PATCH 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao 2020-04-27 7:15 ` [dpdk-dev] [PATCH 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao 2020-04-28 1:13 ` Xing, Beilei 2020-04-28 1:18 ` Zhao1, Wei 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao 2020-04-28 7:38 ` Xing, Beilei 2020-04-28 7:46 ` Zhao1, Wei 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao 2020-04-28 5:48 ` [dpdk-dev] [PATCH v2 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao 2020-04-28 7:16 ` Xing, Beilei 2020-04-28 7:44 ` Zhao1, Wei 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao 2020-04-28 7:39 ` [dpdk-dev] [PATCH v3 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 1/3] net/i40e: fix FDIR issue for ARP packets Wei Zhao 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 2/3] doc: input set requirement of each pctype for FDIR Wei Zhao 2020-04-29 10:35 ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit 2020-04-30 0:52 ` Zhao1, Wei 2020-04-30 10:19 ` Ferruh Yigit 2020-05-06 1:05 ` Zhao1, Wei 2020-05-06 9:29 ` Ferruh Yigit 2020-05-06 9:32 ` Zhao1, Wei 2020-04-29 2:03 ` [dpdk-dev] [PATCH v4 3/3] net/i40e: remove teardown when flush FDIR filter Wei Zhao 2020-04-29 3:05 ` [dpdk-dev] [PATCH v4 0/3] fix i40e bug for flow filter Xing, Beilei 2020-04-29 7:17 ` [dpdk-dev] [dpdk-stable] " Ye Xiaolong
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).