ipc: end multiprocess thread during cleanup
[dpdk.git] / lib / vhost / rte_vhost_async.h
index ad71555..a87ea6b 100644 (file)
@@ -7,30 +7,25 @@
 
 #include "rte_vhost.h"
 
+/**
+ * iovec
+ */
+struct rte_vhost_iovec {
+       void *src_addr;
+       void *dst_addr;
+       size_t len;
+};
+
 /**
  * iovec iterator
  */
 struct rte_vhost_iov_iter {
-       /** offset to the first byte of interesting data */
-       size_t offset;
-       /** total bytes of data in this iterator */
-       size_t count;
        /** pointer to the iovec array */
-       struct iovec *iov;
+       struct rte_vhost_iovec *iov;
        /** number of iovec in this iterator */
        unsigned long nr_segs;
 };
 
-/**
- * dma transfer descriptor pair
- */
-struct rte_vhost_async_desc {
-       /** source memory iov_iter */
-       struct rte_vhost_iov_iter *src;
-       /** destination memory iov_iter */
-       struct rte_vhost_iov_iter *dst;
-};
-
 /**
  * dma transfer status
  */
@@ -52,17 +47,17 @@ struct rte_vhost_async_channel_ops {
         *  id of vhost device to perform data copies
         * @param queue_id
         *  queue id to perform data copies
-        * @param descs
-        *  an array of DMA transfer memory descriptors
+        * @param iov_iter
+        *  an array of IOV iterators
         * @param opaque_data
         *  opaque data pair sending to DMA engine
         * @param count
         *  number of elements in the "descs" array
         * @return
-        *  number of descs processed, negative value means error
+        *  number of IOV iterators processed, negative value means error
         */
        int32_t (*transfer_data)(int vid, uint16_t queue_id,
-               struct rte_vhost_async_desc *descs,
+               struct rte_vhost_iov_iter *iov_iter,
                struct rte_vhost_async_status *opaque_data,
                uint16_t count);
        /**
@@ -83,15 +78,6 @@ struct rte_vhost_async_channel_ops {
                uint16_t max_packets);
 };
 
-/**
- * inflight async packet information
- */
-struct async_inflight_info {
-       struct rte_mbuf *mbuf;
-       uint16_t descs; /* num of descs inflight */
-       uint16_t nr_buffers; /* num of buffers inflight for packed ring */
-};
-
 /**
  *  async channel features
  */