From: "Xia, Chenbo" <chenbo.xia@intel.com>
To: Nobuhiro MIKI <nmiki@yahoo-corp.jp>,
"maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"stephen@networkplumber.org" <stephen@networkplumber.org>
Subject: RE: [PATCH v2 2/2] vhost: refactor to follow new naming convention
Date: Thu, 9 Mar 2023 05:36:26 +0000 [thread overview]
Message-ID: <SN6PR11MB35049C4675276AFEB3C6FAAE9CB59@SN6PR11MB3504.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20230309051643.70171-3-nmiki@yahoo-corp.jp>
> -----Original Message-----
> From: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
> Sent: Thursday, March 9, 2023 1:17 PM
> To: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>
> Cc: dev@dpdk.org; stephen@networkplumber.org; Nobuhiro MIKI <nmiki@yahoo-
> corp.jp>
> Subject: [PATCH v2 2/2] vhost: refactor to follow new naming convention
>
> Simply replace 'master' with 'frontend' and 'slave' with 'backend'.
>
> Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> drivers/vdpa/ifc/ifcvf_vdpa.c | 2 +-
> lib/vhost/rte_vhost.h | 8 ++--
> lib/vhost/version.map | 2 +-
> lib/vhost/vhost.c | 4 +-
> lib/vhost/vhost.h | 4 +-
> lib/vhost/vhost_crypto.c | 2 +-
> lib/vhost/vhost_user.c | 82 +++++++++++++++++------------------
> lib/vhost/vhost_user.h | 8 ++--
> 8 files changed, 56 insertions(+), 56 deletions(-)
>
> diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c
> index fe4d278c5380..e4133568c1aa 100644
> --- a/drivers/vdpa/ifc/ifcvf_vdpa.c
> +++ b/drivers/vdpa/ifc/ifcvf_vdpa.c
> @@ -605,7 +605,7 @@ virtio_interrupt_handler(struct ifcvf_internal
> *internal)
> int vid = internal->vid;
> int ret;
>
> - ret = rte_vhost_slave_config_change(vid, 1);
> + ret = rte_vhost_backend_config_change(vid, 1);
> if (ret)
> DRV_LOG(ERR, "failed to notify the guest about configuration
> space change.");
> }
> diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h
> index ed255fc6c51f..58a5d4be92f8 100644
> --- a/lib/vhost/rte_vhost.h
> +++ b/lib/vhost/rte_vhost.h
> @@ -264,9 +264,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 frontend message handling. */
> rte_vhost_msg_handle pre_msg_handle;
> - /* Called after the master message handling. */
> + /* Called after the frontend message handling. */
> rte_vhost_msg_handle post_msg_handle;
> };
>
> @@ -1060,13 +1060,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 frontend 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_backend_config_change(int vid, bool need_reply);
>
> /**
> * Retrieve names of statistics of a Vhost virtqueue.
> diff --git a/lib/vhost/version.map b/lib/vhost/version.map
> index d779a5cf3a0a..d322a4a888cd 100644
> --- a/lib/vhost/version.map
> +++ b/lib/vhost/version.map
> @@ -68,7 +68,7 @@ EXPERIMENTAL {
> global:
>
> rte_vhost_crypto_driver_start;
> - rte_vhost_slave_config_change;
> + rte_vhost_backend_config_change;
> rte_vhost_async_channel_register;
> rte_vhost_async_channel_unregister;
> rte_vhost_submit_enqueue_burst;
> diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c
> index 358672bb176b..ef3794381751 100644
> --- a/lib/vhost/vhost.c
> +++ b/lib/vhost/vhost.c
> @@ -701,9 +701,9 @@ vhost_new_device(void)
>
> dev->vid = i;
> dev->flags = VIRTIO_DEV_BUILTIN_VIRTIO_NET;
> - dev->slave_req_fd = -1;
> + dev->backend_req_fd = -1;
> dev->postcopy_ufd = -1;
> - rte_spinlock_init(&dev->slave_req_lock);
> + rte_spinlock_init(&dev->backend_req_lock);
>
> return i;
> }
> diff --git a/lib/vhost/vhost.h b/lib/vhost/vhost.h
> index a31d810531d7..8fdab13c7097 100644
> --- a/lib/vhost/vhost.h
> +++ b/lib/vhost/vhost.h
> @@ -499,8 +499,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 backend_req_fd;
> + rte_spinlock_t backend_req_lock;
>
> int postcopy_ufd;
> int postcopy_listening;
> diff --git a/lib/vhost/vhost_crypto.c b/lib/vhost/vhost_crypto.c
> index f02bf865c349..9bf5ef67b9ad 100644
> --- a/lib/vhost/vhost_crypto.c
> +++ b/lib/vhost/vhost_crypto.c
> @@ -451,7 +451,7 @@ vhost_crypto_msg_post_handler(int vid, void *msg)
> return RTE_VHOST_MSG_RESULT_ERR;
> }
>
> - switch (ctx->msg.request.master) {
> + switch (ctx->msg.request.frontend) {
> case VHOST_USER_CRYPTO_CREATE_SESS:
> vhost_crypto_create_sess(vcrypto,
> &ctx->msg.payload.crypto_session);
> diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
> index cd4104ea5ce0..92ed4f02a68c 100644
> --- a/lib/vhost/vhost_user.c
> +++ b/lib/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 frontend 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 frontend.
> *
> - * 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
> frontend
> * 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.
> @@ -95,7 +95,7 @@ validate_msg_fds(struct virtio_net *dev, struct
> vhu_msg_context *ctx, int expect
>
> VHOST_LOG_CONFIG(dev->ifname, ERR,
> "expect %d FDs for request %s, received %d\n",
> - expected_fds, vhost_message_handlers[ctx-
> >msg.request.master].description,
> + expected_fds, vhost_message_handlers[ctx-
> >msg.request.frontend].description,
> ctx->fd_num);
>
> close_msg_fds(ctx);
> @@ -226,9 +226,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->backend_req_fd >= 0) {
> + close(dev->backend_req_fd);
> + dev->backend_req_fd = -1;
> }
>
> if (dev->postcopy_ufd >= 0) {
> @@ -349,7 +349,7 @@ vhost_user_set_features(struct virtio_net **pdev,
> return RTE_VHOST_MSG_RESULT_OK;
>
> /*
> - * Error out if master tries to change features while device
> is
> + * Error out if frontend 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.
> */
> @@ -1192,10 +1192,10 @@ vhost_user_postcopy_register(struct virtio_net
> *dev, int main_fd,
> if (validate_msg_fds(dev, &ack_ctx, 0) != 0)
> return -1;
>
> - if (ack_ctx.msg.request.master != VHOST_USER_SET_MEM_TABLE) {
> + if (ack_ctx.msg.request.frontend != VHOST_USER_SET_MEM_TABLE) {
> VHOST_LOG_CONFIG(dev->ifname, ERR,
> "bad qemu ack on postcopy set-mem-table (%d)\n",
> - ack_ctx.msg.request.master);
> + ack_ctx.msg.request.frontend);
> return -1;
> }
>
> @@ -2257,11 +2257,11 @@ vhost_user_set_protocol_features(struct virtio_net
> **pdev,
> {
> struct virtio_net *dev = *pdev;
> uint64_t protocol_features = ctx->msg.payload.u64;
> - uint64_t slave_protocol_features = 0;
> + uint64_t backend_protocol_features = 0;
>
> rte_vhost_driver_get_protocol_features(dev->ifname,
> - &slave_protocol_features);
> - if (protocol_features & ~slave_protocol_features) {
> + &backend_protocol_features);
> + if (protocol_features & ~backend_protocol_features) {
> VHOST_LOG_CONFIG(dev->ifname, ERR, "received invalid protocol
> features.\n");
> return RTE_VHOST_MSG_RESULT_ERR;
> }
> @@ -2458,14 +2458,14 @@ vhost_user_set_req_fd(struct virtio_net **pdev,
>
> if (fd < 0) {
> VHOST_LOG_CONFIG(dev->ifname, ERR,
> - "invalid file descriptor for slave channel (%d)\n", fd);
> + "invalid file descriptor for backend channel (%d)\n",
> fd);
> return RTE_VHOST_MSG_RESULT_ERR;
> }
>
> - if (dev->slave_req_fd >= 0)
> - close(dev->slave_req_fd);
> + if (dev->backend_req_fd >= 0)
> + close(dev->backend_req_fd);
>
> - dev->slave_req_fd = fd;
> + dev->backend_req_fd = fd;
>
> return RTE_VHOST_MSG_RESULT_OK;
> }
> @@ -2931,46 +2931,46 @@ send_vhost_reply(struct virtio_net *dev, int
> sockfd, struct vhu_msg_context *ctx
> }
>
> static int
> -send_vhost_slave_message(struct virtio_net *dev, struct vhu_msg_context
> *ctx)
> +send_vhost_backend_message(struct virtio_net *dev, struct vhu_msg_context
> *ctx)
> {
> - return send_vhost_message(dev, dev->slave_req_fd, ctx);
> + return send_vhost_message(dev, dev->backend_req_fd, ctx);
> }
>
> static int
> -send_vhost_slave_message_process_reply(struct virtio_net *dev, struct
> vhu_msg_context *ctx)
> +send_vhost_backend_message_process_reply(struct virtio_net *dev, struct
> vhu_msg_context *ctx)
> {
> struct vhu_msg_context msg_reply;
> int ret;
>
> - rte_spinlock_lock(&dev->slave_req_lock);
> - ret = send_vhost_slave_message(dev, ctx);
> + rte_spinlock_lock(&dev->backend_req_lock);
> + ret = send_vhost_backend_message(dev, ctx);
> if (ret < 0) {
> VHOST_LOG_CONFIG(dev->ifname, ERR, "failed to send config
> change (%d)\n", ret);
> goto out;
> }
>
> - ret = read_vhost_message(dev, dev->slave_req_fd, &msg_reply);
> + ret = read_vhost_message(dev, dev->backend_req_fd, &msg_reply);
> if (ret <= 0) {
> if (ret < 0)
> VHOST_LOG_CONFIG(dev->ifname, ERR,
> - "vhost read slave message reply failed\n");
> + "vhost read backend message reply failed\n");
> else
> VHOST_LOG_CONFIG(dev->ifname, INFO, "vhost peer
> closed\n");
> ret = -1;
> goto out;
> }
>
> - if (msg_reply.msg.request.slave != ctx->msg.request.slave) {
> + if (msg_reply.msg.request.backend != ctx->msg.request.backend) {
> VHOST_LOG_CONFIG(dev->ifname, ERR,
> "received unexpected msg type (%u), expected %u\n",
> - msg_reply.msg.request.slave, ctx->msg.request.slave);
> + msg_reply.msg.request.backend, ctx->msg.request.backend);
> ret = -1;
> goto out;
> }
>
> ret = msg_reply.msg.payload.u64 ? -1 : 0;
> out:
> - rte_spinlock_unlock(&dev->slave_req_lock);
> + rte_spinlock_unlock(&dev->backend_req_lock);
> return ret;
> }
>
> @@ -2983,7 +2983,7 @@ vhost_user_check_and_alloc_queue_pair(struct
> virtio_net *dev,
> {
> uint32_t vring_idx;
>
> - switch (ctx->msg.request.master) {
> + switch (ctx->msg.request.frontend) {
> case VHOST_USER_SET_VRING_KICK:
> case VHOST_USER_SET_VRING_CALL:
> case VHOST_USER_SET_VRING_ERR:
> @@ -3080,14 +3080,14 @@ vhost_user_msg_handler(int vid, int fd)
> }
> }
>
> - ctx.msg.request.master = VHOST_USER_NONE;
> + ctx.msg.request.frontend = VHOST_USER_NONE;
> ret = read_vhost_message(dev, fd, &ctx);
> if (ret == 0) {
> VHOST_LOG_CONFIG(dev->ifname, INFO, "vhost peer closed\n");
> return -1;
> }
>
> - request = ctx.msg.request.master;
> + request = ctx.msg.request.frontend;
> if (request > VHOST_USER_NONE && request <
> RTE_DIM(vhost_message_handlers))
> msg_handler = &vhost_message_handlers[request];
> else
> @@ -3307,7 +3307,7 @@ vhost_user_iotlb_miss(struct virtio_net *dev,
> uint64_t iova, uint8_t perm)
> int ret;
> struct vhu_msg_context ctx = {
> .msg = {
> - .request.slave = VHOST_USER_BACKEND_IOTLB_MSG,
> + .request.backend = VHOST_USER_BACKEND_IOTLB_MSG,
> .flags = VHOST_USER_VERSION,
> .size = sizeof(ctx.msg.payload.iotlb),
> .payload.iotlb = {
> @@ -3318,7 +3318,7 @@ vhost_user_iotlb_miss(struct virtio_net *dev,
> uint64_t iova, uint8_t perm)
> },
> };
>
> - ret = send_vhost_message(dev, dev->slave_req_fd, &ctx);
> + ret = send_vhost_message(dev, dev->backend_req_fd, &ctx);
> if (ret < 0) {
> VHOST_LOG_CONFIG(dev->ifname, ERR,
> "failed to send IOTLB miss message (%d)\n",
> @@ -3330,11 +3330,11 @@ vhost_user_iotlb_miss(struct virtio_net *dev,
> uint64_t iova, uint8_t perm)
> }
>
> int
> -rte_vhost_slave_config_change(int vid, bool need_reply)
> +rte_vhost_backend_config_change(int vid, bool need_reply)
> {
> struct vhu_msg_context ctx = {
> .msg = {
> - .request.slave = VHOST_USER_BACKEND_CONFIG_CHANGE_MSG,
> + .request.backend = VHOST_USER_BACKEND_CONFIG_CHANGE_MSG,
> .flags = VHOST_USER_VERSION,
> .size = 0,
> }
> @@ -3347,10 +3347,10 @@ rte_vhost_slave_config_change(int vid, bool
> need_reply)
> return -ENODEV;
>
> if (!need_reply) {
> - ret = send_vhost_slave_message(dev, &ctx);
> + ret = send_vhost_backend_message(dev, &ctx);
> } else {
> ctx.msg.flags |= VHOST_USER_NEED_REPLY;
> - ret = send_vhost_slave_message_process_reply(dev, &ctx);
> + ret = send_vhost_backend_message_process_reply(dev, &ctx);
> }
>
> if (ret < 0)
> @@ -3358,7 +3358,7 @@ rte_vhost_slave_config_change(int vid, bool
> need_reply)
> return ret;
> }
>
> -static int vhost_user_slave_set_vring_host_notifier(struct virtio_net
> *dev,
> +static int vhost_user_backend_set_vring_host_notifier(struct virtio_net
> *dev,
> int index, int fd,
> uint64_t offset,
> uint64_t size)
> @@ -3366,7 +3366,7 @@ static int
> vhost_user_slave_set_vring_host_notifier(struct virtio_net *dev,
> int ret;
> struct vhu_msg_context ctx = {
> .msg = {
> - .request.slave =
> VHOST_USER_BACKEND_VRING_HOST_NOTIFIER_MSG,
> + .request.backend =
> VHOST_USER_BACKEND_VRING_HOST_NOTIFIER_MSG,
> .flags = VHOST_USER_VERSION | VHOST_USER_NEED_REPLY,
> .size = sizeof(ctx.msg.payload.area),
> .payload.area = {
> @@ -3384,7 +3384,7 @@ static int
> vhost_user_slave_set_vring_host_notifier(struct virtio_net *dev,
> ctx.fd_num = 1;
> }
>
> - ret = send_vhost_slave_message_process_reply(dev, &ctx);
> + ret = send_vhost_backend_message_process_reply(dev, &ctx);
> if (ret < 0)
> VHOST_LOG_CONFIG(dev->ifname, ERR, "failed to set host
> notifier (%d)\n", ret);
>
> @@ -3444,7 +3444,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_backend_set_vring_host_notifier(dev, i,
> vfio_device_fd, offset, size) < 0) {
> ret = -EFAULT;
> goto disable;
> @@ -3453,7 +3453,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_backend_set_vring_host_notifier(dev, i, -1,
> 0, 0);
> }
> }
> diff --git a/lib/vhost/vhost_user.h b/lib/vhost/vhost_user.h
> index 8e418414ba94..a0987a58f9e8 100644
> --- a/lib/vhost/vhost_user.h
> +++ b/lib/vhost/vhost_user.h
> @@ -62,12 +62,12 @@ typedef enum VhostUserRequest {
> VHOST_USER_GET_STATUS = 40,
> } VhostUserRequest;
>
> -typedef enum VhostUserSlaveRequest {
> +typedef enum VhostUserBackendRequest {
> VHOST_USER_BACKEND_NONE = 0,
> VHOST_USER_BACKEND_IOTLB_MSG = 1,
> VHOST_USER_BACKEND_CONFIG_CHANGE_MSG = 2,
> VHOST_USER_BACKEND_VRING_HOST_NOTIFIER_MSG = 3,
> -} VhostUserSlaveRequest;
> +} VhostUserBackendRequest;
>
> typedef struct VhostUserMemoryRegion {
> uint64_t guest_phys_addr;
> @@ -136,8 +136,8 @@ struct vhost_user_config {
>
> typedef struct VhostUserMsg {
> union {
> - uint32_t master; /* a VhostUserRequest value */
> - uint32_t slave; /* a VhostUserSlaveRequest value*/
> + uint32_t frontend; /* a VhostUserRequest value */
> + uint32_t backend; /* a VhostUserBackendRequest value*/
> } request;
>
> #define VHOST_USER_VERSION_MASK 0x3
> --
> 2.31.1
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
next prev parent reply other threads:[~2023-03-09 5:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-09 5:16 [PATCH v2 0/2] vhost: fix names " Nobuhiro MIKI
2023-03-09 5:16 ` [PATCH v2 1/2] vhost: fix constants " Nobuhiro MIKI
2023-03-09 5:36 ` Xia, Chenbo
2023-03-09 16:33 ` Maxime Coquelin
2023-03-09 5:16 ` [PATCH v2 2/2] vhost: refactor " Nobuhiro MIKI
2023-03-09 5:36 ` Xia, Chenbo [this message]
2023-03-09 16:33 ` Maxime Coquelin
2023-03-16 14:47 ` [PATCH v2 0/2] vhost: fix names " Maxime Coquelin
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=SN6PR11MB35049C4675276AFEB3C6FAAE9CB59@SN6PR11MB3504.namprd11.prod.outlook.com \
--to=chenbo.xia@intel.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
--cc=nmiki@yahoo-corp.jp \
--cc=stephen@networkplumber.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).