[dpdk-dev] [PATCH] failsafe: skip devargs if not present in secondary
Gaëtan Rivet
gaetan.rivet at 6wind.com
Mon Jun 24 10:15:58 CEST 2019
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
>
--
Gaëtan Rivet
6WIND
More information about the dev
mailing list