DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [dpdk-dev] [PATCH v3 27/27] vhost: rename SLAVE to CLIENT
Date: Wed,  1 Jul 2020 12:46:50 -0700	[thread overview]
Message-ID: <20200701194650.10705-28-stephen@networkplumber.org> (raw)
In-Reply-To: <20200701194650.10705-1-stephen@networkplumber.org>

The vhost is a client server architecture so replace the
term slave with client.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/vdpa/ifc/ifcvf_vdpa.c          |  4 +-
 drivers/vdpa/mlx5/mlx5_vdpa.c          |  4 +-
 lib/librte_vhost/rte_vhost.h           | 16 ++---
 lib/librte_vhost/rte_vhost_version.map |  2 +-
 lib/librte_vhost/vhost.c               |  4 +-
 lib/librte_vhost/vhost.h               |  4 +-
 lib/librte_vhost/vhost_crypto.c        |  2 +-
 lib/librte_vhost/vhost_user.c          | 96 +++++++++++++-------------
 lib/librte_vhost/vhost_user.h          | 24 +++----
 9 files changed, 78 insertions(+), 78 deletions(-)

diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c
index de54dc8aab6c..6c02b99f5e44 100644
--- a/drivers/vdpa/ifc/ifcvf_vdpa.c
+++ b/drivers/vdpa/ifc/ifcvf_vdpa.c
@@ -1071,8 +1071,8 @@ ifcvf_get_vdpa_features(struct rte_vdpa_device *vdev, uint64_t *features)
 
 #define VDPA_SUPPORTED_PROTOCOL_FEATURES \
 		(1ULL << VHOST_USER_PROTOCOL_F_REPLY_ACK | \
-		 1ULL << VHOST_USER_PROTOCOL_F_SLAVE_REQ | \
-		 1ULL << VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD | \
+		 1ULL << VHOST_USER_PROTOCOL_F_CLIENT_REQ | \
+		 1ULL << VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD | \
 		 1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER | \
 		 1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD)
 static int
diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c
index dbd36ab0c95e..8fd2de9ba98f 100644
--- a/drivers/vdpa/mlx5/mlx5_vdpa.c
+++ b/drivers/vdpa/mlx5/mlx5_vdpa.c
@@ -34,8 +34,8 @@
 			    (1ULL << VIRTIO_NET_F_MTU))
 
 #define MLX5_VDPA_PROTOCOL_FEATURES \
-			    ((1ULL << VHOST_USER_PROTOCOL_F_SLAVE_REQ) | \
-			     (1ULL << VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD) | \
+			    ((1ULL << VHOST_USER_PROTOCOL_F_CLIENT_REQ) | \
+			     (1ULL << VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD) | \
 			     (1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \
 			     (1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) | \
 			     (1ULL << VHOST_USER_PROTOCOL_F_MQ) | \
diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h
index 8a5c332c83ac..b952e6d47021 100644
--- a/lib/librte_vhost/rte_vhost.h
+++ b/lib/librte_vhost/rte_vhost.h
@@ -74,8 +74,8 @@ extern "C" {
 #define VHOST_USER_PROTOCOL_F_NET_MTU	4
 #endif
 
-#ifndef VHOST_USER_PROTOCOL_F_SLAVE_REQ
-#define VHOST_USER_PROTOCOL_F_SLAVE_REQ	5
+#ifndef VHOST_USER_PROTOCOL_F_CLIENT_REQ
+#define VHOST_USER_PROTOCOL_F_CLIENT_REQ	5
 #endif
 
 #ifndef VHOST_USER_PROTOCOL_F_CRYPTO_SESSION
@@ -90,8 +90,8 @@ extern "C" {
 #define VHOST_USER_PROTOCOL_F_CONFIG 9
 #endif
 
-#ifndef VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD
-#define VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD 10
+#ifndef VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD
+#define VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD 10
 #endif
 
 #ifndef VHOST_USER_PROTOCOL_F_HOST_NOTIFIER
@@ -249,9 +249,9 @@ typedef enum rte_vhost_msg_result (*rte_vhost_msg_handle)(int vid, void *msg);
  * Optional vhost user message handlers.
  */
 struct rte_vhost_user_extern_ops {
-	/* Called prior to the master message handling. */
+	/* Called prior to the server message handling. */
 	rte_vhost_msg_handle pre_msg_handle;
-	/* Called after the master message handling. */
+	/* Called after the server message handling. */
 	rte_vhost_msg_handle post_msg_handle;
 };
 
@@ -1008,13 +1008,13 @@ rte_vhost_get_vdpa_device(int vid);
  * @param vid
  *  vhost device ID
  * @param need_reply
- *  wait for the master response the status of this operation
+ *  wait for the server response the status of this operation
  * @return
  *  0 on success, < 0 on failure
  */
 __rte_experimental
 int
-rte_vhost_slave_config_change(int vid, bool need_reply);
+rte_vhost_client_config_change(int vid, bool need_reply);
 
 #ifdef __cplusplus
 }
diff --git a/lib/librte_vhost/rte_vhost_version.map b/lib/librte_vhost/rte_vhost_version.map
index 86784405a1e8..74973ce9b8ec 100644
--- a/lib/librte_vhost/rte_vhost_version.map
+++ b/lib/librte_vhost/rte_vhost_version.map
@@ -65,7 +65,7 @@ EXPERIMENTAL {
 	rte_vhost_clr_inflight_desc_packed;
 	rte_vhost_get_vhost_ring_inflight;
 	rte_vhost_get_vring_base_from_inflight;
-	rte_vhost_slave_config_change;
+	rte_vhost_client_config_change;
 	rte_vdpa_find_device_by_name;
 	rte_vdpa_get_rte_device;
 	rte_vdpa_get_queue_num;
diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
index 0d822d6a3f48..3d111d714bf1 100644
--- a/lib/librte_vhost/vhost.c
+++ b/lib/librte_vhost/vhost.c
@@ -632,9 +632,9 @@ vhost_new_device(void)
 	vhost_devices[i] = dev;
 	dev->vid = i;
 	dev->flags = VIRTIO_DEV_BUILTIN_VIRTIO_NET;
-	dev->slave_req_fd = -1;
+	dev->client_req_fd = -1;
 	dev->postcopy_ufd = -1;
-	rte_spinlock_init(&dev->slave_req_lock);
+	rte_spinlock_init(&dev->client_req_lock);
 
 	return i;
 }
diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
index 0344636997a6..a0902d1535c4 100644
--- a/lib/librte_vhost/vhost.h
+++ b/lib/librte_vhost/vhost.h
@@ -356,8 +356,8 @@ struct virtio_net {
 	uint32_t		max_guest_pages;
 	struct guest_page       *guest_pages;
 
-	int			slave_req_fd;
-	rte_spinlock_t		slave_req_lock;
+	int			client_req_fd;
+	rte_spinlock_t		client_req_lock;
 
 	int			postcopy_ufd;
 	int			postcopy_listening;
diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c
index 0f9df4059d0b..8e4fc1bf015a 100644
--- a/lib/librte_vhost/vhost_crypto.c
+++ b/lib/librte_vhost/vhost_crypto.c
@@ -460,7 +460,7 @@ vhost_crypto_msg_post_handler(int vid, void *msg)
 		return RTE_VHOST_MSG_RESULT_ERR;
 	}
 
-	switch (vmsg->request.master) {
+	switch (vmsg->request.server) {
 	case VHOST_USER_CRYPTO_CREATE_SESS:
 		vhost_crypto_create_sess(vcrypto,
 				&vmsg->payload.crypto_session);
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 6039a8fdb9cb..56da81cd1e17 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -7,11 +7,11 @@
  * The vhost-user protocol connection is an external interface, so it must be
  * robust against invalid inputs.
  *
- * This is important because the vhost-user master is only one step removed
+ * This is important because the vhost-user server is only one step removed
  * from the guest.  Malicious guests that have escaped will then launch further
- * attacks from the vhost-user master.
+ * attacks from the vhost-user server.
  *
- * Even in deployments where guests are trusted, a bug in the vhost-user master
+ * Even in deployments where guests are trusted, a bug in the vhost-user server
  * can still cause invalid messages to be sent.  Such messages must not
  * compromise the stability of the DPDK application by causing crashes, memory
  * corruption, or other problematic behavior.
@@ -78,7 +78,7 @@ static const char *vhost_message_str[VHOST_USER_MAX] = {
 	[VHOST_USER_SET_VRING_ENABLE]  = "VHOST_USER_SET_VRING_ENABLE",
 	[VHOST_USER_SEND_RARP]  = "VHOST_USER_SEND_RARP",
 	[VHOST_USER_NET_SET_MTU]  = "VHOST_USER_NET_SET_MTU",
-	[VHOST_USER_SET_SLAVE_REQ_FD]  = "VHOST_USER_SET_SLAVE_REQ_FD",
+	[VHOST_USER_SET_CLIENT_REQ_FD]  = "VHOST_USER_SET_CLIENT_REQ_FD",
 	[VHOST_USER_IOTLB_MSG]  = "VHOST_USER_IOTLB_MSG",
 	[VHOST_USER_CRYPTO_CREATE_SESS] = "VHOST_USER_CRYPTO_CREATE_SESS",
 	[VHOST_USER_CRYPTO_CLOSE_SESS] = "VHOST_USER_CRYPTO_CLOSE_SESS",
@@ -114,7 +114,7 @@ validate_msg_fds(struct VhostUserMsg *msg, int expected_fds)
 	VHOST_LOG_CONFIG(ERR,
 		" Expect %d FDs for request %s, received %d\n",
 		expected_fds,
-		vhost_message_str[msg->request.master],
+		vhost_message_str[msg->request.server],
 		msg->fd_num);
 
 	close_msg_fds(msg);
@@ -215,9 +215,9 @@ vhost_backend_cleanup(struct virtio_net *dev)
 		dev->inflight_info = NULL;
 	}
 
-	if (dev->slave_req_fd >= 0) {
-		close(dev->slave_req_fd);
-		dev->slave_req_fd = -1;
+	if (dev->client_req_fd >= 0) {
+		close(dev->client_req_fd);
+		dev->client_req_fd = -1;
 	}
 
 	if (dev->postcopy_ufd >= 0) {
@@ -346,7 +346,7 @@ vhost_user_set_features(struct virtio_net **pdev, struct VhostUserMsg *msg,
 			return RTE_VHOST_MSG_RESULT_OK;
 
 		/*
-		 * Error out if master tries to change features while device is
+		 * Error out if server tries to change features while device is
 		 * in running state. The exception being VHOST_F_LOG_ALL, which
 		 * is enabled when the live-migration starts.
 		 */
@@ -1235,10 +1235,10 @@ vhost_user_set_mem_table(struct virtio_net **pdev, struct VhostUserMsg *msg,
 		if (validate_msg_fds(&ack_msg, 0) != 0)
 			goto err_mmap;
 
-		if (ack_msg.request.master != VHOST_USER_SET_MEM_TABLE) {
+		if (ack_msg.request.server != VHOST_USER_SET_MEM_TABLE) {
 			VHOST_LOG_CONFIG(ERR,
 				"Bad qemu ack on postcopy set-mem-table (%d)\n",
-				ack_msg.request.master);
+				ack_msg.request.server);
 			goto err_mmap;
 		}
 
@@ -2049,14 +2049,14 @@ vhost_user_set_protocol_features(struct virtio_net **pdev,
 {
 	struct virtio_net *dev = *pdev;
 	uint64_t protocol_features = msg->payload.u64;
-	uint64_t slave_protocol_features = 0;
+	uint64_t client_protocol_features = 0;
 
 	if (validate_msg_fds(msg, 0) != 0)
 		return RTE_VHOST_MSG_RESULT_ERR;
 
 	rte_vhost_driver_get_protocol_features(dev->ifname,
-			&slave_protocol_features);
-	if (protocol_features & ~slave_protocol_features) {
+			&client_protocol_features);
+	if (protocol_features & ~client_protocol_features) {
 		VHOST_LOG_CONFIG(ERR,
 			"(%d) received invalid protocol features.\n",
 			dev->vid);
@@ -2228,15 +2228,15 @@ vhost_user_set_req_fd(struct virtio_net **pdev, struct VhostUserMsg *msg,
 
 	if (fd < 0) {
 		VHOST_LOG_CONFIG(ERR,
-				"Invalid file descriptor for slave channel (%d)\n",
+				"Invalid file descriptor for client channel (%d)\n",
 				fd);
 		return RTE_VHOST_MSG_RESULT_ERR;
 	}
 
-	if (dev->slave_req_fd >= 0)
-		close(dev->slave_req_fd);
+	if (dev->client_req_fd >= 0)
+		close(dev->client_req_fd);
 
-	dev->slave_req_fd = fd;
+	dev->client_req_fd = fd;
 
 	return RTE_VHOST_MSG_RESULT_OK;
 }
@@ -2472,7 +2472,7 @@ static vhost_message_handler_t vhost_message_handlers[VHOST_USER_MAX] = {
 	[VHOST_USER_SET_VRING_ENABLE] = vhost_user_set_vring_enable,
 	[VHOST_USER_SEND_RARP] = vhost_user_send_rarp,
 	[VHOST_USER_NET_SET_MTU] = vhost_user_net_set_mtu,
-	[VHOST_USER_SET_SLAVE_REQ_FD] = vhost_user_set_req_fd,
+	[VHOST_USER_SET_CLIENT_REQ_FD] = vhost_user_set_req_fd,
 	[VHOST_USER_IOTLB_MSG] = vhost_user_iotlb_msg,
 	[VHOST_USER_POSTCOPY_ADVISE] = vhost_user_set_postcopy_advise,
 	[VHOST_USER_POSTCOPY_LISTEN] = vhost_user_set_postcopy_listen,
@@ -2541,16 +2541,16 @@ send_vhost_reply(int sockfd, struct VhostUserMsg *msg)
 }
 
 static int
-send_vhost_slave_message(struct virtio_net *dev, struct VhostUserMsg *msg)
+send_vhost_client_message(struct virtio_net *dev, struct VhostUserMsg *msg)
 {
 	int ret;
 
 	if (msg->flags & VHOST_USER_NEED_REPLY)
-		rte_spinlock_lock(&dev->slave_req_lock);
+		rte_spinlock_lock(&dev->client_req_lock);
 
-	ret = send_vhost_message(dev->slave_req_fd, msg);
+	ret = send_vhost_message(dev->client_req_fd, msg);
 	if (ret < 0 && (msg->flags & VHOST_USER_NEED_REPLY))
-		rte_spinlock_unlock(&dev->slave_req_lock);
+		rte_spinlock_unlock(&dev->client_req_lock);
 
 	return ret;
 }
@@ -2564,7 +2564,7 @@ vhost_user_check_and_alloc_queue_pair(struct virtio_net *dev,
 {
 	uint32_t vring_idx;
 
-	switch (msg->request.master) {
+	switch (msg->request.server) {
 	case VHOST_USER_SET_VRING_KICK:
 	case VHOST_USER_SET_VRING_CALL:
 	case VHOST_USER_SET_VRING_ERR:
@@ -2667,7 +2667,7 @@ vhost_user_msg_handler(int vid, int fd)
 	}
 
 	ret = 0;
-	request = msg.request.master;
+	request = msg.request.server;
 	if (request > VHOST_USER_NONE && request < VHOST_USER_MAX &&
 			vhost_message_str[request]) {
 		if (request != VHOST_USER_IOTLB_MSG)
@@ -2710,7 +2710,7 @@ vhost_user_msg_handler(int vid, int fd)
 	case VHOST_USER_SET_VRING_ENABLE:
 	case VHOST_USER_SEND_RARP:
 	case VHOST_USER_NET_SET_MTU:
-	case VHOST_USER_SET_SLAVE_REQ_FD:
+	case VHOST_USER_SET_CLIENT_REQ_FD:
 		if (!(dev->flags & VIRTIO_DEV_VDPA_CONFIGURED)) {
 			vhost_user_lock_all_queue_pairs(dev);
 			unlock_required = 1;
@@ -2850,7 +2850,7 @@ vhost_user_msg_handler(int vid, int fd)
 	return 0;
 }
 
-static int process_slave_message_reply(struct virtio_net *dev,
+static int process_client_message_reply(struct virtio_net *dev,
 				       const struct VhostUserMsg *msg)
 {
 	struct VhostUserMsg msg_reply;
@@ -2859,11 +2859,11 @@ static int process_slave_message_reply(struct virtio_net *dev,
 	if ((msg->flags & VHOST_USER_NEED_REPLY) == 0)
 		return 0;
 
-	ret = read_vhost_message(dev->slave_req_fd, &msg_reply);
+	ret = read_vhost_message(dev->client_req_fd, &msg_reply);
 	if (ret <= 0) {
 		if (ret < 0)
 			VHOST_LOG_CONFIG(ERR,
-				"vhost read slave message reply failed\n");
+				"vhost read client message reply failed\n");
 		else
 			VHOST_LOG_CONFIG(INFO,
 				"vhost peer closed\n");
@@ -2872,10 +2872,10 @@ static int process_slave_message_reply(struct virtio_net *dev,
 	}
 
 	ret = 0;
-	if (msg_reply.request.slave != msg->request.slave) {
+	if (msg_reply.request.client != msg->request.client) {
 		VHOST_LOG_CONFIG(ERR,
 			"Received unexpected msg type (%u), expected %u\n",
-			msg_reply.request.slave, msg->request.slave);
+			msg_reply.request.client, msg->request.client);
 		ret = -1;
 		goto out;
 	}
@@ -2883,7 +2883,7 @@ static int process_slave_message_reply(struct virtio_net *dev,
 	ret = msg_reply.payload.u64 ? -1 : 0;
 
 out:
-	rte_spinlock_unlock(&dev->slave_req_lock);
+	rte_spinlock_unlock(&dev->client_req_lock);
 	return ret;
 }
 
@@ -2892,7 +2892,7 @@ vhost_user_iotlb_miss(struct virtio_net *dev, uint64_t iova, uint8_t perm)
 {
 	int ret;
 	struct VhostUserMsg msg = {
-		.request.slave = VHOST_USER_SLAVE_IOTLB_MSG,
+		.request.client = VHOST_USER_CLIENT_IOTLB_MSG,
 		.flags = VHOST_USER_VERSION,
 		.size = sizeof(msg.payload.iotlb),
 		.payload.iotlb = {
@@ -2902,7 +2902,7 @@ vhost_user_iotlb_miss(struct virtio_net *dev, uint64_t iova, uint8_t perm)
 		},
 	};
 
-	ret = send_vhost_message(dev->slave_req_fd, &msg);
+	ret = send_vhost_message(dev->client_req_fd, &msg);
 	if (ret < 0) {
 		VHOST_LOG_CONFIG(ERR,
 				"Failed to send IOTLB miss message (%d)\n",
@@ -2914,11 +2914,11 @@ vhost_user_iotlb_miss(struct virtio_net *dev, uint64_t iova, uint8_t perm)
 }
 
 static int
-vhost_user_slave_config_change(struct virtio_net *dev, bool need_reply)
+vhost_user_client_config_change(struct virtio_net *dev, bool need_reply)
 {
 	int ret;
 	struct VhostUserMsg msg = {
-		.request.slave = VHOST_USER_SLAVE_CONFIG_CHANGE_MSG,
+		.request.client = VHOST_USER_CLIENT_CONFIG_CHANGE_MSG,
 		.flags = VHOST_USER_VERSION,
 		.size = 0,
 	};
@@ -2926,7 +2926,7 @@ vhost_user_slave_config_change(struct virtio_net *dev, bool need_reply)
 	if (need_reply)
 		msg.flags |= VHOST_USER_NEED_REPLY;
 
-	ret = send_vhost_slave_message(dev, &msg);
+	ret = send_vhost_client_message(dev, &msg);
 	if (ret < 0) {
 		VHOST_LOG_CONFIG(ERR,
 				"Failed to send config change (%d)\n",
@@ -2934,11 +2934,11 @@ vhost_user_slave_config_change(struct virtio_net *dev, bool need_reply)
 		return ret;
 	}
 
-	return process_slave_message_reply(dev, &msg);
+	return process_client_message_reply(dev, &msg);
 }
 
 int
-rte_vhost_slave_config_change(int vid, bool need_reply)
+rte_vhost_client_config_change(int vid, bool need_reply)
 {
 	struct virtio_net *dev;
 
@@ -2946,17 +2946,17 @@ rte_vhost_slave_config_change(int vid, bool need_reply)
 	if (!dev)
 		return -ENODEV;
 
-	return vhost_user_slave_config_change(dev, need_reply);
+	return vhost_user_client_config_change(dev, need_reply);
 }
 
-static int vhost_user_slave_set_vring_host_notifier(struct virtio_net *dev,
+static int vhost_user_client_set_vring_host_notifier(struct virtio_net *dev,
 						    int index, int fd,
 						    uint64_t offset,
 						    uint64_t size)
 {
 	int ret;
 	struct VhostUserMsg msg = {
-		.request.slave = VHOST_USER_SLAVE_VRING_HOST_NOTIFIER_MSG,
+		.request.client = VHOST_USER_CLIENT_VRING_HOST_NOTIFIER_MSG,
 		.flags = VHOST_USER_VERSION | VHOST_USER_NEED_REPLY,
 		.size = sizeof(msg.payload.area),
 		.payload.area = {
@@ -2973,14 +2973,14 @@ static int vhost_user_slave_set_vring_host_notifier(struct virtio_net *dev,
 		msg.fd_num = 1;
 	}
 
-	ret = send_vhost_slave_message(dev, &msg);
+	ret = send_vhost_client_message(dev, &msg);
 	if (ret < 0) {
 		VHOST_LOG_CONFIG(ERR,
 			"Failed to set host notifier (%d)\n", ret);
 		return ret;
 	}
 
-	return process_slave_message_reply(dev, &msg);
+	return process_client_message_reply(dev, &msg);
 }
 
 int rte_vhost_host_notifier_ctrl(int vid, uint16_t qid, bool enable)
@@ -3002,9 +3002,9 @@ int rte_vhost_host_notifier_ctrl(int vid, uint16_t qid, bool enable)
 	if (!(dev->features & (1ULL << VIRTIO_F_VERSION_1)) ||
 	    !(dev->features & (1ULL << VHOST_USER_F_PROTOCOL_FEATURES)) ||
 	    !(dev->protocol_features &
-			(1ULL << VHOST_USER_PROTOCOL_F_SLAVE_REQ)) ||
+			(1ULL << VHOST_USER_PROTOCOL_F_CLIENT_REQ)) ||
 	    !(dev->protocol_features &
-			(1ULL << VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD)) ||
+			(1ULL << VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD)) ||
 	    !(dev->protocol_features &
 			(1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER)))
 		return -ENOTSUP;
@@ -3034,7 +3034,7 @@ int rte_vhost_host_notifier_ctrl(int vid, uint16_t qid, bool enable)
 				goto disable;
 			}
 
-			if (vhost_user_slave_set_vring_host_notifier(dev, i,
+			if (vhost_user_client_set_vring_host_notifier(dev, i,
 					vfio_device_fd, offset, size) < 0) {
 				ret = -EFAULT;
 				goto disable;
@@ -3043,7 +3043,7 @@ int rte_vhost_host_notifier_ctrl(int vid, uint16_t qid, bool enable)
 	} else {
 disable:
 		for (i = q_start; i <= q_last; i++) {
-			vhost_user_slave_set_vring_host_notifier(dev, i, -1,
+			vhost_user_client_set_vring_host_notifier(dev, i, -1,
 					0, 0);
 		}
 	}
diff --git a/lib/librte_vhost/vhost_user.h b/lib/librte_vhost/vhost_user.h
index 1f65efa4a935..924da0dc17dd 100644
--- a/lib/librte_vhost/vhost_user.h
+++ b/lib/librte_vhost/vhost_user.h
@@ -19,9 +19,9 @@
 					 (1ULL << VHOST_USER_PROTOCOL_F_RARP) | \
 					 (1ULL << VHOST_USER_PROTOCOL_F_REPLY_ACK) | \
 					 (1ULL << VHOST_USER_PROTOCOL_F_NET_MTU) | \
-					 (1ULL << VHOST_USER_PROTOCOL_F_SLAVE_REQ) | \
+					 (1ULL << VHOST_USER_PROTOCOL_F_CLIENT_REQ) | \
 					 (1ULL << VHOST_USER_PROTOCOL_F_CRYPTO_SESSION) | \
-					 (1ULL << VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD) | \
+					 (1ULL << VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD) | \
 					 (1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \
 					 (1ULL << VHOST_USER_PROTOCOL_F_PAGEFAULT))
 
@@ -47,7 +47,7 @@ typedef enum VhostUserRequest {
 	VHOST_USER_SET_VRING_ENABLE = 18,
 	VHOST_USER_SEND_RARP = 19,
 	VHOST_USER_NET_SET_MTU = 20,
-	VHOST_USER_SET_SLAVE_REQ_FD = 21,
+	VHOST_USER_SET_CLIENT_REQ_FD = 21,
 	VHOST_USER_IOTLB_MSG = 22,
 	VHOST_USER_CRYPTO_CREATE_SESS = 26,
 	VHOST_USER_CRYPTO_CLOSE_SESS = 27,
@@ -59,13 +59,13 @@ typedef enum VhostUserRequest {
 	VHOST_USER_MAX = 33
 } VhostUserRequest;
 
-typedef enum VhostUserSlaveRequest {
-	VHOST_USER_SLAVE_NONE = 0,
-	VHOST_USER_SLAVE_IOTLB_MSG = 1,
-	VHOST_USER_SLAVE_CONFIG_CHANGE_MSG = 2,
-	VHOST_USER_SLAVE_VRING_HOST_NOTIFIER_MSG = 3,
-	VHOST_USER_SLAVE_MAX
-} VhostUserSlaveRequest;
+typedef enum VhostUserClientRequest {
+	VHOST_USER_CLIENT_NONE = 0,
+	VHOST_USER_CLIENT_IOTLB_MSG = 1,
+	VHOST_USER_CLIENT_CONFIG_CHANGE_MSG = 2,
+	VHOST_USER_CLIENT_VRING_HOST_NOTIFIER_MSG = 3,
+	VHOST_USER_CLIENT_MAX
+} VhostUserClientRequest;
 
 typedef struct VhostUserMemoryRegion {
 	uint64_t guest_phys_addr;
@@ -124,8 +124,8 @@ typedef struct VhostUserInflight {
 
 typedef struct VhostUserMsg {
 	union {
-		uint32_t master; /* a VhostUserRequest value */
-		uint32_t slave;  /* a VhostUserSlaveRequest value*/
+		uint32_t server; /* a VhostUserRequest value */
+		uint32_t client;  /* a VhostUserClientRequest value*/
 	} request;
 
 #define VHOST_USER_VERSION_MASK     0x3
-- 
2.26.2


  parent reply	other threads:[~2020-07-01 19:51 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-04 21:02 [dpdk-dev] [RFC] doc: change to diverse and inclusive language Stephen Hemminger
2020-06-05  1:04 ` [dpdk-dev] [RFC] replace master/slave with primary/secondary Stephen Hemminger
2020-06-05 10:43   ` Gaëtan Rivet
2020-06-05 11:14     ` Ananyev, Konstantin
2020-06-05 16:33       ` Stephen Hemminger
2020-06-05 17:10         ` Wiles, Keith
2020-06-05 17:45           ` Stephen Hemminger
2020-06-05 19:23             ` Wiles, Keith
2020-06-05 19:53               ` Stephen Hemminger
2020-06-05 20:09                 ` Wiles, Keith
2020-06-05 11:28     ` Bruce Richardson
2020-06-05 12:15       ` Gaëtan Rivet
2020-06-05 15:27     ` Stephen Hemminger
2020-06-05  7:54 ` [dpdk-dev] [RFC] doc: change to diverse and inclusive language Luca Boccassi
2020-06-05  8:35   ` Bruce Richardson
2020-06-05 21:40 ` Aaron Conole
2020-06-05 22:57 ` [dpdk-dev] [RFC v2 00/26] Change references to master/slave to Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 01/26] eal: rename terms used for DPDK lcores Stephen Hemminger
2020-06-29 17:04     ` Bruce Richardson
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 02/26] kni: fix reference to master/slave process Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 03/26] bbdev: rename master to initial lcore Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 04/26] librte_power: change reference to rte_master_lcore Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 05/26] drivers: replace master/slave terminolgy Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 06/26] examples/distrutor: rename master to initial Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 07/26] examples/bond: replace references to master lcore Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 08/26] examples/ethtool-app: replace references to slave with worker Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 09/26] examples/ip_pipeline: replace references to master_lcore Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 10/26] examples/qos_{meter/sched}: replace references to master lcore Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 11/26] examples/l3fwd: " Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 12/26] examples/l2fwd: " Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 13/26] examples/multi_process: " Stephen Hemminger
2020-06-05 22:57   ` [dpdk-dev] [RFC v2 14/26] examples/performance-thread: replace reference " Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 15/26] examples/ptpclient: replace references " Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 16/26] examples/ipcsec-secgw: " Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 17/26] examples: replace reference " Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 18/26] app/test-pmd: change references to master/slave Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 19/26] test-eventdev: replace references to slave with worker lcores Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 20/26] app/test: repalce refernces to master/slave Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 21/26] doc: fix incorrect reference to master process Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 22/26] doc: update references to master/slave lcore in samples Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 23/26] doc: replace master lcore terminology Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 24/26] app/pdump: replace references to master/slave lcore Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 25/26] app/test-XXX: replace reference to master/slave Stephen Hemminger
2020-06-05 22:58   ` [dpdk-dev] [RFC v2 26/26] eal: mark old naming as deprecated Stephen Hemminger
2020-07-01 19:46 ` [dpdk-dev] [PATCH v3 00/27] Replace references to master and slave Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 01/27] eal: rename terms used for DPDK lcores Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 02/27] kni: fix reference to master/slave process Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 03/27] bbdev: rename master to initial lcore Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 04/27] librte_power: change reference to rte_master_lcore Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 05/27] drivers: replace master/slave terminolgy Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 06/27] examples/distrutor: rename master to initial Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 07/27] examples/bond: replace references to master lcore Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 08/27] examples/ethtool-app: replace references to slave with worker Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 09/27] examples/ip_pipeline: replace references to master_lcore Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 10/27] examples/qos_{meter/sched}: replace references to master lcore Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 11/27] examples/l3fwd: " Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 12/27] examples/l2fwd: " Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 13/27] examples/multi_process: " Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 14/27] examples/performance-thread: replace reference " Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 15/27] examples/ptpclient: replace references " Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 16/27] examples/ipcsec-secgw: " Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 17/27] examples: replace reference " Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 18/27] app/test-pmd: change references to master/slave Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 19/27] test-eventdev: replace references to slave with worker lcores Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 20/27] app/test: replace refernces to master/slave Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 21/27] doc: fix incorrect reference to master process Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 22/27] doc: update references to master/slave lcore in documentation Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 23/27] app/pdump: replace references to master/slave lcore Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 24/27] app/test-XXX: replace reference to master/slave Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 25/27] eal: mark old naming as deprecated Stephen Hemminger
2020-07-01 19:46   ` [dpdk-dev] [PATCH v3 26/27] memif: replace master/slave with server/client Stephen Hemminger
2020-07-01 19:46   ` Stephen Hemminger [this message]
2020-07-01 20:23 ` [dpdk-dev] [PATCH v4 00/27] Replace references to master and slave Stephen Hemminger
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 01/27] eal: rename terms used for DPDK lcores Stephen Hemminger
2020-07-17 14:07     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 02/27] kni: fix reference to master/slave process Stephen Hemminger
2020-07-13 12:23     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 03/27] bbdev: rename master to initial lcore Stephen Hemminger
2020-07-13 12:26     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 04/27] librte_power: change reference to rte_master_lcore Stephen Hemminger
2020-07-13 12:37     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 05/27] drivers: replace master/slave terminology Stephen Hemminger
2020-07-13 12:52     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 06/27] examples/distributor: rename master to initial Stephen Hemminger
2020-07-13 12:53     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 07/27] examples/bond: replace references to master lcore Stephen Hemminger
2020-07-13 12:56     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 08/27] examples/ethtool-app: replace references to slave with worker Stephen Hemminger
2020-07-13 12:59     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 09/27] examples/ip_pipeline: replace references to master_lcore Stephen Hemminger
2020-07-13 13:01     ` Burakov, Anatoly
2020-09-10  9:52       ` Dumitrescu, Cristian
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 10/27] examples/qos_{meter/sched}: replace references to master lcore Stephen Hemminger
2020-07-15 11:31     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 11/27] examples/l3fwd: " Stephen Hemminger
2020-07-15 11:46     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 12/27] examples/l2fwd: " Stephen Hemminger
2020-07-15 11:51     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 13/27] examples/multi_process: " Stephen Hemminger
2020-07-15 11:53     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 14/27] examples/performance-thread: replace reference " Stephen Hemminger
2020-07-15 12:09     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 15/27] examples/ptpclient: replace references " Stephen Hemminger
2020-07-15 12:24     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 16/27] examples/ipcsec-secgw: " Stephen Hemminger
2020-07-15 12:27     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 17/27] examples: replace reference " Stephen Hemminger
2020-07-15 12:33     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 18/27] app/test-pmd: change references to master/slave Stephen Hemminger
2020-07-15 12:39     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 19/27] test-eventdev: replace references to slave with worker lcores Stephen Hemminger
2020-07-15 12:41     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 20/27] app/test: replace refernces to master/slave Stephen Hemminger
2020-07-15 13:23     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 21/27] doc: fix incorrect reference to master process Stephen Hemminger
2020-07-15 13:24     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 22/27] doc: update references to master/slave lcore in documentation Stephen Hemminger
2020-07-17 14:01     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 23/27] app/pdump: replace references to master/slave lcore Stephen Hemminger
2020-07-15 13:25     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 24/27] app/test-XXX: replace reference to master/slave Stephen Hemminger
2020-07-17 12:56     ` Burakov, Anatoly
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 25/27] eal: mark old naming as deprecated Stephen Hemminger
2020-07-15 13:28     ` Burakov, Anatoly
2020-07-15 20:29       ` Stephen Hemminger
2020-07-16 13:41         ` Burakov, Anatoly
2020-07-16 22:04           ` Stephen Hemminger
2020-07-17 15:21             ` Burakov, Anatoly
2020-07-17 15:35               ` Dmitry Kozliuk
2020-07-17 15:43                 ` Burakov, Anatoly
2020-07-17 15:44                   ` Burakov, Anatoly
2020-07-18  2:22               ` Stephen Hemminger
2020-07-20 12:32                 ` Burakov, Anatoly
2020-07-20 18:51                   ` Stephen Hemminger
2020-07-22  9:05                     ` Burakov, Anatoly
2020-07-22 10:07                       ` Burakov, Anatoly
2020-07-22 13:53                       ` Stephen Hemminger
2020-07-16 22:05           ` Stephen Hemminger
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 26/27] memif: replace master/slave with server/client Stephen Hemminger
2020-07-17 13:01     ` Burakov, Anatoly
2020-07-18  2:23       ` Stephen Hemminger
2020-07-01 20:23   ` [dpdk-dev] [PATCH v4 27/27] vhost: rename SLAVE to CLIENT Stephen Hemminger
2020-07-02 11:17     ` Xia, Chenbo
2020-07-03  7:36       ` Adrian Moreno
2020-07-13 11:05   ` [dpdk-dev] [PATCH v4 00/27] Replace references to master and slave Burakov, Anatoly
2020-07-13 12:33   ` Burakov, Anatoly
2020-07-27 19:20 ` [dpdk-dev] [PATCH 20.08 0/6] Inclusive language fixes and deprecation notices Stephen Hemminger
2020-07-27 19:20   ` [dpdk-dev] [PATCH 20.08 1/6] doc: announce deprecation of master lcore Stephen Hemminger
2020-07-29  9:23     ` Burakov, Anatoly
2020-07-27 19:20   ` [dpdk-dev] [PATCH 20.08 2/6] kni: fix reference to master/slave process Stephen Hemminger
2020-07-27 19:20   ` [dpdk-dev] [PATCH 20.08 3/6] doc: fix incorrect reference to master process Stephen Hemminger
2020-07-29  9:24     ` Burakov, Anatoly
2020-07-27 19:20   ` [dpdk-dev] [PATCH 20.08 4/6] doc: announce deprecation blacklist/whitelist Stephen Hemminger
2020-07-27 19:20   ` [dpdk-dev] [PATCH 20.08 5/6] rte_ethdev: change comment to rte_dev_eth_mac_addr_add Stephen Hemminger
2020-07-27 19:20   ` [dpdk-dev] [PATCH 20.08 6/6] check_maintainers: change variable names Stephen Hemminger
2020-07-28  5:16   ` [dpdk-dev] [PATCH 20.08 0/6] Inclusive language fixes and deprecation notices Stephen Hemminger
2020-07-30  0:57 ` [dpdk-dev] [PATCH v2 20.08 0/6] inclusive " Stephen Hemminger
2020-07-30  0:57   ` [dpdk-dev] [PATCH v2 20.08 1/6] doc: announce deprecation of master lcore Stephen Hemminger
2020-07-30  8:42     ` Bruce Richardson
2020-08-06 16:49     ` Thomas Monjalon
2020-08-06 17:00       ` Stephen Hemminger
2020-08-06 17:14         ` Thomas Monjalon
2020-07-30  0:58   ` [dpdk-dev] [PATCH v2 20.08 2/6] kni: fix reference to master/slave process Stephen Hemminger
2020-07-30  8:42     ` Bruce Richardson
2020-07-30  0:58   ` [dpdk-dev] [PATCH v2 20.08 3/6] doc: fix incorrect reference to master process Stephen Hemminger
2020-07-30  0:58   ` [dpdk-dev] [PATCH v2 20.08 4/6] doc: announce deprecation blacklist/whitelist Stephen Hemminger
2020-07-30  8:45     ` Bruce Richardson
2020-07-30 15:10       ` Stephen Hemminger
2020-07-30  0:58   ` [dpdk-dev] [PATCH v2 20.08 5/6] rte_ethdev: change comment to rte_dev_eth_mac_addr_add Stephen Hemminger
2020-08-06 16:53     ` Thomas Monjalon
2020-07-30  0:58   ` [dpdk-dev] [PATCH v2 20.08 6/6] check_maintainers: change variable names Stephen Hemminger
2020-08-06 16:55     ` Thomas Monjalon
2020-08-06 16:56   ` [dpdk-dev] [PATCH v2 20.08 0/6] inclusive language fixes and deprecation notices Thomas Monjalon
2020-08-07 10:45     ` Mcnamara, John
2020-08-06 17:19 ` [dpdk-dev] [PATCH v3 " Stephen Hemminger
2020-08-06 17:19   ` [dpdk-dev] [PATCH v3 20.08 1/6] doc: announce deprecation of master lcore Stephen Hemminger
2020-08-07  0:10     ` Thomas Monjalon
2020-08-06 17:19   ` [dpdk-dev] [PATCH v3 20.08 2/6] kni: fix reference to master/slave process Stephen Hemminger
2020-08-06 17:19   ` [dpdk-dev] [PATCH v3 20.08 3/6] doc: fix incorrect reference to master process Stephen Hemminger
2020-08-06 17:19   ` [dpdk-dev] [PATCH v3 20.08 4/6] doc: announce deprecation blacklist/whitelist Stephen Hemminger
2020-08-07  0:15     ` Thomas Monjalon
2020-08-07  8:43       ` Gaëtan Rivet
2020-08-06 17:19   ` [dpdk-dev] [PATCH v3 20.08 5/6] rte_ethdev: change comment to rte_dev_eth_mac_addr_add Stephen Hemminger
2020-08-06 17:19   ` [dpdk-dev] [PATCH v3 20.08 6/6] check_maintainers: change variable names Stephen Hemminger
2020-08-07 10:45   ` [dpdk-dev] [PATCH v3 20.08 0/6] inclusive language fixes and deprecation notices Mcnamara, John
2020-08-07 10:56     ` 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=20200701194650.10705-28-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --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).