* [PATCH] app/testpmd: handle IEEE1588 init fail
@ 2024-03-30 7:44 Dengdui Huang
2024-04-05 15:36 ` Singh, Aman Deep
2024-04-05 16:44 ` Stephen Hemminger
0 siblings, 2 replies; 9+ messages in thread
From: Dengdui Huang @ 2024-03-30 7:44 UTC (permalink / raw)
To: dev; +Cc: ferruh.yigit, aman.deep.singh, yuying.zhang, liuyonglong
When the port's timestamping function failed to initialize
(for example, the device does not support PTP), the packets
received by the hardware do not contain the timestamp.
In this case, IEEE1588 packet forwarding should not start.
This patch fix it.
Plus, adding a failure message when failed to disable PTP.
Fixes: a78040c990cb ("app/testpmd: update forward engine beginning")
Cc: stable@dpdk.org
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
---
app/test-pmd/ieee1588fwd.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/app/test-pmd/ieee1588fwd.c b/app/test-pmd/ieee1588fwd.c
index 3371771751..afea7735c7 100644
--- a/app/test-pmd/ieee1588fwd.c
+++ b/app/test-pmd/ieee1588fwd.c
@@ -197,14 +197,23 @@ ieee1588_packet_fwd(struct fwd_stream *fs)
static int
port_ieee1588_fwd_begin(portid_t pi)
{
- rte_eth_timesync_enable(pi);
- return 0;
+ int ret;
+
+ ret = rte_eth_timesync_enable(pi);
+ if (ret)
+ printf("Port %u enable PTP failed, ret = %d\n", pi, ret);
+
+ return ret;
}
static void
port_ieee1588_fwd_end(portid_t pi)
{
- rte_eth_timesync_disable(pi);
+ int ret;
+
+ ret = rte_eth_timesync_disable(pi);
+ if (ret)
+ printf("Port %u disable PTP failed, ret = %d\n", pi, ret);
}
static void
--
2.33.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH] app/testpmd: handle IEEE1588 init fail 2024-03-30 7:44 [PATCH] app/testpmd: handle IEEE1588 init fail Dengdui Huang @ 2024-04-05 15:36 ` Singh, Aman Deep 2024-07-05 11:27 ` Ferruh Yigit 2024-04-05 16:44 ` Stephen Hemminger 1 sibling, 1 reply; 9+ messages in thread From: Singh, Aman Deep @ 2024-04-05 15:36 UTC (permalink / raw) To: Dengdui Huang, dev; +Cc: ferruh.yigit, yuying.zhang, liuyonglong On 3/30/2024 1:14 PM, Dengdui Huang wrote: > When the port's timestamping function failed to initialize > (for example, the device does not support PTP), the packets > received by the hardware do not contain the timestamp. > In this case, IEEE1588 packet forwarding should not start. > This patch fix it. > > Plus, adding a failure message when failed to disable PTP. > > Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") > Cc: stable@dpdk.org > > Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> Acked-by: Aman Singh <aman.deep.singh@intel.com> > --- > app/test-pmd/ieee1588fwd.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/app/test-pmd/ieee1588fwd.c b/app/test-pmd/ieee1588fwd.c > index 3371771751..afea7735c7 100644 > --- a/app/test-pmd/ieee1588fwd.c > +++ b/app/test-pmd/ieee1588fwd.c > @@ -197,14 +197,23 @@ ieee1588_packet_fwd(struct fwd_stream *fs) > static int > port_ieee1588_fwd_begin(portid_t pi) > { > - rte_eth_timesync_enable(pi); > - return 0; > + int ret; > + > + ret = rte_eth_timesync_enable(pi); > + if (ret) > + printf("Port %u enable PTP failed, ret = %d\n", pi, ret); > + > + return ret; > } > > static void > port_ieee1588_fwd_end(portid_t pi) > { > - rte_eth_timesync_disable(pi); > + int ret; > + > + ret = rte_eth_timesync_disable(pi); > + if (ret) > + printf("Port %u disable PTP failed, ret = %d\n", pi, ret); > } > > static void ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] app/testpmd: handle IEEE1588 init fail 2024-04-05 15:36 ` Singh, Aman Deep @ 2024-07-05 11:27 ` Ferruh Yigit 0 siblings, 0 replies; 9+ messages in thread From: Ferruh Yigit @ 2024-07-05 11:27 UTC (permalink / raw) To: Singh, Aman Deep, Dengdui Huang, dev; +Cc: yuying.zhang, liuyonglong On 4/5/2024 4:36 PM, Singh, Aman Deep wrote: > On 3/30/2024 1:14 PM, Dengdui Huang wrote: >> When the port's timestamping function failed to initialize >> (for example, the device does not support PTP), the packets >> received by the hardware do not contain the timestamp. >> In this case, IEEE1588 packet forwarding should not start. >> This patch fix it. >> >> Plus, adding a failure message when failed to disable PTP. >> >> Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") >> Cc: stable@dpdk.org >> >> Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> > > Acked-by: Aman Singh <aman.deep.singh@intel.com> > Applied to dpdk-next-net/main, thanks. Will continue with 'printf', as most of the file already use it, unifying logs can be done later. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] app/testpmd: handle IEEE1588 init fail 2024-03-30 7:44 [PATCH] app/testpmd: handle IEEE1588 init fail Dengdui Huang 2024-04-05 15:36 ` Singh, Aman Deep @ 2024-04-05 16:44 ` Stephen Hemminger 2024-04-08 5:52 ` huangdengdui 1 sibling, 1 reply; 9+ messages in thread From: Stephen Hemminger @ 2024-04-05 16:44 UTC (permalink / raw) To: Dengdui Huang Cc: dev, ferruh.yigit, aman.deep.singh, yuying.zhang, liuyonglong On Sat, 30 Mar 2024 15:44:09 +0800 Dengdui Huang <huangdengdui@huawei.com> wrote: > When the port's timestamping function failed to initialize > (for example, the device does not support PTP), the packets > received by the hardware do not contain the timestamp. > In this case, IEEE1588 packet forwarding should not start. > This patch fix it. > > Plus, adding a failure message when failed to disable PTP. > > Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") > Cc: stable@dpdk.org > > Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> Noticed that ieee1588 part is printing errors to stdout, but other parts of test-pmd are using stderr or TEST_PMD_LOG. It would be good to decide on one good way to handle this across all of testpmd. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] app/testpmd: handle IEEE1588 init fail 2024-04-05 16:44 ` Stephen Hemminger @ 2024-04-08 5:52 ` huangdengdui 2024-04-08 8:45 ` Ferruh Yigit 0 siblings, 1 reply; 9+ messages in thread From: huangdengdui @ 2024-04-08 5:52 UTC (permalink / raw) To: Stephen Hemminger Cc: dev, ferruh.yigit, aman.deep.singh, yuying.zhang, liuyonglong On 2024/4/6 0:44, Stephen Hemminger wrote: > On Sat, 30 Mar 2024 15:44:09 +0800 > Dengdui Huang <huangdengdui@huawei.com> wrote: > >> When the port's timestamping function failed to initialize >> (for example, the device does not support PTP), the packets >> received by the hardware do not contain the timestamp. >> In this case, IEEE1588 packet forwarding should not start. >> This patch fix it. >> >> Plus, adding a failure message when failed to disable PTP. >> >> Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") >> Cc: stable@dpdk.org >> >> Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> > > Noticed that ieee1588 part is printing errors to stdout, > but other parts of test-pmd are using stderr or TEST_PMD_LOG. > > It would be good to decide on one good way to handle this > across all of testpmd. Yeah, it's a bit of a mess. Is it better to use TEST_PMD_LOG? But this is a test app, and modifying it seems unnecessary. What should we do next? ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] app/testpmd: handle IEEE1588 init fail 2024-04-08 5:52 ` huangdengdui @ 2024-04-08 8:45 ` Ferruh Yigit 2024-04-09 2:06 ` huangdengdui 0 siblings, 1 reply; 9+ messages in thread From: Ferruh Yigit @ 2024-04-08 8:45 UTC (permalink / raw) To: huangdengdui, Stephen Hemminger Cc: dev, aman.deep.singh, liuyonglong, David Marchand, Thomas Monjalon On 4/8/2024 6:52 AM, huangdengdui wrote: > > > On 2024/4/6 0:44, Stephen Hemminger wrote: >> On Sat, 30 Mar 2024 15:44:09 +0800 >> Dengdui Huang <huangdengdui@huawei.com> wrote: >> >>> When the port's timestamping function failed to initialize >>> (for example, the device does not support PTP), the packets >>> received by the hardware do not contain the timestamp. >>> In this case, IEEE1588 packet forwarding should not start. >>> This patch fix it. >>> >>> Plus, adding a failure message when failed to disable PTP. >>> >>> Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") >>> Cc: stable@dpdk.org >>> >>> Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> >> >> Noticed that ieee1588 part is printing errors to stdout, >> but other parts of test-pmd are using stderr or TEST_PMD_LOG. >> >> It would be good to decide on one good way to handle this >> across all of testpmd. > > Yeah, it's a bit of a mess. Is it better to use TEST_PMD_LOG? > But this is a test app, and modifying it seems unnecessary. > What should we do next? > 'TESTPMD_LOG' exists and used in a few places, but still most of the logging done with 'printf/fprintf'. Agree to have an agreement what to use, document it, and stick to it. For some cases, like 'usage()' output (testpmd supported parameters), or cmdline prompt we always want to have output, so 'printf' suits well. Not sure where 'TESTPMD_LOG' is needed and what is the benefit. I don't remember many cases that I want to refine testpmd app level output. Maybe a case can be packet verbose output, but it also has its specific command to control it. So should we continue to 'printf/fprintf', is there any disadvantage to do so? ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] app/testpmd: handle IEEE1588 init fail 2024-04-08 8:45 ` Ferruh Yigit @ 2024-04-09 2:06 ` huangdengdui 2024-04-09 2:50 ` Stephen Hemminger 0 siblings, 1 reply; 9+ messages in thread From: huangdengdui @ 2024-04-09 2:06 UTC (permalink / raw) To: Ferruh Yigit, Stephen Hemminger Cc: dev, aman.deep.singh, liuyonglong, David Marchand, Thomas Monjalon On 2024/4/8 16:45, Ferruh Yigit wrote: > On 4/8/2024 6:52 AM, huangdengdui wrote: >> >> >> On 2024/4/6 0:44, Stephen Hemminger wrote: >>> On Sat, 30 Mar 2024 15:44:09 +0800 >>> Dengdui Huang <huangdengdui@huawei.com> wrote: >>> >>>> When the port's timestamping function failed to initialize >>>> (for example, the device does not support PTP), the packets >>>> received by the hardware do not contain the timestamp. >>>> In this case, IEEE1588 packet forwarding should not start. >>>> This patch fix it. >>>> >>>> Plus, adding a failure message when failed to disable PTP. >>>> >>>> Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") >>>> Cc: stable@dpdk.org >>>> >>>> Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> >>> >>> Noticed that ieee1588 part is printing errors to stdout, >>> but other parts of test-pmd are using stderr or TEST_PMD_LOG. >>> >>> It would be good to decide on one good way to handle this >>> across all of testpmd. >> >> Yeah, it's a bit of a mess. Is it better to use TEST_PMD_LOG? >> But this is a test app, and modifying it seems unnecessary. >> What should we do next? >> > > 'TESTPMD_LOG' exists and used in a few places, but still most of the > logging done with 'printf/fprintf'. > > Agree to have an agreement what to use, document it, and stick to it. > > > For some cases, like 'usage()' output (testpmd supported parameters), or > cmdline prompt we always want to have output, so 'printf' suits well. > > Not sure where 'TESTPMD_LOG' is needed and what is the benefit. I don't > remember many cases that I want to refine testpmd app level output. > Maybe a case can be packet verbose output, but it also has its specific > command to control it. > > So should we continue to 'printf/fprintf', is there any disadvantage to > do so? OK, 'printf/fprintf' is really necessary. Am I to understand it as follows? 'TESTPMD_LOG' is more suitable for printing app runtime context logs, such as initialization logs and uninstallation logs. 'printf' is suitable for normal interaction with the user, such as show port info <port_id> When should we print to stderr? ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] app/testpmd: handle IEEE1588 init fail 2024-04-09 2:06 ` huangdengdui @ 2024-04-09 2:50 ` Stephen Hemminger 2024-04-17 9:26 ` huangdengdui 0 siblings, 1 reply; 9+ messages in thread From: Stephen Hemminger @ 2024-04-09 2:50 UTC (permalink / raw) To: huangdengdui Cc: Ferruh Yigit, dev, aman.deep.singh, liuyonglong, David Marchand, Thomas Monjalon On Tue, 9 Apr 2024 10:06:01 +0800 huangdengdui <huangdengdui@huawei.com> wrote: > On 2024/4/8 16:45, Ferruh Yigit wrote: > > On 4/8/2024 6:52 AM, huangdengdui wrote: > >> > >> > >> On 2024/4/6 0:44, Stephen Hemminger wrote: > >>> On Sat, 30 Mar 2024 15:44:09 +0800 > >>> Dengdui Huang <huangdengdui@huawei.com> wrote: > >>> > >>>> When the port's timestamping function failed to initialize > >>>> (for example, the device does not support PTP), the packets > >>>> received by the hardware do not contain the timestamp. > >>>> In this case, IEEE1588 packet forwarding should not start. > >>>> This patch fix it. > >>>> > >>>> Plus, adding a failure message when failed to disable PTP. > >>>> > >>>> Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") > >>>> Cc: stable@dpdk.org > >>>> > >>>> Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> > >>> > >>> Noticed that ieee1588 part is printing errors to stdout, > >>> but other parts of test-pmd are using stderr or TEST_PMD_LOG. > >>> > >>> It would be good to decide on one good way to handle this > >>> across all of testpmd. > >> > >> Yeah, it's a bit of a mess. Is it better to use TEST_PMD_LOG? > >> But this is a test app, and modifying it seems unnecessary. > >> What should we do next? > >> > > > > 'TESTPMD_LOG' exists and used in a few places, but still most of the > > logging done with 'printf/fprintf'. > > > > Agree to have an agreement what to use, document it, and stick to it. > > > > > > For some cases, like 'usage()' output (testpmd supported parameters), or > > cmdline prompt we always want to have output, so 'printf' suits well. > > > > Not sure where 'TESTPMD_LOG' is needed and what is the benefit. I don't > > remember many cases that I want to refine testpmd app level output. > > Maybe a case can be packet verbose output, but it also has its specific > > command to control it. > > > > So should we continue to 'printf/fprintf', is there any disadvantage to > > do so? > OK, 'printf/fprintf' is really necessary. Am I to understand it as follows? > > 'TESTPMD_LOG' is more suitable for printing app runtime context logs, > such as initialization logs and uninstallation logs. > > 'printf' is suitable for normal interaction with the user, such as > show port info <port_id> > > When should we print to stderr? Any Unix convention is that any error message should go to stderr. For test-pmd, using TESTPMD_LOG has benefits and problems. The benefit is following a convention across all the startup and error codes. And with the color log patches, errors are highlighted. But the current way rte_log works, the testpmd stuff ends up going to syslog/journal which is not necessary and overly chatty. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] app/testpmd: handle IEEE1588 init fail 2024-04-09 2:50 ` Stephen Hemminger @ 2024-04-17 9:26 ` huangdengdui 0 siblings, 0 replies; 9+ messages in thread From: huangdengdui @ 2024-04-17 9:26 UTC (permalink / raw) To: Stephen Hemminger Cc: Ferruh Yigit, dev, aman.deep.singh, liuyonglong, David Marchand, Thomas Monjalon On 2024/4/9 10:50, Stephen Hemminger wrote: > On Tue, 9 Apr 2024 10:06:01 +0800 > huangdengdui <huangdengdui@huawei.com> wrote: > >> On 2024/4/8 16:45, Ferruh Yigit wrote: >>> On 4/8/2024 6:52 AM, huangdengdui wrote: >>>> >>>> >>>> On 2024/4/6 0:44, Stephen Hemminger wrote: >>>>> On Sat, 30 Mar 2024 15:44:09 +0800 >>>>> Dengdui Huang <huangdengdui@huawei.com> wrote: >>>>> >>>>>> When the port's timestamping function failed to initialize >>>>>> (for example, the device does not support PTP), the packets >>>>>> received by the hardware do not contain the timestamp. >>>>>> In this case, IEEE1588 packet forwarding should not start. >>>>>> This patch fix it. >>>>>> >>>>>> Plus, adding a failure message when failed to disable PTP. >>>>>> >>>>>> Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") >>>>>> Cc: stable@dpdk.org >>>>>> >>>>>> Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> >>>>> >>>>> Noticed that ieee1588 part is printing errors to stdout, >>>>> but other parts of test-pmd are using stderr or TEST_PMD_LOG. >>>>> >>>>> It would be good to decide on one good way to handle this >>>>> across all of testpmd. >>>> >>>> Yeah, it's a bit of a mess. Is it better to use TEST_PMD_LOG? >>>> But this is a test app, and modifying it seems unnecessary. >>>> What should we do next? >>>> >>> >>> 'TESTPMD_LOG' exists and used in a few places, but still most of the >>> logging done with 'printf/fprintf'. >>> >>> Agree to have an agreement what to use, document it, and stick to it. >>> >>> >>> For some cases, like 'usage()' output (testpmd supported parameters), or >>> cmdline prompt we always want to have output, so 'printf' suits well. >>> >>> Not sure where 'TESTPMD_LOG' is needed and what is the benefit. I don't >>> remember many cases that I want to refine testpmd app level output. >>> Maybe a case can be packet verbose output, but it also has its specific >>> command to control it. >>> >>> So should we continue to 'printf/fprintf', is there any disadvantage to >>> do so? >> OK, 'printf/fprintf' is really necessary. Am I to understand it as follows? >> >> 'TESTPMD_LOG' is more suitable for printing app runtime context logs, >> such as initialization logs and uninstallation logs. >> >> 'printf' is suitable for normal interaction with the user, such as >> show port info <port_id> >> >> When should we print to stderr? > > Any Unix convention is that any error message should go to stderr. > For test-pmd, using TESTPMD_LOG has benefits and problems. > The benefit is following a convention across all the startup and error > codes. And with the color log patches, errors are highlighted. > > But the current way rte_log works, the testpmd stuff ends up going > to syslog/journal which is not necessary and overly chatty. That seems hard to unify. I don't have a better idea at the moment. Do you have a better suggestion? ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-07-05 11:27 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-03-30 7:44 [PATCH] app/testpmd: handle IEEE1588 init fail Dengdui Huang 2024-04-05 15:36 ` Singh, Aman Deep 2024-07-05 11:27 ` Ferruh Yigit 2024-04-05 16:44 ` Stephen Hemminger 2024-04-08 5:52 ` huangdengdui 2024-04-08 8:45 ` Ferruh Yigit 2024-04-09 2:06 ` huangdengdui 2024-04-09 2:50 ` Stephen Hemminger 2024-04-17 9:26 ` huangdengdui
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox