+ __atomic_add_fetch(&vring->used->idx, 1, __ATOMIC_RELAXED);
+ }
+}
+
+int
+virtio_user_send_status_update(struct virtio_user_dev *dev, uint8_t status)
+{
+ int ret;
+ uint64_t arg = status;
+
+ /* Vhost-user only for now */
+ if (dev->backend_type != VIRTIO_USER_BACKEND_VHOST_USER)
+ return 0;
+
+ ret = dev->ops->send_request(dev, VHOST_USER_SET_STATUS, &arg);
+ if (ret) {
+ PMD_INIT_LOG(ERR, "VHOST_USER_SET_STATUS failed (%d): %s", ret,
+ strerror(errno));
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+virtio_user_update_status(struct virtio_user_dev *dev)
+{
+ uint64_t ret;
+ int err;
+
+ /* Vhost-user only for now */
+ if (dev->backend_type != VIRTIO_USER_BACKEND_VHOST_USER)
+ return 0;
+
+ err = dev->ops->send_request(dev, VHOST_USER_GET_STATUS, &ret);
+ if (err) {
+ PMD_INIT_LOG(ERR, "VHOST_USER_GET_STATUS failed (%d): %s", err,
+ strerror(errno));
+ return -1;