[dpdk-dev] [PATCH] failsafe: skip devargs if not present in secondary
Stephen Hemminger
stephen at networkplumber.org
Mon Jun 24 17:23:38 CEST 2019
On Mon, 24 Jun 2019 10:15:58 +0200
Gaëtan Rivet <gaetan.rivet at 6wind.com> wrote:
> Hello Stephen,
>
> On Fri, Jun 21, 2019 at 03:08:24PM -0700, Stephen Hemminger wrote:
> > When secondary process is run was noticing that the log always
> > contained complaints about unable to parse devargs.
> >
> > It turns out that an empty devargs turns into "" and this
> > value is not parsable. Change the failsafe secondary to just
> > skip doing devargs if it empty.
> >
>
> Commit log needs a little rework, a few typos.
>
> > Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> > ---
> > drivers/net/failsafe/failsafe.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
> > index e91c274d8059..04ca0cab0d78 100644
> > --- a/drivers/net/failsafe/failsafe.c
> > +++ b/drivers/net/failsafe/failsafe.c
> > @@ -364,6 +364,10 @@ rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)
> > * A sub-device can be plugged later.
> > */
> > FOREACH_SUBDEV(sdev, i, eth_dev) {
> > + /* skip empty devargs */
> > + if (sdev->devargs.name[0] == '\0')
> > + continue;
> > +
>
> An empty devargs being named "" is part of the internals of rte_devargs.
> The clean solution would be to add a `bool rte_devargs_empty()` function
> and test the devargs with it.
>
> The simple solution is your proposition.
>
> Clean seems a little heavy-handed, but it would be more stable. If you
> agree, you can add the helper. I'm ok with keeping it simple otherwise.
>
> > /* rebuild devargs to be able to get the bus name. */
> > ret = rte_devargs_parse(&devargs,
> > sdev->devargs.name);
> > --
> > 2.20.1
> >
>
Simpler is better.
Sorry, after working with failsafe my impression is that it is not
built with that in mind.
More information about the dev
mailing list