DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tetsuya Mukawa <mukawa@igel.co.jp>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v12 12/13] eal/pci: Add rte_eal_dev_attach/detach() functions
Date: Mon, 23 Feb 2015 21:46:01 +0900	[thread overview]
Message-ID: <1424695564-3913-13-git-send-email-mukawa@igel.co.jp> (raw)
In-Reply-To: <1424695564-3913-1-git-send-email-mukawa@igel.co.jp>

These functions are used for attaching or detaching a port.
When rte_eal_dev_attach() is called, the function tries to realize the
device name as pci address. If this is done successfully,
rte_eal_dev_attach() will attach physical device port. If not, attaches
virtual devive port.
When rte_eal_dev_detach() is called, the function gets the device type
of this port to know whether the port is come from physical or virtual.
And then specific detaching function will be called.

v11:
- Remove needless devargs handling codes.
- Replace get_vdev_name() by rte_eal_parse_devargs_str().
- Replace rte_eal_vdev_find_and_init by rte_eal_vdev_init()
- Replace rte_eal_vdev_find_and_uninit by rte_eal_vdev_uninit()
- Fix rte_eal_dev_init() to use rte_eal_vdev_init().
  (Thanks to Maxime Leroy)
v10:
- Add comments.
- Change order of version.map.
  (Thanks to Thomas Monjalon)
v9:
- Fix comments.
- Use strcmp() instead of strncmp().
- Remove RTE_EAL_INVOKE_TYPE_PROBE/CLOSE.
- Change definition of rte_dev_uninit_t.
  (Thanks to Thomas Monjalon and Maxime Leroy)
v8:
- Add missing symbol in version map.
  (Thanks to Qiu, Michael and Iremonger, Bernard)
v7:
- Fix typo of warning messages.
  (Thanks to Qiu, Michael)
v5:
- Change function names like below.
  rte_eal_dev_find_and_invoke() to rte_eal_vdev_find_and_invoke().
  rte_eal_dev_invoke() to rte_eal_vdev_invoke().
- Add code to handle a return value of rte_eal_devargs_remove().
- Fix pci address format in rte_eal_dev_detach().
v4:
- Fix comment.
- Add error checking.
- Fix indent of 'if' statement.
- Change function name.

Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
---
 lib/librte_eal/common/eal_common_dev.c          | 285 ++++++++++++++++++++++--
 lib/librte_eal/common/eal_common_devargs.c      |  46 ++--
 lib/librte_eal/common/eal_private.h             |  11 +
 lib/librte_eal/common/include/rte_dev.h         |  33 +++
 lib/librte_eal/common/include/rte_devargs.h     |  28 +++
 lib/librte_eal/linuxapp/eal/Makefile            |   1 +
 lib/librte_eal/linuxapp/eal/eal_pci.c           |   6 +-
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |   2 +
 8 files changed, 378 insertions(+), 34 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
index eae5656..7d4dce6 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -32,10 +32,13 @@
  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <stdio.h>
+#include <limits.h>
 #include <string.h>
 #include <inttypes.h>
 #include <sys/queue.h>
 
+#include <rte_ethdev.h>
 #include <rte_dev.h>
 #include <rte_devargs.h>
 #include <rte_debug.h>
@@ -61,6 +64,37 @@ rte_eal_driver_unregister(struct rte_driver *driver)
 	TAILQ_REMOVE(&dev_driver_list, driver, next);
 }
 
+static int
+rte_eal_vdev_init(const char *name, const char *args)
+{
+	struct rte_driver *driver;
+
+	if (name == NULL)
+		return -EINVAL;
+
+	TAILQ_FOREACH(driver, &dev_driver_list, next) {
+		if (driver->type != PMD_VDEV)
+			continue;
+
+		/*
+		 * search a driver prefix in virtual device name.
+		 * For example, if the driver is pcap PMD, driver->name
+		 * will be "eth_pcap", but "name" will be "eth_pcapN".
+		 * So use strncmp to compare.
+		 */
+		if (!strncmp(driver->name, name, strlen(driver->name))) {
+			driver->init(name, args);
+			break;
+		}
+	}
+
+	if (driver == NULL) {
+		RTE_LOG(WARNING, EAL, "no driver found for %s\n", name);
+		return -EINVAL;
+	}
+	return 0;
+}
+
 int
 rte_eal_dev_init(void)
 {
@@ -79,23 +113,10 @@ rte_eal_dev_init(void)
 		if (devargs->type != RTE_DEVTYPE_VIRTUAL)
 			continue;
 
-		TAILQ_FOREACH(driver, &dev_driver_list, next) {
-			if (driver->type != PMD_VDEV)
-				continue;
-
-			/* search a driver prefix in virtual device name */
-			if (!strncmp(driver->name, devargs->virtual.drv_name,
-					strlen(driver->name))) {
-				driver->init(devargs->virtual.drv_name,
-					devargs->args);
-				break;
-			}
-		}
-
-		if (driver == NULL) {
+		if (rte_eal_vdev_init(devargs->virtual.drv_name,
+					devargs->args))
 			rte_panic("no driver found for %s\n",
 				  devargs->virtual.drv_name);
-		}
 	}
 
 	/* Once the vdevs are initalized, start calling all the pdev drivers */
@@ -107,3 +128,237 @@ rte_eal_dev_init(void)
 	}
 	return 0;
 }
+
+/* So far, DPDK hotplug function only supports linux */
+#ifdef RTE_LIBRTE_EAL_HOTPLUG
+static int
+rte_eal_vdev_uninit(const char *name)
+{
+	struct rte_driver *driver;
+
+	if (name == NULL)
+		return -EINVAL;
+
+	TAILQ_FOREACH(driver, &dev_driver_list, next) {
+		if (driver->type != PMD_VDEV)
+			continue;
+
+		/*
+		 * search a driver prefix in virtual device name.
+		 * For example, if the driver is pcap PMD, driver->name
+		 * will be "eth_pcap", but "name" will be "eth_pcapN".
+		 * So use strncmp to compare.
+		 */
+		if (!strncmp(driver->name, name, strlen(driver->name))) {
+			driver->uninit(name);
+			break;
+		}
+	}
+
+	if (driver == NULL) {
+		RTE_LOG(WARNING, EAL, "no driver found for %s\n", name);
+		return 1;
+	}
+	return 0;
+}
+
+/* attach the new physical device, then store port_id of the device */
+static int
+rte_eal_dev_attach_pdev(struct rte_pci_addr *addr, uint8_t *port_id)
+{
+	uint8_t new_port_id;
+	struct rte_eth_dev devs[RTE_MAX_ETHPORTS];
+
+	if ((addr == NULL) || (port_id == NULL))
+		goto err;
+
+	/* save current port status */
+	if (rte_eth_dev_save(devs, sizeof(devs)))
+		goto err;
+	/* re-construct pci_device_list */
+	if (rte_eal_pci_scan())
+		goto err;
+	/* invoke probe func of the driver can handle the new device.
+	 * TODO:
+	 * rte_eal_pci_probe_one() should return port_id.
+	 * And rte_eth_dev_save() and rte_eth_dev_get_changed_port()
+	 * should be removed. */
+	if (rte_eal_pci_probe_one(addr))
+		goto err;
+	/* get port_id enabled by above procedures */
+	if (rte_eth_dev_get_changed_port(devs, &new_port_id))
+		goto err;
+
+	*port_id = new_port_id;
+	return 0;
+err:
+	RTE_LOG(ERR, EAL, "Driver, cannot attach the device\n");
+	return -1;
+}
+
+/* detach the new physical device, then store pci_addr of the device */
+static int
+rte_eal_dev_detach_pdev(uint8_t port_id, struct rte_pci_addr *addr)
+{
+	struct rte_pci_addr freed_addr;
+	struct rte_pci_addr vp;
+
+	if (addr == NULL)
+		goto err;
+
+	/* check whether the driver supports detach feature, or not */
+	if (rte_eth_dev_is_detachable(port_id))
+		goto err;
+
+	/* get pci address by port id */
+	if (rte_eth_dev_get_addr_by_port(port_id, &freed_addr))
+		goto err;
+
+	/* Zerod pci addr means the port comes from virtual device */
+	vp.domain = vp.bus = vp.devid = vp.function = 0;
+	if (rte_eal_compare_pci_addr(&vp, &freed_addr) == 0)
+		goto err;
+
+	/* invoke close func of the driver,
+	 * also remove the device from pci_device_list */
+	if (rte_eal_pci_close_one(&freed_addr))
+		goto err;
+
+	*addr = freed_addr;
+	return 0;
+err:
+	RTE_LOG(ERR, EAL, "Driver, cannot detach the device\n");
+	return -1;
+}
+
+/* attach the new virtual device, then store port_id of the device */
+static int
+rte_eal_dev_attach_vdev(const char *vdevargs, uint8_t *port_id)
+{
+	char *name = NULL, *args = NULL;
+	uint8_t new_port_id;
+	struct rte_eth_dev devs[RTE_MAX_ETHPORTS];
+	int ret = -1;
+
+	if ((vdevargs == NULL) || (port_id == NULL))
+		goto end;
+
+	/* parse vdevargs, then retrieve device name and args */
+	if (rte_eal_parse_devargs_str(vdevargs, &name, &args))
+		goto end;
+
+	/* save current port status */
+	if (rte_eth_dev_save(devs, sizeof(devs)))
+		goto end;
+	/* walk around dev_driver_list to find the driver of the device,
+	 * then invoke probe function o the driver.
+	 * TODO:
+	 * rte_eal_vdev_init() should return port_id,
+	 * And rte_eth_dev_save() and rte_eth_dev_get_changed_port()
+	 * should be removed. */
+	if (rte_eal_vdev_init(name, args))
+		goto end;
+	/* get port_id enabled by above procedures */
+	if (rte_eth_dev_get_changed_port(devs, &new_port_id))
+		goto end;
+	ret = 0;
+
+end:
+	if (name)
+		free(name);
+	if (args)
+		free(args);
+
+	*port_id = new_port_id;
+	if (ret < 0)
+		RTE_LOG(ERR, EAL, "Driver, cannot attach the device\n");
+	return ret;
+}
+
+/* detach the new virtual device, then store the name of the device */
+static int
+rte_eal_dev_detach_vdev(uint8_t port_id, char *vdevname)
+{
+	char name[RTE_ETH_NAME_MAX_LEN];
+
+	if (vdevname == NULL)
+		goto err;
+
+	/* check whether the driver supports detach feature, or not */
+	if (rte_eth_dev_is_detachable(port_id))
+		goto err;
+
+	/* get device name by port id */
+	if (rte_eth_dev_get_name_by_port(port_id, name))
+		goto err;
+	/* walk around dev_driver_list to find the driver of the device,
+	 * then invoke close function o the driver */
+	if (rte_eal_vdev_uninit(name))
+		goto err;
+
+	strncpy(vdevname, name, sizeof(name));
+	return 0;
+err:
+	RTE_LOG(ERR, EAL, "Driver, cannot detach the device\n");
+	return -1;
+}
+
+/* attach the new device, then store port_id of the device */
+int
+rte_eal_dev_attach(const char *devargs, uint8_t *port_id)
+{
+	struct rte_pci_addr addr;
+
+	if ((devargs == NULL) || (port_id == NULL))
+		return -EINVAL;
+
+	if (eal_parse_pci_DomBDF(devargs, &addr) == 0)
+		return rte_eal_dev_attach_pdev(&addr, port_id);
+	else
+		return rte_eal_dev_attach_vdev(devargs, port_id);
+}
+
+/* detach the device, then store the name of the device */
+int
+rte_eal_dev_detach(uint8_t port_id, char *name)
+{
+	struct rte_pci_addr addr;
+	int ret;
+
+	if (name == NULL)
+		return -EINVAL;
+
+	if (rte_eth_dev_get_device_type(port_id) == RTE_ETH_DEV_PCI) {
+		ret = rte_eth_dev_get_addr_by_port(port_id, &addr);
+		if (ret < 0)
+			return ret;
+
+		ret = rte_eal_dev_detach_pdev(port_id, &addr);
+		if (ret == 0)
+			snprintf(name, RTE_ETH_NAME_MAX_LEN,
+				"%04x:%02x:%02x.%d",
+				addr.domain, addr.bus,
+				addr.devid, addr.function);
+
+		return ret;
+	} else
+		return rte_eal_dev_detach_vdev(port_id, name);
+}
+#else /* RTE_LIBRTE_EAL_HOTPLUG */
+int
+rte_eal_dev_attach(const char *devargs __rte_unused,
+			uint8_t *port_id __rte_unused)
+{
+	RTE_LOG(ERR, EAL, "Hotplug support isn't enabled\n");
+	return -1;
+}
+
+/* detach the device, then store the name of the device */
+int
+rte_eal_dev_detach(uint8_t port_id __rte_unused,
+			char *name __rte_unused)
+{
+	RTE_LOG(ERR, EAL, "Hotplug support isn't enabled\n");
+	return -1;
+}
+#endif /* RTE_LIBRTE_EAL_HOTPLUG */
diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 3aace08..2988a70 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -44,13 +44,41 @@
 struct rte_devargs_list devargs_list =
 	TAILQ_HEAD_INITIALIZER(devargs_list);
 
+int
+rte_eal_parse_devargs_str(const char *devargs_str,
+			char **drvname, char **drvargs)
+{
+	char *sep;
+
+	if ((devargs_str == NULL) || drvname == NULL || drvargs == NULL)
+		return -1;
+
+	*drvname = strdup(devargs_str);
+	if (drvname == NULL) {
+		RTE_LOG(ERR, EAL, "cannot allocate temp memory for devargs\n");
+		return -1;
+	}
+
+	/* set the first ',' to '\0' to split name and arguments */
+	sep = strchr(*drvname, ',');
+	if (sep != NULL) {
+		sep[0] = '\0';
+		*drvargs = strdup(sep + 1);
+		if (*drvargs == NULL) {
+			RTE_LOG(ERR, EAL, "cannot allocate for devargs args\n");
+			free(*drvname);
+			return -1;
+		}
+	}
+	return 0;
+}
+
 /* store a whitelist parameter for later parsing */
 int
 rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 {
 	struct rte_devargs *devargs = NULL;
 	char *buf = NULL;
-	char *sep;
 	int ret;
 
 	/* use malloc instead of rte_malloc as it's called early at init */
@@ -62,22 +90,8 @@ rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str)
 	memset(devargs, 0, sizeof(*devargs));
 	devargs->type = devtype;
 
-	buf = strdup(devargs_str);
-	if (buf == NULL) {
-		RTE_LOG(ERR, EAL, "cannot allocate temp memory for devargs\n");
+	if (rte_eal_parse_devargs_str(devargs_str, &buf, &devargs->args))
 		goto fail;
-	}
-
-	/* set the first ',' to '\0' to split name and arguments */
-	sep = strchr(buf, ',');
-	if (sep != NULL) {
-		sep[0] = '\0';
-		devargs->args = strdup(sep + 1);
-		if (devargs->args == NULL) {
-			RTE_LOG(ERR, EAL, "cannot allocate for devargs args\n");
-			goto fail;
-		}
-	}
 
 	switch (devargs->type) {
 	case RTE_DEVTYPE_WHITELISTED_PCI:
diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h
index 4acf5a0..98b286a 100644
--- a/lib/librte_eal/common/eal_private.h
+++ b/lib/librte_eal/common/eal_private.h
@@ -154,6 +154,17 @@ struct rte_pci_driver;
 struct rte_pci_device;
 
 /**
+ * Scan the content of the PCI bus, and the devices in the devices
+ * list
+ *
+ * This function is private to EAL.
+ *
+ * @return
+ *  0 on success, negative on error
+ */
+int rte_eal_pci_scan(void);
+
+/**
  * Mmap memory for single PCI device
  *
  * This function is private to EAL.
diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
index f7e3a10..a5ac770 100644
--- a/lib/librte_eal/common/include/rte_dev.h
+++ b/lib/librte_eal/common/include/rte_dev.h
@@ -47,6 +47,7 @@ extern "C" {
 #endif
 
 #include <sys/queue.h>
+#include <rte_pci.h>
 
 /** Double linked list of device drivers. */
 TAILQ_HEAD(rte_driver_list, rte_driver);
@@ -57,6 +58,11 @@ TAILQ_HEAD(rte_driver_list, rte_driver);
 typedef int (rte_dev_init_t)(const char *name, const char *args);
 
 /**
+ * Uninitilization function called for each device driver once.
+ */
+typedef int (rte_dev_uninit_t)(const char *name);
+
+/**
  * Driver type enumeration
  */
 enum pmd_type {
@@ -72,6 +78,7 @@ struct rte_driver {
 	enum pmd_type type;		   /**< PMD Driver type */
 	const char *name;                   /**< Driver name. */
 	rte_dev_init_t *init;              /**< Device init. function. */
+	rte_dev_uninit_t *uninit;          /**< Device uninit. function. */
 };
 
 /**
@@ -93,6 +100,32 @@ void rte_eal_driver_register(struct rte_driver *driver);
 void rte_eal_driver_unregister(struct rte_driver *driver);
 
 /**
+ * Attach a new device.
+ *
+ * @param devargs
+ *   A pointer to a strings array describing the new device
+ *   to be attached. The strings should be a pci address like
+ *   '0000:01:00.0' or virtual device name like 'eth_pcap0'.
+ * @param port_id
+ *  A pointer to a port identifier actually attached.
+ * @return
+ *  0 on success and port_id is filled, negative on error
+ */
+int rte_eal_dev_attach(const char *devargs, uint8_t *port_id);
+
+/**
+ * Detach a device.
+ *
+ * @param port_id
+ *   The port identifier of the device to detach.
+ * @param addr
+ *  A pointer to a device name actually detached.
+ * @return
+ *  0 on success and devname is filled, negative on error
+ */
+int rte_eal_dev_detach(uint8_t port_id, char *devname);
+
+/**
  * Initalize all the registered drivers in this process
  */
 int rte_eal_dev_init(void);
diff --git a/lib/librte_eal/common/include/rte_devargs.h b/lib/librte_eal/common/include/rte_devargs.h
index 996e180..274a92c 100644
--- a/lib/librte_eal/common/include/rte_devargs.h
+++ b/lib/librte_eal/common/include/rte_devargs.h
@@ -99,6 +99,34 @@ TAILQ_HEAD(rte_devargs_list, rte_devargs);
 extern struct rte_devargs_list devargs_list;
 
 /**
+ * Parse a devargs string.
+ *
+ * For PCI devices, the format of arguments string is "PCI_ADDR" or
+ * "PCI_ADDR,key=val,key2=val2,...". Examples: "08:00.1", "0000:5:00.0",
+ * "04:00.0,arg=val".
+ *
+ * For virtual devices, the format of arguments string is "DRIVER_NAME*"
+ * or "DRIVER_NAME*,key=val,key2=val2,...". Examples: "eth_ring",
+ * "eth_ring0", "eth_pmdAnything,arg=0:arg2=1".
+ *
+ * The function parses the arguments string to get driver name and driver
+ * arguments.
+ *
+ * @param devargs_str
+ *   The arguments as given by the user.
+ * @param drvname
+ *   The pointer to the string to store parsed driver name.
+ * @param drvargs
+ *   The pointer to the string to store parsed driver arguments.
+ *
+ * @return
+ *   - 0 on success
+ *   - A negative value on error
+ */
+int rte_eal_parse_devargs_str(const char *devargs_str,
+				char **drvname, char **drvargs);
+
+/**
  * Add a device to the user device list
  *
  * For PCI devices, the format of arguments string is "PCI_ADDR" or
diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile
index e117cec..b59b201 100644
--- a/lib/librte_eal/linuxapp/eal/Makefile
+++ b/lib/librte_eal/linuxapp/eal/Makefile
@@ -45,6 +45,7 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
 CFLAGS += -I$(RTE_SDK)/lib/librte_ring
 CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
 CFLAGS += -I$(RTE_SDK)/lib/librte_malloc
+CFLAGS += -I$(RTE_SDK)/lib/librte_mbuf
 CFLAGS += -I$(RTE_SDK)/lib/librte_ether
 CFLAGS += -I$(RTE_SDK)/lib/librte_ivshmem
 CFLAGS += -I$(RTE_SDK)/lib/librte_pmd_ring
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c
index 85d9d09..ab77b68 100644
--- a/lib/librte_eal/linuxapp/eal/eal_pci.c
+++ b/lib/librte_eal/linuxapp/eal/eal_pci.c
@@ -439,8 +439,8 @@ error:
  * Scan the content of the PCI bus, and the devices in the devices
  * list
  */
-static int
-pci_scan(void)
+int
+rte_eal_pci_scan(void)
 {
 	struct dirent *e;
 	DIR *dir;
@@ -772,7 +772,7 @@ rte_eal_pci_init(void)
 	if (internal_config.no_pci)
 		return 0;
 
-	if (pci_scan() < 0) {
+	if (rte_eal_pci_scan() < 0) {
 		RTE_LOG(ERR, EAL, "%s(): Cannot scan PCI bus\n", __func__);
 		return -1;
 	}
diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
index 5ed6e4d..5d40e02 100644
--- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
+++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
@@ -20,6 +20,8 @@ DPDK_2.0 {
 	rte_dump_tailq;
 	rte_eal_alarm_cancel;
 	rte_eal_alarm_set;
+	rte_eal_dev_attach;
+	rte_eal_dev_detach;
 	rte_eal_dev_init;
 	rte_eal_devargs_add;
 	rte_eal_devargs_dump;
-- 
1.9.1

  parent reply	other threads:[~2015-02-23 12:47 UTC|newest]

Thread overview: 362+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1418106629-22227-2-git-send-email-mukawa@igel.co.j>
2015-01-19 10:40 ` [dpdk-dev] [PATCH v4 00/11] Port Hotplug Framework Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 01/11] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
     [not found]     ` <8CEF83825BEC744B83065625E567D7C2049D7C19@IRSMSX108.ger.corp.intel.com>
2015-01-19 14:24       ` [dpdk-dev] FW: " Qiu, Michael
2015-01-20  2:02         ` Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 02/11] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 03/11] ethdev: Add rte_eth_dev_free to free specified device Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 04/11] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 05/11] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-01-21  2:40     ` Qiu, Michael
2015-01-21  9:02       ` Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 06/11] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-01-20  9:23     ` Qiu, Michael
2015-01-21  0:17       ` Tetsuya Mukawa
2015-01-21 10:01       ` Tetsuya Mukawa
2015-01-22  8:12         ` Qiu, Michael
2015-01-22 10:15           ` Tetsuya Mukawa
2015-01-23  2:54             ` Qiu, Michael
2015-01-23  3:20               ` Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 07/11] eal/pci: Add a function to remove the entry of devargs list Tetsuya Mukawa
2015-01-21  2:55     ` Qiu, Michael
2015-01-21  6:33       ` Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 08/11] eal/pci: Cleanup pci driver initialization code Tetsuya Mukawa
2015-01-30  5:42     ` [dpdk-dev] [PATCH v5 00/13] Port Hotplug Framework Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 01/13] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 02/13] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 03/13] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 04/13] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 05/13] ethdev: Add rte_eth_dev_free to free specified device Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 06/13] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 07/13] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 08/13] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 09/13] eal/pci: Add a function to remove the entry of devargs list Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 10/13] eal/pci: Cleanup pci driver initialization code Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 11/13] ethdev: Add one dev_type paramerter to rte_eth_dev_allocate Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 12/13] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5 13/13] eal: Enable port hotplug framework in Linux Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-01-30  5:42       ` [dpdk-dev] [PATCH v5] testpmd: " Tetsuya Mukawa
2015-02-01  4:01     ` [dpdk-dev] [PATCH v6 00/13] Port Hotplug Framework Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 01/13] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 02/13] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 03/13] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-09  8:30         ` [dpdk-dev] [PATCH v7 00/14] Port Hotplug Framework Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 01/14] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-16  4:14             ` [dpdk-dev] [PATCH v8 00/14] Port Hotplug Framework Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 01/14] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-16 16:14                 ` Iremonger, Bernard
2015-02-17  0:12                 ` Thomas Monjalon
2015-02-17  3:09                   ` Qiu, Michael
2015-02-20  6:39                 ` [dpdk-dev] [PATCH v10 00/14] Port Hotplug Framework Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 01/14] eal: Enable port Hotplug framework in Linux Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 02/14] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 03/14] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 04/14] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 05/14] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-23  5:09                     ` [dpdk-dev] [PATCH v11 00/13] Port Hotplug Framework Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 01/13] eal: Enable port Hotplug framework in Linux Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 02/13] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 03/13] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 04/13] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 05/13] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 06/13] ethdev: Add rte_eth_dev_release_port to release specified port Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 07/13] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 08/13] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-23 11:01                         ` Iremonger, Bernard
2015-02-23 11:32                           ` Tetsuya Mukawa
2015-02-23 11:39                             ` Iremonger, Bernard
2015-02-23 11:40                               ` Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 09/13] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 10/13] eal/pci: Add probe and close functions of pci driver Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 11/13] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 12/13] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-02-23 13:29                         ` Maxime Leroy
2015-02-24  4:48                           ` Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11 13/13] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-23  5:09                       ` [dpdk-dev] [PATCH v11] testpmd: " Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 06/14] ethdev: Add rte_eth_dev_release_port to release specified port Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 07/14] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 08/14] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 09/14] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 10/14] eal/pci: Add a function to remove the entry of devargs list Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 11/14] eal/pci: Add probe and close functions of pci driver Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 12/14] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 13/14] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-02-20 10:14                     ` Maxime Leroy
2015-02-20 10:32                       ` Tetsuya Mukawa
2015-02-20 15:20                         ` Maxime Leroy
2015-02-21  3:49                           ` Tetsuya Mukawa
2015-02-21 12:49                             ` Maxime Leroy
2015-02-22  3:04                               ` Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10 14/14] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-20  6:39                   ` [dpdk-dev] [PATCH v10] testpmd: " Tetsuya Mukawa
2015-02-23 12:45                 ` [dpdk-dev] [PATCH v12 00/13] Port Hotplug Framework Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 01/13] eal: Enable port Hotplug framework in Linux Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 02/13] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 03/13] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 04/13] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 05/13] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 06/13] ethdev: Add rte_eth_dev_release_port to release specified port Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 07/13] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 08/13] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 09/13] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-23 12:45                   ` [dpdk-dev] [PATCH v12 10/13] eal/pci: Add probe and close functions of pci driver Tetsuya Mukawa
2015-02-23 12:46                   ` [dpdk-dev] [PATCH v12 11/13] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-23 12:46                   ` Tetsuya Mukawa [this message]
2015-02-23 12:46                   ` [dpdk-dev] [PATCH v12 13/13] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-02-23 12:46                   ` [dpdk-dev] [PATCH v12] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-23 12:46                   ` [dpdk-dev] [PATCH v12] testpmd: " Tetsuya Mukawa
2015-02-24  4:49                 ` [dpdk-dev] [PATCH v13 00/13] Port Hotplug Framework Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 01/13] eal: Enable port Hotplug framework in Linux Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 02/13] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 03/13] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 04/13] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 05/13] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 06/13] ethdev: Add rte_eth_dev_release_port to release specified port Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 07/13] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 08/13] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 09/13] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 10/13] eal/pci: Add probe and close functions of pci driver Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 11/13] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 12/13] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-02-24 13:25                     ` Maxime Leroy
2015-02-24 14:29                       ` Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13 13/13] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-24  4:49                   ` [dpdk-dev] [PATCH v13] testpmd: " Tetsuya Mukawa
2015-02-25  4:04                 ` [dpdk-dev] [PATCH v14 00/13] Port Hotplug Framework Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 01/13] eal: Enable port Hotplug framework in Linux Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 02/13] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 03/13] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 04/13] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 05/13] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 06/13] ethdev: Add rte_eth_dev_release_port to release specified port Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 07/13] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 08/13] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 09/13] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 10/13] eal/pci: Add probe and close functions of pci driver Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 11/13] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 12/13] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-02-25 11:21                     ` Thomas Monjalon
2015-02-25 12:32                       ` Tetsuya Mukawa
2015-02-25 14:00                         ` Thomas Monjalon
2015-02-25 14:56                           ` Tetsuya Mukawa
2015-02-25 19:32                     ` [dpdk-dev] [PATCH v15 00/13] Port Hotplug Framework Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 01/13] eal: Enable port Hotplug framework in Linux Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 02/13] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 03/13] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 04/13] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 05/13] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 06/13] ethdev: Add rte_eth_dev_release_port to release specified port Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 07/13] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 08/13] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 09/13] eal/pci: Add probe and close functions of pci driver Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 10/13] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 11/13] eal/pci: Add vdev driver initialization and uninitialization functions Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 12/13] ethdev: Add rte_eth_dev_attach/detach() functions Tetsuya Mukawa
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15 13/13] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-03-02 19:03                         ` Butler, Siobhan A
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-25 23:27                         ` Thomas Monjalon
2015-02-25 19:32                       ` [dpdk-dev] [PATCH v15] testpmd: " Tetsuya Mukawa
2015-02-25 23:27                         ` Thomas Monjalon
2015-02-26 18:49                         ` De Lara Guarch, Pablo
2015-02-27  6:14                           ` Tetsuya Mukawa
2015-02-27 23:32                             ` Thomas Monjalon
2015-03-03 15:54                         ` De Lara Guarch, Pablo
2015-03-05  6:23                           ` Tetsuya Mukawa
2015-02-25 23:26                       ` [dpdk-dev] [PATCH v15 00/13] Port Hotplug Framework Thomas Monjalon
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14 13/13] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-25  4:04                   ` [dpdk-dev] [PATCH v14] testpmd: " Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 02/14] eal_pci: pci memory map work with driver type Tetsuya Mukawa
2015-02-16 16:15                 ` Iremonger, Bernard
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 03/14] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-16 16:17                 ` Iremonger, Bernard
2015-02-17  0:36                 ` Thomas Monjalon
2015-02-17  6:14                   ` Tetsuya Mukawa
2015-02-18  0:31                     ` Thomas Monjalon
2015-02-18  1:54                       ` Tetsuya Mukawa
2015-02-18  6:10                         ` Tetsuya Mukawa
2015-02-18  9:27                           ` Iremonger, Bernard
2015-02-18  9:57                           ` Thomas Monjalon
2015-02-18 10:03                             ` Bruce Richardson
2015-02-18 10:58                               ` Tetsuya Mukawa
2015-02-18 12:23                                 ` Bruce Richardson
2015-02-18 12:38                                   ` Tetsuya Mukawa
2015-02-18 12:33                                 ` Iremonger, Bernard
2015-02-18 12:41                                   ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 04/14] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-16 16:19                 ` Iremonger, Bernard
2015-02-17  0:44                 ` Thomas Monjalon
2015-02-17  6:14                   ` Tetsuya Mukawa
2015-02-18  1:02                     ` Thomas Monjalon
2015-02-18  1:55                       ` Tetsuya Mukawa
2015-02-18 10:26                         ` Iremonger, Bernard
2015-02-18 10:32                           ` Thomas Monjalon
2015-02-18 11:39                             ` Iremonger, Bernard
2015-02-18 12:20                               ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 05/14] ethdev: Add rte_eth_dev_free to free specified device Tetsuya Mukawa
2015-02-16 16:20                 ` Iremonger, Bernard
2015-02-17  0:46                 ` Thomas Monjalon
2015-02-17  6:15                   ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 06/14] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-16 16:22                 ` Iremonger, Bernard
2015-02-17  0:56                 ` Thomas Monjalon
2015-02-17  6:15                   ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 07/14] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-16 12:41                 ` Neil Horman
2015-02-17  5:54                   ` Tetsuya Mukawa
2015-02-16 16:23                 ` Iremonger, Bernard
2015-02-17  1:04                 ` Thomas Monjalon
2015-02-17  8:50                   ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 08/14] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-16 12:45                 ` Neil Horman
2015-02-17  5:53                   ` Tetsuya Mukawa
2015-02-16 16:25                 ` Iremonger, Bernard
2015-02-17  1:11                 ` Thomas Monjalon
2015-02-17  6:15                   ` Tetsuya Mukawa
2015-02-18  1:09                     ` Thomas Monjalon
2015-02-18  9:37                       ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 09/14] eal/pci: Add a function to remove the entry of devargs list Tetsuya Mukawa
2015-02-16 16:26                 ` Iremonger, Bernard
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 10/14] eal/pci: Cleanup pci driver initialization code Tetsuya Mukawa
2015-02-16 16:27                 ` Iremonger, Bernard
2015-02-17  1:18                 ` Thomas Monjalon
2015-02-17  6:15                   ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 11/14] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-16 16:28                 ` Iremonger, Bernard
2015-02-17  1:24                 ` Thomas Monjalon
2015-02-17  6:15                   ` Tetsuya Mukawa
2015-02-19  2:49                 ` [dpdk-dev] [PATCH v9 00/14] Port Hotplug Framework Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 01/14] eal: Enable port Hotplug framework in Linux Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 02/14] eal_pci: Add flag to hold kernel driver type Tetsuya Mukawa
2015-02-19 11:17                     ` Thomas Monjalon
2015-02-19 13:29                       ` Tetsuya Mukawa
2015-02-20  5:18                         ` Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 03/14] eal_pci: pci memory map work with " Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 04/14] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 05/14] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 06/14] ethdev: Add rte_eth_dev_release_port to release specified port Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 07/14] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-19 14:31                     ` Iremonger, Bernard
2015-02-20  1:17                       ` Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 08/14] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-19 11:24                     ` Thomas Monjalon
2015-02-19 13:29                       ` Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 09/14] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 10/14] eal/pci: Add a function to remove the entry of devargs list Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 11/14] eal/pci: Add probe and close functions of pci driver Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 12/14] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-19 14:51                     ` Iremonger, Bernard
2015-02-20  1:18                       ` Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 13/14] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-02-19 12:10                     ` Thomas Monjalon
2015-02-19 13:30                       ` Tetsuya Mukawa
2015-02-19 13:37                         ` Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9 14/14] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-19  2:49                   ` [dpdk-dev] [PATCH v9] testpmd: " Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 12/14] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-02-16 16:30                 ` Iremonger, Bernard
2015-02-17  1:48                 ` Thomas Monjalon
2015-02-17  8:51                   ` Tetsuya Mukawa
2015-02-17  9:23                     ` Thomas Monjalon
2015-02-17 10:26                       ` Tetsuya Mukawa
2015-02-18  1:17                         ` Thomas Monjalon
2015-02-18  1:55                           ` Tetsuya Mukawa
2015-02-17 16:15                     ` Maxime Leroy
2015-02-18  1:54                       ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 13/14] eal: Enable port hotplug framework in Linux Tetsuya Mukawa
2015-02-16 16:30                 ` Iremonger, Bernard
2015-02-17  1:25                 ` Thomas Monjalon
2015-02-17  6:15                   ` Tetsuya Mukawa
2015-02-16  4:14               ` [dpdk-dev] [PATCH v8 14/14] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-02-16 16:32                 ` Iremonger, Bernard
2015-02-16  5:13               ` [dpdk-dev] [PATCH v8 00/14] Port Hotplug Framework Qiu, Michael
2015-02-16  4:15             ` [dpdk-dev] [PATCH v8] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-16 16:36               ` Iremonger, Bernard
2015-02-16  4:15             ` [dpdk-dev] [PATCH v8] testpmd: " Tetsuya Mukawa
2015-02-16 16:35               ` Iremonger, Bernard
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 02/14] eal_pci: pci memory map work with driver type Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 03/14] eal/pci, ethdev: Remove assumption that port will not be detached Tetsuya Mukawa
2015-02-09  8:52             ` Qiu, Michael
2015-02-09 15:16             ` Iremonger, Bernard
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 04/14] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-09 13:10             ` Qiu, Michael
2015-02-10 15:08               ` Iremonger, Bernard
2015-02-11  2:51                 ` Tetsuya Mukawa
2015-02-11  3:27                 ` Qiu, Michael
2015-02-11  4:53                   ` Tetsuya Mukawa
2015-02-11  4:57                     ` Tetsuya Mukawa
2015-02-11  6:29                       ` Qiu, Michael
2015-02-11  8:14                         ` Tetsuya Mukawa
2015-02-11 12:13                           ` Qiu, Michael
2015-02-12  1:44                             ` Tetsuya Mukawa
2015-02-12 13:55                               ` Iremonger, Bernard
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 05/14] ethdev: Add rte_eth_dev_free to free specified device Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 06/14] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 07/14] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-09 15:34             ` Iremonger, Bernard
2015-02-10  1:30               ` Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 08/14] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-09 13:44             ` Iremonger, Bernard
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 09/14] eal/pci: Add a function to remove the entry of devargs list Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 10/14] eal/pci: Cleanup pci driver initialization code Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 11/14] ethdev: Add one dev_type parameter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-09 15:03             ` Iremonger, Bernard
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 12/14] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 13/14] eal: Enable port hotplug framework in Linux Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7 14/14] doc: Add port hotplug framework section to programmers guide Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-09  8:30           ` [dpdk-dev] [PATCH v7] testpmd: " Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 04/13] eal/pci: Consolidate pci address comparison APIs Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 05/13] ethdev: Add rte_eth_dev_free to free specified device Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 06/13] eal, ethdev: Add a function and function pointers to close ether device Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 07/13] ethdev: Add functions that will be used by port hotplug functions Tetsuya Mukawa
2015-02-03  2:37         ` Qiu, Michael
2015-02-03  4:07           ` Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 08/13] eal/linux/pci: Add functions for unmapping igb_uio resources Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 09/13] eal/pci: Add a function to remove the entry of devargs list Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 10/13] eal/pci: Cleanup pci driver initialization code Tetsuya Mukawa
2015-02-03  2:35         ` Qiu, Michael
2015-02-03  4:07           ` Tetsuya Mukawa
2015-02-03  5:05             ` Qiu, Michael
2015-02-03  8:00               ` Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 11/13] ethdev: Add one dev_type paramerter to rte_eth_dev_allocate Tetsuya Mukawa
2015-02-01  4:01       ` [dpdk-dev] [PATCH v6 12/13] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-02-02  5:42         ` Qiu, Michael
2015-02-02  6:22           ` Qiu, Michael
2015-02-03  1:28             ` Tetsuya Mukawa
2015-02-01  4:02       ` [dpdk-dev] [PATCH v6 13/13] eal: Enable port hotplug framework in Linux Tetsuya Mukawa
2015-02-01  4:02       ` [dpdk-dev] [PATCH v6] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-02-01  4:02       ` [dpdk-dev] [PATCH v6] testpmd: " Tetsuya Mukawa
     [not found]         ` <8CEF83825BEC744B83065625E567D7C2049DCAD2@IRSMSX108.ger.corp.intel.com>
2015-02-03  1:32           ` Tetsuya Mukawa
2015-02-03 10:03             ` Iremonger, Bernard
2015-02-03 10:31               ` Tetsuya Mukawa
     [not found]           ` <1688512.MY7Nexz1BF@xps13>
2015-02-03  1:34             ` Tetsuya Mukawa
2015-02-03  6:15         ` Qiu, Michael
2015-02-03  9:14           ` Qiu, Michael
2015-02-03 10:29             ` Tetsuya Mukawa
2015-02-04  1:44               ` Qiu, Michael
2015-02-05  1:37                 ` Tetsuya Mukawa
2015-02-03  6:59         ` Qiu, Michael
2015-02-03 10:26           ` Tetsuya Mukawa
2015-02-03 13:03       ` [dpdk-dev] [PATCH v6 00/13] Port Hotplug Framework Iremonger, Bernard
2015-02-05  1:32         ` Tetsuya Mukawa
2015-02-03 18:35       ` Iremonger, Bernard
2015-02-05  1:34         ` Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 09/11] ethdev: Add one dev_type paramerter to rte_eth_dev_allocate Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 10/11] eal/pci: Add rte_eal_dev_attach/detach() functions Tetsuya Mukawa
2015-01-21  3:49     ` Qiu, Michael
2015-01-21  6:34       ` Tetsuya Mukawa
2015-01-19 10:40   ` [dpdk-dev] [PATCH v4 11/11] eal: Enable port hotplug framework in Linux Tetsuya Mukawa
2015-01-19 13:15   ` [dpdk-dev] [PATCH v4 00/11] Port Hotplug Framework Qiu, Michael
2015-01-27  3:00   ` Qiu, Michael
2015-01-27  5:01     ` Tetsuya Mukawa
2015-01-27  5:50       ` Qiu, Michael
2015-01-27  7:24         ` Tetsuya Mukawa
2015-01-19 10:41 ` [dpdk-dev] [PATCH v4] librte_pmd_pcap: Add port hotplug support Tetsuya Mukawa
2015-01-19 10:42 ` [dpdk-dev] [PATCH v4] testpmd: " Tetsuya Mukawa

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=1424695564-3913-13-git-send-email-mukawa@igel.co.jp \
    --to=mukawa@igel.co.jp \
    --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).