Allow users to use the same sub-device declaration format.

The rte_devargs library now requires the bus name to be prepended to
device declarations. While it is possible to use this new format, the
transition to the new one can be made smoother.

Signed-off-by: Gaetan Rivet <gaetan.ri...@6wind.com>
---
 drivers/net/failsafe/failsafe_args.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/net/failsafe/failsafe_args.c 
b/drivers/net/failsafe/failsafe_args.c
index 08ce4ad..0c98264 100644
--- a/drivers/net/failsafe/failsafe_args.c
+++ b/drivers/net/failsafe/failsafe_args.c
@@ -34,6 +34,7 @@
 #include <string.h>
 #include <errno.h>
 
+#include <rte_bus.h>
 #include <rte_debug.h>
 #include <rte_devargs.h>
 #include <rte_malloc.h>
@@ -83,12 +84,20 @@ closing_paren(const char *text)
 static int
 fs_parse_device(struct sub_device *sdev, char *args)
 {
+       struct rte_bus *bus;
        struct rte_devargs *d;
        int ret;
 
        d = &sdev->devargs;
        DEBUG("%s", args);
-       ret = rte_eal_devargs_parse(d, "%s", args);
+       bus = rte_bus_find_by_device_name(args);
+       if (bus == NULL)
+               /* args may contain the bus name */
+               ret = rte_eal_devargs_parse(d, "%s", args);
+       else
+               /* args is a device name */
+               ret = rte_eal_devargs_parse(d, "%s:%s",
+                                       bus->name, args);
        if (ret) {
                DEBUG("devargs parsing failed with code %d", ret);
                return ret;
-- 
2.1.4

Reply via email to