From: Gaetan Rivet <gaetan.rivet@6wind.com>
To: dev@dpdk.org
Cc: Gaetan Rivet <gaetan.rivet@6wind.com>
Subject: [dpdk-dev] [PATCH v10 12/27] eal/dev: implement device iteration initialization
Date: Thu, 5 Jul 2018 13:48:19 +0200 [thread overview]
Message-ID: <cf2ae4585d23c663d4c899111251636c376ba945.1530791217.git.gaetan.rivet@6wind.com> (raw)
In-Reply-To: <cover.1530791217.git.gaetan.rivet@6wind.com>
Parse a device description.
Split this description in their relevant part for each layers.
No dynamic allocation is performed.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
---
lib/Makefile | 1 +
lib/librte_eal/bsdapp/eal/Makefile | 1 +
lib/librte_eal/common/eal_common_dev.c | 55 +++++++++++++++++++++++++
lib/librte_eal/common/include/rte_dev.h | 24 +++++++++++
lib/librte_eal/linuxapp/eal/Makefile | 1 +
lib/librte_eal/rte_eal_version.map | 1 +
6 files changed, 83 insertions(+)
diff --git a/lib/Makefile b/lib/Makefile
index 8a65525cd..afa604e20 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -7,6 +7,7 @@ DIRS-y += librte_compat
DIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += librte_kvargs
DEPDIRS-librte_kvargs := librte_compat
DIRS-$(CONFIG_RTE_LIBRTE_EAL) += librte_eal
+DEPDIRS-librte_eal := librte_kvargs
DIRS-$(CONFIG_RTE_LIBRTE_PCI) += librte_pci
DEPDIRS-librte_pci := librte_eal
DIRS-$(CONFIG_RTE_LIBRTE_RING) += librte_ring
diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile
index b0a1c880a..67b10ae0d 100644
--- a/lib/librte_eal/bsdapp/eal/Makefile
+++ b/lib/librte_eal/bsdapp/eal/Makefile
@@ -18,6 +18,7 @@ CFLAGS += $(WERROR_FLAGS) -O3
LDLIBS += -lexecinfo
LDLIBS += -lpthread
LDLIBS += -lgcc_s
+LDLIBS += -lrte_kvargs
EXPORT_MAP := ../../rte_eal_version.map
diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
index ce4b51469..5b7956d17 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -10,9 +10,12 @@
#include <rte_compat.h>
#include <rte_bus.h>
+#include <rte_class.h>
#include <rte_dev.h>
#include <rte_devargs.h>
#include <rte_debug.h>
+#include <rte_errno.h>
+#include <rte_kvargs.h>
#include <rte_log.h>
#include <rte_spinlock.h>
#include <rte_malloc.h>
@@ -343,3 +346,55 @@ dev_callback_process(char *device_name, enum rte_dev_event_type event)
}
rte_spinlock_unlock(&dev_event_lock);
}
+
+__rte_experimental
+int
+rte_dev_iterator_init(struct rte_dev_iterator *it,
+ const char *devstr)
+{
+ struct rte_devargs da;
+ struct rte_class *cls = NULL;
+ struct rte_bus *bus = NULL;
+
+ /* Having both busstr and clsstr NULL is illegal,
+ * marking this iterator as invalid unless
+ * everything goes well.
+ */
+ it->busstr = NULL;
+ it->clsstr = NULL;
+
+ da.data = devstr;
+ if (rte_devargs_layers_parse(&da, devstr))
+ goto get_out;
+
+ bus = da.bus;
+ cls = da.cls;
+ /* The string should have at least
+ * one layer specified.
+ */
+ if (bus == NULL && cls == NULL) {
+ RTE_LOG(ERR, EAL,
+ "Either bus or class must be specified.\n");
+ rte_errno = EINVAL;
+ goto get_out;
+ }
+ if (bus != NULL && bus->dev_iterate == NULL) {
+ RTE_LOG(ERR, EAL, "Bus %s not supported\n", bus->name);
+ rte_errno = ENOTSUP;
+ goto get_out;
+ }
+ if (cls != NULL && cls->dev_iterate == NULL) {
+ RTE_LOG(ERR, EAL, "Class %s not supported\n", cls->name);
+ rte_errno = ENOTSUP;
+ goto get_out;
+ }
+ it->busstr = da.busstr;
+ it->clsstr = da.clsstr;
+ it->devstr = devstr;
+ it->bus = bus;
+ it->cls = cls;
+ it->device = NULL;
+ it->class_device = NULL;
+get_out:
+ return -rte_errno;
+}
diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
index 120df729f..7b7bd83bc 100644
--- a/lib/librte_eal/common/include/rte_dev.h
+++ b/lib/librte_eal/common/include/rte_dev.h
@@ -332,6 +332,30 @@ typedef void *(*rte_dev_iterate_t)(const void *start,
const char *devstr,
const struct rte_dev_iterator *it);
+/**
+ * Initializes a device iterator.
+ *
+ * This iterator allows accessing a list of devices matching a criteria.
+ * The device matching is made among all buses and classes currently registered,
+ * filtered by the device description given as parameter.
+ *
+ * This function will not allocate any memory. It is safe to stop the
+ * iteration at any moment and let the iterator go out of context.
+ *
+ * @param it
+ * Device iterator handle.
+ *
+ * @param str
+ * Device description string.
+ *
+ * @return
+ * 0 on successful initialization.
+ * <0 on error.
+ */
+__rte_experimental
+int
+rte_dev_iterator_init(struct rte_dev_iterator *it, const char *str);
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile
index babc8617a..885c48110 100644
--- a/lib/librte_eal/linuxapp/eal/Makefile
+++ b/lib/librte_eal/linuxapp/eal/Makefile
@@ -27,6 +27,7 @@ LDLIBS += -lrt
ifeq ($(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),y)
LDLIBS += -lnuma
endif
+LDLIBS += -lrte_kvargs
# specific to linuxapp exec-env
SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) := eal.c
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 19d36b4c7..ac04120d6 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -251,6 +251,7 @@ EXPERIMENTAL {
rte_dev_event_callback_unregister;
rte_dev_event_monitor_start;
rte_dev_event_monitor_stop;
+ rte_dev_iterator_init;
rte_devargs_add;
rte_devargs_dump;
rte_devargs_insert;
--
2.18.0
next prev parent reply other threads:[~2018-07-05 11:49 UTC|newest]
Thread overview: 364+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-15 17:49 [dpdk-dev] [PATCH v1 00/18] Device querying Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 01/18] eal: introduce dtor macros Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 02/18] eal: introduce device class abstraction Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 03/18] eal/class: register destructor Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 04/18] eal: add lightweight kvarg parsing utility Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 05/18] eal/dev: add device iterator interface Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 06/18] eal/dev: implement device iteration initialization Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 07/18] eal/class: add device iteration Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 08/18] eal/bus: " Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 09/18] eal/dev: implement " Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 10/18] ethdev: register ether layer as a class Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 11/18] ethdev: add device matching field name Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 12/18] bus/pci: fix find device implementation Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 13/18] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 14/18] bus/pci: add device matching field id Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 15/18] bus/vdev: fix find device implementation Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 16/18] bus/vdev: implement device iteration Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 17/18] bus/vdev: add device matching field driver Gaetan Rivet
2018-03-15 17:49 ` [dpdk-dev] [PATCH v1 18/18] app/testpmd: add show device command Gaetan Rivet
2018-03-19 11:33 ` Gaëtan Rivet
2018-03-20 17:51 ` [dpdk-dev] [PATCH v1 00/18] Device querying Gaëtan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 " Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 01/18] eal: introduce dtor macros Gaetan Rivet
2018-03-22 11:35 ` Neil Horman
2018-03-22 13:51 ` Neil Horman
2018-03-22 15:56 ` Gaëtan Rivet
2018-03-22 15:58 ` [dpdk-dev] [PATCH] eal: list acceptable init priorities Gaetan Rivet
2018-03-23 0:40 ` Neil Horman
2018-03-23 0:38 ` [dpdk-dev] [PATCH v2 01/18] eal: introduce dtor macros Neil Horman
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 02/18] eal: introduce device class abstraction Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 03/18] eal/class: register destructor Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 04/18] eal: add lightweight kvarg parsing utility Gaetan Rivet
2018-03-21 17:32 ` Wiles, Keith
2018-03-21 17:58 ` Gaëtan Rivet
2018-03-22 14:10 ` Neil Horman
2018-03-22 16:27 ` Gaëtan Rivet
2018-03-23 0:53 ` Neil Horman
2018-03-23 9:31 ` Gaëtan Rivet
2018-03-23 11:54 ` Neil Horman
2018-03-23 13:12 ` Gaëtan Rivet
2018-03-23 18:45 ` [dpdk-dev] [PATCH 1/2] kvargs: the life of the party Gaetan Rivet
2018-03-23 18:45 ` [dpdk-dev] [PATCH 2/2] dev: use rte_kvargs Gaetan Rivet
2018-03-26 11:38 ` Neil Horman
2018-03-26 13:59 ` Gaëtan Rivet
2018-03-26 15:14 ` Wiles, Keith
2018-03-26 11:23 ` [dpdk-dev] [PATCH v2 04/18] eal: add lightweight kvarg parsing utility Neil Horman
2018-03-23 13:15 ` Wiles, Keith
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 05/18] eal/dev: add device iterator interface Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 06/18] eal/class: add device iteration Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 07/18] eal/bus: " Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 08/18] eal/dev: implement device iteration initialization Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 09/18] eal/dev: implement device iteration Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 10/18] bus/pci: fix find device implementation Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 11/18] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 12/18] bus/pci: add device matching field id Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 13/18] bus/vdev: fix find device implementation Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 14/18] bus/vdev: implement device iteration Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 15/18] bus/vdev: add device matching field driver Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 16/18] ethdev: register ether layer as a class Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 17/18] ethdev: add device matching field name Gaetan Rivet
2018-03-21 17:15 ` [dpdk-dev] [PATCH v2 18/18] app/testpmd: add show device command Gaetan Rivet
2018-03-22 11:31 ` [dpdk-dev] [PATCH v2 00/18] Device querying Bruce Richardson
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 00/20] " Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 01/20] kvargs: remove rte log dependency Gaetan Rivet
2018-03-27 18:19 ` Neil Horman
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 02/20] kvargs: build before EAL Gaetan Rivet
2018-03-27 9:12 ` Bruce Richardson
2018-03-27 9:53 ` Gaëtan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 03/20] eal: list acceptable init priorities Gaetan Rivet
2018-03-27 7:18 ` Shreyansh Jain
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 04/20] eal: introduce dtor macros Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 05/20] eal: introduce device class abstraction Gaetan Rivet
2018-03-27 8:38 ` Shreyansh Jain
2018-03-27 9:51 ` Gaëtan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 06/20] eal/class: register destructor Gaetan Rivet
2018-03-27 8:42 ` Shreyansh Jain
2018-03-27 8:49 ` Gaëtan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 07/20] eal/dev: add device iterator interface Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 08/20] eal/class: add device iteration Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 09/20] eal/bus: " Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 10/20] eal/dev: implement device iteration initialization Gaetan Rivet
2018-03-27 11:47 ` Neil Horman
2018-03-27 12:40 ` Gaëtan Rivet
2018-03-27 13:04 ` Gaëtan Rivet
2018-03-27 20:23 ` Gaëtan Rivet
2018-03-27 23:26 ` Neil Horman
2018-03-28 12:48 ` Gaëtan Rivet
2018-03-27 13:08 ` Wiles, Keith
2018-03-27 18:26 ` Neil Horman
2018-03-27 20:20 ` Gaëtan Rivet
2018-03-27 20:28 ` Bruce Richardson
2018-03-27 20:35 ` Gaëtan Rivet
2018-03-27 20:48 ` Richardson, Bruce
2018-03-27 23:53 ` Neil Horman
2018-03-28 8:10 ` Gaëtan Rivet
2018-03-28 11:17 ` Neil Horman
2018-04-22 22:29 ` Thomas Monjalon
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 11/20] eal/dev: implement device iteration Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 12/20] bus/pci: fix find device implementation Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 13/20] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 14/20] bus/pci: add device matching field id Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 15/20] bus/vdev: fix find device implementation Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 16/20] bus/vdev: implement device iteration Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 17/20] bus/vdev: add device matching field driver Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 18/20] ethdev: register ether layer as a class Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 19/20] ethdev: add device matching field name Gaetan Rivet
2018-03-26 23:18 ` [dpdk-dev] [PATCH v3 20/20] app/testpmd: add show device command Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 00/20] Device querying Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 01/20] kvargs: build before EAL Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 02/20] eal: list acceptable init priorities Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 03/20] eal: introduce dtor macros Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 04/20] eal: introduce device class abstraction Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 05/20] eal/class: register destructor Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 06/20] eal/dev: add device iterator interface Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 07/20] eal/class: add device iteration Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 08/20] eal/bus: " Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 09/20] eal/dev: implement device iteration initialization Gaetan Rivet
2018-03-30 15:22 ` Wiles, Keith
2018-03-30 15:53 ` Gaëtan Rivet
2018-03-30 16:22 ` Wiles, Keith
2018-03-31 15:33 ` Gaëtan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 10/20] eal/dev: implement device iteration Gaetan Rivet
2018-04-09 7:28 ` Matan Azrad
2018-04-09 8:16 ` Gaëtan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 11/20] kvargs: add generic string matching callback Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 12/20] bus/pci: fix find device implementation Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 13/20] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 14/20] bus/pci: add device matching field id Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 15/20] bus/vdev: fix find device implementation Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 16/20] bus/vdev: implement device iteration Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 17/20] bus/vdev: add device matching field driver Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 18/20] ethdev: register ether layer as a class Gaetan Rivet
2018-04-09 7:41 ` Matan Azrad
2018-04-09 7:47 ` Gaëtan Rivet
2018-04-09 7:58 ` Matan Azrad
2018-04-09 8:12 ` Gaëtan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 19/20] ethdev: add device matching field name Gaetan Rivet
2018-03-29 21:23 ` [dpdk-dev] [PATCH v4 20/20] app/testpmd: add show device command Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 00/21] Device querying Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 01/21] kvargs: build before EAL Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 02/21] eal: list acceptable init priorities Gaetan Rivet
2018-04-12 11:28 ` Neil Horman
2018-04-12 21:57 ` Gaëtan Rivet
2018-04-13 11:42 ` Neil Horman
2018-04-13 12:52 ` Shreyansh Jain
2018-04-13 12:55 ` Gaëtan Rivet
2018-04-14 18:45 ` Neil Horman
2018-04-15 15:13 ` Gaëtan Rivet
2018-04-16 11:31 ` Neil Horman
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 03/21] eal: introduce dtor macros Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 04/21] eal: introduce device class abstraction Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 05/21] eal/class: register destructor Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 06/21] eal/dev: add device iterator interface Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 07/21] eal/class: add device iteration Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 08/21] eal/bus: " Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 09/21] eal/dev: implement device iteration initialization Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 10/21] eal/dev: implement device iteration Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 11/21] kvargs: add generic string matching callback Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 12/21] bus/pci: fix find device implementation Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 13/21] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 14/21] bus/pci: add device matching field id Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 15/21] bus/vdev: fix find device implementation Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 16/21] bus/vdev: implement device iteration Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 17/21] bus/vdev: add device matching field driver Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 18/21] ethdev: add private generic device iterator Gaetan Rivet
2018-04-11 8:41 ` Gaëtan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 19/21] ethdev: register ether layer as a class Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 20/21] ethdev: add device matching field name Gaetan Rivet
2018-04-11 0:04 ` [dpdk-dev] [PATCH v5 21/21] app/testpmd: add show device command Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 00/22] Device querying Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 01/22] kvargs: build before EAL Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 02/22] eal: list acceptable init priorities Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 03/22] eal: add last init priority Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 04/22] eal: introduce dtor macros Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 05/22] eal: introduce device class abstraction Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 06/22] eal/class: register destructor Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 07/22] eal/dev: add device iterator interface Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 08/22] eal/class: add device iteration Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 09/22] eal/bus: " Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 10/22] eal/dev: implement device iteration initialization Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 11/22] eal/dev: implement device iteration Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 12/22] kvargs: add generic string matching callback Gaetan Rivet
2018-04-13 14:49 ` Shreyansh Jain
2018-04-13 15:06 ` Gaëtan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 13/22] bus/pci: fix find device implementation Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 14/22] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 15/22] bus/pci: add device matching field id Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 16/22] bus/vdev: fix find device implementation Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 17/22] bus/vdev: implement device iteration Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 18/22] bus/vdev: add device matching field driver Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 19/22] ethdev: add private generic device iterator Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 20/22] ethdev: register ether layer as a class Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 21/22] ethdev: add device matching field name Gaetan Rivet
2018-04-13 13:22 ` [dpdk-dev] [PATCH v6 22/22] app/testpmd: add show device command Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 00/22] Device querying Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 01/22] kvargs: build before EAL Gaetan Rivet
2018-06-14 14:10 ` Bruce Richardson
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 02/22] eal: list acceptable init priorities Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 03/22] eal: add last init priority Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 04/22] eal: introduce dtor macros Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 05/22] eal: introduce device class abstraction Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 06/22] eal/class: register destructor Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 07/22] eal/dev: add device iterator interface Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 08/22] eal/class: add device iteration Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 09/22] eal/bus: " Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 10/22] eal/dev: implement device iteration initialization Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 11/22] eal/dev: implement device iteration Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 12/22] kvargs: add generic string matching callback Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 13/22] bus/pci: fix find device implementation Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 14/22] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 15/22] bus/pci: add device matching field id Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 16/22] bus/vdev: fix find device implementation Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 17/22] bus/vdev: implement device iteration Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 18/22] bus/vdev: add device matching field driver Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 19/22] ethdev: add private generic device iterator Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 20/22] ethdev: register ether layer as a class Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 21/22] ethdev: add device matching field name Gaetan Rivet
2018-04-15 15:07 ` [dpdk-dev] [PATCH v7 22/22] app/testpmd: add show device command Gaetan Rivet
2018-06-14 10:59 ` Iremonger, Bernard
2018-06-14 11:35 ` Gaëtan Rivet
2018-04-22 22:54 ` [dpdk-dev] [PATCH v7 00/22] Device querying Thomas Monjalon
2018-04-24 10:03 ` Gaëtan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 00/21] " Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 01/21] devargs: add non-variadic parsing function Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 02/21] kvargs: build before EAL Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 03/21] kvargs: introduce a more flexible parsing function Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 04/21] eal: introduce dtor macros Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 05/21] eal: introduce device class abstraction Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 06/21] eal/class: register destructor Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 07/21] devargs: add function to parse device layers Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 08/21] eal/dev: add device iterator interface Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 09/21] eal/class: add device iteration Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 10/21] eal/bus: " Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 11/21] eal/dev: implement device iteration initialization Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 12/21] eal/dev: implement device iteration Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 13/21] kvargs: add generic string matching callback Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 14/21] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 15/21] bus/pci: add device matching field id Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 16/21] bus/vdev: implement device iteration Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 17/21] bus/vdev: add device matching field driver Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 18/21] ethdev: add private generic device iterator Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 19/21] ethdev: register ether layer as a class Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 20/21] ethdev: add device matching field name Gaetan Rivet
2018-06-26 16:56 ` [dpdk-dev] [PATCH v8 21/21] app/testpmd: add show device command Gaetan Rivet
2018-06-28 10:03 ` Iremonger, Bernard
2018-06-28 10:09 ` Gaëtan Rivet
2018-06-28 11:28 ` Iremonger, Bernard
2018-06-28 11:56 ` Gaëtan Rivet
2018-06-27 10:55 ` [dpdk-dev] [PATCH v8 00/21] Device querying Bruce Richardson
2018-06-27 11:29 ` Gaëtan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 00/27] " Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 01/27] devargs: add non-variadic parsing function Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 02/27] kvargs: remove error logs Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 03/27] kvargs: build before EAL Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 04/27] kvargs: introduce a more flexible parsing function Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 05/27] eal: introduce dtor macros Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 06/27] eal: introduce device class abstraction Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 07/27] eal/class: register destructor Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 08/27] devargs: add function to parse device layers Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 09/27] eal/dev: add device iterator interface Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 10/27] eal/class: add device iteration Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 11/27] eal/bus: " Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 12/27] eal/dev: implement device iteration initialization Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 13/27] eal/dev: implement device iteration Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 14/27] kvargs: add generic string matching callback Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 15/27] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-07-03 22:14 ` [dpdk-dev] [PATCH v9 16/27] bus/pci: add device matching field id Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 17/27] bus/vdev: implement device iteration Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 18/27] bus/vdev: add device matching field driver Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 19/27] ethdev: add private generic device iterator Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 20/27] ethdev: register ether layer as a class Gaetan Rivet
2018-07-04 12:20 ` Andrew Rybchenko
2018-07-05 9:36 ` Gaëtan Rivet
2018-07-05 11:13 ` Bruce Richardson
2018-07-05 11:54 ` Gaëtan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 21/27] ethdev: add device matching field name Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 22/27] app/testpmd: add show device command Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 23/27] bus/pci: pre-process declarative PCI devargs Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 24/27] bus/vdev: pre-process declarative vdev devargs Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 25/27] bus/pci: process declarative PCI devargs Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 26/27] ethdev: process declarative eth devargs Gaetan Rivet
2018-07-03 22:15 ` [dpdk-dev] [PATCH v9 27/27] eal: add generic dev parameter Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 00/27] Device querying Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 01/27] devargs: add non-variadic parsing function Gaetan Rivet
2018-07-05 14:44 ` Thomas Monjalon
2018-07-11 11:46 ` Shreyansh Jain
2018-07-11 12:01 ` Gaëtan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 02/27] kvargs: remove error logs Gaetan Rivet
2018-07-05 21:51 ` Thomas Monjalon
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 03/27] kvargs: build before EAL Gaetan Rivet
2018-07-05 21:50 ` Thomas Monjalon
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 04/27] kvargs: introduce a more flexible parsing function Gaetan Rivet
2018-07-05 22:00 ` Thomas Monjalon
2018-07-11 11:55 ` Shreyansh Jain
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 05/27] eal: introduce dtor macros Gaetan Rivet
2018-07-06 4:17 ` Shreyansh Jain
2018-07-10 11:40 ` Thomas Monjalon
2018-07-10 12:56 ` Gaëtan Rivet
2018-07-10 13:06 ` Thomas Monjalon
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 06/27] eal: introduce device class abstraction Gaetan Rivet
2018-07-11 8:10 ` Thomas Monjalon
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 07/27] eal/class: register destructor Gaetan Rivet
2018-07-11 8:12 ` Thomas Monjalon
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 08/27] devargs: add function to parse device layers Gaetan Rivet
2018-07-11 8:19 ` Thomas Monjalon
2018-07-11 8:41 ` Gaëtan Rivet
2018-07-11 9:30 ` Thomas Monjalon
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 09/27] eal/dev: add device iterator interface Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 10/27] eal/class: add device iteration Gaetan Rivet
2018-07-11 9:47 ` Thomas Monjalon
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 11/27] eal/bus: " Gaetan Rivet
2018-07-05 11:48 ` Gaetan Rivet [this message]
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 13/27] eal/dev: implement " Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 14/27] kvargs: add generic string matching callback Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 15/27] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 16/27] bus/pci: add device matching field id Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 17/27] bus/vdev: implement device iteration Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 18/27] bus/vdev: add device matching field driver Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 19/27] ethdev: add private generic device iterator Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 20/27] ethdev: register ether layer as a class Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 21/27] ethdev: add device matching field name Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 22/27] app/testpmd: add show device command Gaetan Rivet
2018-07-10 14:45 ` Iremonger, Bernard
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 23/27] bus/pci: pre-process declarative PCI devargs Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 24/27] bus/vdev: pre-process declarative vdev devargs Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 25/27] bus/pci: process declarative PCI devargs Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 26/27] ethdev: process declarative eth devargs Gaetan Rivet
2018-07-05 11:48 ` [dpdk-dev] [PATCH v10 27/27] eal: add generic dev parameter Gaetan Rivet
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 00/25] Device querying Gaetan Rivet
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 01/25] devargs: use rte-log functions Gaetan Rivet
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 02/25] devargs: add non-variadic parsing function Gaetan Rivet
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 03/25] kvargs: remove error logs Gaetan Rivet
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 04/25] kvargs: build before EAL Gaetan Rivet
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 05/25] kvargs: introduce a more flexible parsing function Gaetan Rivet
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 06/25] eal: introduce dtor macros Gaetan Rivet
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 07/25] eal: introduce device class abstraction Gaetan Rivet
2018-07-12 6:49 ` Shreyansh Jain
2018-07-12 7:41 ` Gaëtan Rivet
2018-07-14 10:35 ` Thomas Monjalon
2018-07-14 6:37 ` Thomas Monjalon
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 08/25] devargs: add function to parse device layers Gaetan Rivet
2018-07-12 9:48 ` Shreyansh Jain
2018-07-14 10:30 ` Thomas Monjalon
2018-07-11 21:44 ` [dpdk-dev] [PATCH v11 09/25] eal/dev: add device iterator interface Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 10/25] eal/dev: implement device iteration initialization Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 11/25] eal/dev: implement device iteration Gaetan Rivet
2018-07-12 10:58 ` Shreyansh Jain
2018-07-12 15:08 ` Gaëtan Rivet
2018-07-13 7:06 ` Shreyansh Jain
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 12/25] kvargs: add generic string matching callback Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 13/25] bus/pci: implement device iteration and comparison Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 14/25] bus/pci: add device matching field id Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 15/25] bus/vdev: implement device iteration Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 16/25] bus/vdev: add device matching field driver Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 17/25] ethdev: add private generic device iterator Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 18/25] ethdev: register ether layer as a class Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 19/25] ethdev: add device matching field name Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 20/25] app/testpmd: add show device command Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 21/25] bus/pci: pre-process declarative PCI devargs Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 22/25] bus/vdev: pre-process declarative vdev devargs Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 23/25] bus/pci: process declarative PCI devargs Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 24/25] ethdev: process declarative eth devargs Gaetan Rivet
2018-07-11 21:45 ` [dpdk-dev] [PATCH v11 25/25] eal: add generic dev parameter Gaetan Rivet
2018-07-15 21:54 ` [dpdk-dev] [PATCH v11 00/25] Device querying Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cf2ae4585d23c663d4c899111251636c376ba945.1530791217.git.gaetan.rivet@6wind.com \
--to=gaetan.rivet@6wind.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).