Message ID | 20200701202359.17006-28-stephen@networkplumber.org (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Thomas Monjalon |
Headers | show |
Series | Replace references to master and slave | expand |
Context | Check | Description |
---|---|---|
ci/Intel-compilation | fail | Compilation issues |
ci/travis-robot | warning | Travis build: failed |
ci/checkpatch | success | coding style OK |
Hi Stephen, Thanks for working on this! The slave/master naming of vhost is defined by vhost-user spec, which is maintained by QEMU. I think if we want to change it. The spec in QEMU should first be changed, then as an implementation of the spec, we could easily change it. Also, using server/client to be the new version may cause some code confusion in vhost. Because vhost traditionally can act as a socket server or client (you can see the names in the code) and the vhost-user slave/master generally refers to vhost-user pmd/QEMU. So it may make the code hard to understand. Do you think this make sense? Thanks! Chenbo > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Stephen Hemminger > Sent: Thursday, July 2, 2020 4:24 AM > To: dev@dpdk.org > Cc: Stephen Hemminger <stephen@networkplumber.org> > Subject: [dpdk-dev] [PATCH v4 27/27] vhost: rename SLAVE to CLIENT > > 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 | 41 +++++------ > 9 files changed, 87 insertions(+), 86 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..91aa8e24ea48 100644 > --- a/lib/librte_vhost/vhost_user.h > +++ b/lib/librte_vhost/vhost_user.h > @@ -14,16 +14,17 @@ > > #define VHOST_MEMORY_MAX_NREGIONS 8 > > -#define VHOST_USER_PROTOCOL_FEATURES ((1ULL << > VHOST_USER_PROTOCOL_F_MQ) | \ > - (1ULL << > VHOST_USER_PROTOCOL_F_LOG_SHMFD) |\ > - (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_CRYPTO_SESSION) | \ > - (1ULL << > VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD) | \ > - (1ULL << > VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \ > - (1ULL << > VHOST_USER_PROTOCOL_F_PAGEFAULT)) > +#define VHOST_USER_PROTOCOL_FEATURES \ > + ((1ULL << VHOST_USER_PROTOCOL_F_MQ) | \ > + (1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) | \ > + (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_CLIENT_REQ) | \ > + (1ULL << VHOST_USER_PROTOCOL_F_CRYPTO_SESSION) | \ > + (1ULL << VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD) | \ > + (1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \ > + (1ULL << VHOST_USER_PROTOCOL_F_PAGEFAULT)) > > typedef enum VhostUserRequest { > VHOST_USER_NONE = 0, > @@ -47,7 +48,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 +60,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 +125,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
On 7/2/20 1:17 PM, Xia, Chenbo wrote: > Hi Stephen, > > Thanks for working on this! The slave/master naming of vhost is defined > by vhost-user spec, which is maintained by QEMU. I think if we want to > change it. The spec in QEMU should first be changed, then as an implementation > of the spec, we could easily change it. Also, using server/client to be the > new version may cause some code confusion in vhost. Because vhost > traditionally can act as a socket server or client (you can see the names in the code) > and the vhost-user slave/master generally refers to vhost-user pmd/QEMU. > So it may make the code hard to understand. Do you think this make sense? > I agree, we need to come up with a way of distinguishing between the vhost vs socket roles. Maybe the virtio original virtio terminiology "driver/device" could be used. Other ways to refer to the vhost pair is "frontend/backend". Adrián > Thanks! > Chenbo > >> -----Original Message----- >> From: dev <dev-bounces@dpdk.org> On Behalf Of Stephen Hemminger >> Sent: Thursday, July 2, 2020 4:24 AM >> To: dev@dpdk.org >> Cc: Stephen Hemminger <stephen@networkplumber.org> >> Subject: [dpdk-dev] [PATCH v4 27/27] vhost: rename SLAVE to CLIENT >> >> 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 | 41 +++++------ >> 9 files changed, 87 insertions(+), 86 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..91aa8e24ea48 100644 >> --- a/lib/librte_vhost/vhost_user.h >> +++ b/lib/librte_vhost/vhost_user.h >> @@ -14,16 +14,17 @@ >> >> #define VHOST_MEMORY_MAX_NREGIONS 8 >> >> -#define VHOST_USER_PROTOCOL_FEATURES ((1ULL << >> VHOST_USER_PROTOCOL_F_MQ) | \ >> - (1ULL << >> VHOST_USER_PROTOCOL_F_LOG_SHMFD) |\ >> - (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_CRYPTO_SESSION) | \ >> - (1ULL << >> VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD) | \ >> - (1ULL << >> VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \ >> - (1ULL << >> VHOST_USER_PROTOCOL_F_PAGEFAULT)) >> +#define VHOST_USER_PROTOCOL_FEATURES \ >> + ((1ULL << VHOST_USER_PROTOCOL_F_MQ) | \ >> + (1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) | \ >> + (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_CLIENT_REQ) | \ >> + (1ULL << VHOST_USER_PROTOCOL_F_CRYPTO_SESSION) | \ >> + (1ULL << VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD) | \ >> + (1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \ >> + (1ULL << VHOST_USER_PROTOCOL_F_PAGEFAULT)) >> >> typedef enum VhostUserRequest { >> VHOST_USER_NONE = 0, >> @@ -47,7 +48,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 +60,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 +125,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 >
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..91aa8e24ea48 100644 --- a/lib/librte_vhost/vhost_user.h +++ b/lib/librte_vhost/vhost_user.h @@ -14,16 +14,17 @@ #define VHOST_MEMORY_MAX_NREGIONS 8 -#define VHOST_USER_PROTOCOL_FEATURES ((1ULL << VHOST_USER_PROTOCOL_F_MQ) | \ - (1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) |\ - (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_CRYPTO_SESSION) | \ - (1ULL << VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD) | \ - (1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \ - (1ULL << VHOST_USER_PROTOCOL_F_PAGEFAULT)) +#define VHOST_USER_PROTOCOL_FEATURES \ + ((1ULL << VHOST_USER_PROTOCOL_F_MQ) | \ + (1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) | \ + (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_CLIENT_REQ) | \ + (1ULL << VHOST_USER_PROTOCOL_F_CRYPTO_SESSION) | \ + (1ULL << VHOST_USER_PROTOCOL_F_CLIENT_SEND_FD) | \ + (1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \ + (1ULL << VHOST_USER_PROTOCOL_F_PAGEFAULT)) typedef enum VhostUserRequest { VHOST_USER_NONE = 0, @@ -47,7 +48,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 +60,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 +125,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
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 | 41 +++++------ 9 files changed, 87 insertions(+), 86 deletions(-)