> -----Original Message-----
> From: Andrew Rybchenko <[email protected]>
> Sent: 2022年11月6日 18:33
> To: Ye, MingjinX <[email protected]>; lihuisong (C)
> <[email protected]>; [email protected]
> Cc: [email protected]; Zhou, YidingX <[email protected]>; Singh, Aman
> Deep <[email protected]>; Zhang, Yuying
> <[email protected]>
> Subject: Re: [PATCH v4 1/2] app/testpmd: fix vlan offload of rxq
> 
> On 11/4/22 14:33, Ye, MingjinX wrote:
> >
> >
> >> -----Original Message-----
> >> From: lihuisong (C) <[email protected]>
> >> Sent: 2022年11月4日 18:18
> >> To: Ye, MingjinX <[email protected]>; [email protected]
> >> Cc: [email protected]; Zhou, YidingX <[email protected]>; Singh,
> >> Aman Deep <[email protected]>; Zhang, Yuying
> >> <[email protected]>
> >> Subject: Re: [PATCH v4 1/2] app/testpmd: fix vlan offload of rxq
> >>
> >>
> >> 在 2022/11/4 16:21, Ye, MingjinX 写道:
> >>>
> >>>> -----Original Message-----
> >>>> From: lihuisong (C) <[email protected]>
> >>>> Sent: 2022年11月3日 15:01
> >>>> To: Ye, MingjinX <[email protected]>; [email protected]
> >>>> Cc: [email protected]; Zhou, YidingX <[email protected]>; Singh,
> >>>> Aman Deep <[email protected]>; Zhang, Yuying
> >>>> <[email protected]>
> >>>> Subject: Re: [PATCH v4 1/2] app/testpmd: fix vlan offload of rxq
> >>>>
> >>>>
> >>>> 在 2022/11/3 9:28, Ye, MingjinX 写道:
> >>>>>> -----Original Message-----
> >>>>>> From: lihuisong (C) <[email protected]>
> >>>>>> Sent: 2022年10月28日 10:09
> >>>>>> To: Ye, MingjinX <[email protected]>; [email protected]
> >>>>>> Cc: [email protected]; Zhou, YidingX <[email protected]>;
> >>>>>> Singh, Aman Deep <[email protected]>; Zhang, Yuying
> >>>>>> <[email protected]>
> >>>>>> Subject: Re: [PATCH v4 1/2] app/testpmd: fix vlan offload of rxq
> >>>>>>
> >>>>>>
> >>>>>> 在 2022/10/27 19:02, Ye, MingjinX 写道:
> >>>>>>> Hi lihuisong,
> >>>>>>>
> >>>>>>> This means that queue offloads need to update by recalling
> >>>>>>> dev_configure and setup target queues.
> >>>>>> Why not update queue offloads in PMD?
> >>>>>>> Can you tell me, where is the limitation?
> >>>>>> According to other Rx/Tx offload configurations, this may not be
> >>>>>> a
> >>>> limitation.
> >>>>>> But it seems to create a dependency on user usage.
> >>>>>>
> >>>>>> Port VLAN releated offloads are set by ethdev ops. There is no
> >>>>>> requirement in ehedev layer that this port needs to stopped when
> >>>>>> set
> >>>> these offloads.
> >>>>>> Now it depends on user does recall dev_configure and setup queues
> >>>>>> to update queue offloads because of setting these offloads.
> >>>>>>> Thanks,
> >>>>>>> Mingjin
> >>>>>>>
> >>>>>>>> -----Original Message-----
> >>>>>>>> From: lihuisong (C) <[email protected]>
> >>>>>>>> Sent: 2022年10月26日 17:53
> >>>>>>>> To: Ye, MingjinX <[email protected]>; [email protected]
> >>>>>>>> Cc: [email protected]; Zhou, YidingX <[email protected]>;
> >>>>>>>> Singh, Aman Deep <[email protected]>; Zhang, Yuying
> >>>>>>>> <[email protected]>
> >>>>>>>> Subject: Re: [PATCH v4 1/2] app/testpmd: fix vlan offload of
> >>>>>>>> rxq
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> 在 2022/10/27 1:10, Mingjin Ye 写道:
> >>>>>>>>> After setting vlan offload in testpmd, the result is not
> >>>>>>>>> updated to rxq. Therefore, the queue needs to be reconfigured
> >>>>>>>>> after executing the "vlan offload" related commands.
> >>>>>>>>>
> >>>>>>>>> Fixes: a47aa8b97afe ("app/testpmd: add vlan offload support")
> >>>>>>>>> Cc: [email protected]
> >>>>>>>>>
> >>>>>>>>> Signed-off-by: Mingjin Ye <[email protected]>
> >>>>>>>>> ---
> >>>>>>>>>       app/test-pmd/cmdline.c | 1 +
> >>>>>>>>>       1 file changed, 1 insertion(+)
> >>>>>>>>>
> >>>>>>>>> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> >>>>>>>>> index 17be2de402..ce125f549f 100644
> >>>>>>>>> --- a/app/test-pmd/cmdline.c
> >>>>>>>>> +++ b/app/test-pmd/cmdline.c
> >>>>>>>>> @@ -4133,6 +4133,7 @@ cmd_vlan_offload_parsed(void
> >>>> *parsed_result,
> >>>>>>>>>             else
> >>>>>>>>>                     vlan_extend_set(port_id, on);
> >>>>>>>>>
> >>>>>>>>> +   cmd_reconfig_device_queue(port_id, 1, 1);
> >>>>>> In addition, I have some comments:
> >>>>>> 1) Normally, the parsed function of testpmd command needed to
> >>>>>> re-config port and queue needs to check if port status is STOPED.
> >>>>>> Why don't you add this check?
> >>>>> The check is exist.
> >>>> Where is the check? Currently, it seems that this check does not
> >>>> exist in the this command parsed function.
> >>> Check if the port is forwarded, in the source file test-pmd.c:2835.
> >> I don't understand why you mention the check in start_port(). It
> >> should be done in command parsed link other command.
> >
> > The command types include configuration and show these two types of
> commands.
> > show commands: There is no need to judge whether the port has stopped
> working.
> > configuration commands: Not all commands need to stop the port, there
> will be judgment if necessary.
> >
> > Hi, @[email protected] can you please help review this
> patch? Thanks.
> 
> cmd_vlan_offload_parsed() goes down to the follow ethdev API
> functions:
>   - rte_eth_dev_set_vlan_strip_on_queue()
>   - rte_eth_dev_set_vlan_offload()
> There functions may change settings when port is started, running and
> processing traffic. And, as far as I know, it is the primary goal of these
> functions. So, we should not require application to do stop and reconfigure
> to apply these settings.
> 
> It is an interesting question what should happen if application stops and
> starts the port back. As far as I can see it is not documented and it should 
> be
> improved. I'd say that typical application would expect that dynamically done
> changes still apply. So, it should not be an application headache. The patch
> tries to care about it on application side and it is wrong from my point of 
> view.
> 
> Moreover, if we finally decide that application must care itself, the second
> argument should be 1 in stripq case only since other cases do not reconfigure
> Rx queue. However, it will not help anyway since
> rx_vlan_strip_set_on_queue() do not save configuration changes in testpmd
> structures.
Thanks for your answer, I will flush the offloads of the queue in pmd as you 
suggested. Later, a new patch will be provided.
> 
> >
> >>>>>> If the check is not exist, queue offloads are not updated until
> >>>>>> the next port stop/start command is executed. Right?
> >>>>> yes
> >>>>>> 2) Why is the queue-based VLAN offload API not used?
> >>>>> VLAN offload is a port-related configuration. If a single port is
> >>>>> changed, the associated queue needs to be all updated in
> >>>>> configuration. Therefore, there will be no additional api to configure.
> >>>>>>        Like, rte_eth_dev_set_vlan_strip_on_queue. It seems that
> >>>>>> this kind of API is
> >>>>>>        dedicated to do this.
> >>>>>>>> This means that queue offloads need to upadte by re-calling
> >>>>>>>> dev_configure and setup all queues, right?
> >>>>>>>> If it is, this adds a usage limitation.
> >>>>>>>>>             return;
> >>>>>>>>>       }
> >>>>>>>>>
> 

Reply via email to