[PATCH] app/testpmd: handle IEEE1588 init fail
Stephen Hemminger
stephen at networkplumber.org
Tue Apr 9 04:50:23 CEST 2024
On Tue, 9 Apr 2024 10:06:01 +0800
huangdengdui <huangdengdui at 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 at 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 at dpdk.org
> >>>>
> >>>> Signed-off-by: Dengdui Huang <huangdengdui at 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.
More information about the dev
mailing list