On Mon, Jun 24, 2019 at 08:23:38AM -0700, Stephen Hemminger wrote: > On Mon, 24 Jun 2019 10:15:58 +0200 > Gaëtan Rivet <gaetan.ri...@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 <step...@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.
Ok > Sorry, after working with failsafe my impression is that it is not > built with that in mind. -- Gaëtan Rivet 6WIND