> >> -----Original Message----- > >> From: Kevin Traynor <ktray...@redhat.com> > >> Sent: Wednesday, October 19, 2022 4:53 PM > >> To: Zhou, YidingX <yidingx.z...@intel.com>; dev@dpdk.org > >> Subject: Re: [PATCH v2] net/iavf: revert fix VLAN insertion > >> > >> On 19/10/2022 08:54, Yiding Zhou wrote: > >>> When the kernel driver tells to use the L2TAG2 field for VLAN > >>> insertion, the context descriptor needs to be used. There is an > >>> issue on the vector Tx path, because it does not support the context > descriptor. > >>> > >>> The previous commit forces to select normal path to avoid the above > >>> issue, but it results in a performance loss of around 40%. So it > >>> needs to be reverted and the original issue needed to be fixed by rework. > >>> > >> > >> Thank you, that is a much clearer explanation. > >> > >> Now on the approach, the commit being reverted says: > >> "When the driver tells the VF to insert VLAN tag using the L2TAG2 > >> field, vector Tx path does not use Tx context descriptor and would > >> cause VLAN tag inserted into the wrong location." > >> > >> So it means this revert is solving a performance regression, but > >> re-introducing the functional issue above. > >> > >> Is there a correct fix for the original issue sent that can be > >> applied too? If not, wouldn't it be better to wait until it is before > >> doing the > revert? > >> > > > > Sorry, there is no correct fix yet. > > We plan to support context descriptor on vector path to fix the > > original issue, It may take more time and cannot be completed within this > cycle. > > > > ok, but you didn't answer the second question. > > "When the driver tells the VF to insert VLAN tag using the L2TAG2 field, > vector > Tx path does not use Tx context descriptor and would cause VLAN tag inserted > into the wrong location." > > Please explain your justification for (re-)introducing this bug? > > Why is better to get (corrupt?) packets with incorrect VLAN tags than lose > performance for this case? Or have I mis-interpreted the patches. > > Thanks for your review. I agree with you. It should not re-introduce functional issue . This revert is not needed. I will resubmit a new patch for the performance loss.
> >>> To reverts > >>> commit 0d58caa7d6d1 ("net/iavf: fix VLAN insertion") > >>> > >>> Fixes: 0d58caa7d6d1 ("net/iavf: fix VLAN insertion") > >>> > >>> Signed-off-by: Yiding Zhou <yidingx.z...@intel.com> > >>> --- > >>> drivers/net/iavf/iavf_rxtx_vec_common.h | 3 --- > >>> 1 file changed, 3 deletions(-) > >>> > >>> diff --git a/drivers/net/iavf/iavf_rxtx_vec_common.h > >>> b/drivers/net/iavf/iavf_rxtx_vec_common.h > >>> index 4ab22c6b2b..a59cb2ceee 100644 > >>> --- a/drivers/net/iavf/iavf_rxtx_vec_common.h > >>> +++ b/drivers/net/iavf/iavf_rxtx_vec_common.h > >>> @@ -253,9 +253,6 @@ iavf_tx_vec_queue_default(struct iavf_tx_queue > *txq) > >>> if (txq->offloads & IAVF_TX_NO_VECTOR_FLAGS) > >>> return -1; > >>> > >>> - if (txq->vlan_flag == IAVF_TX_FLAGS_VLAN_TAG_LOC_L2TAG2) > >>> - return -1; > >>> - > >>> if (txq->offloads & IAVF_TX_VECTOR_OFFLOAD) > >>> return IAVF_VECTOR_OFFLOAD_PATH; > >>> > >