net/dpaa2: support basic stats
[dpdk.git] / doc / guides / prog_guide / vhost_lib.rst
index 6a4d206..5979290 100644 (file)
@@ -116,13 +116,7 @@ The following is an overview of some key Vhost API functions:
   vhost-user driver could be vhost-user net, yet it could be something else,
   say, vhost-user SCSI.
 
-* ``rte_vhost_driver_session_start()``
-
-  This function starts the vhost session loop to handle vhost messages. It
-  starts an infinite loop, therefore it should be called in a dedicated
-  thread.
-
-* ``rte_vhost_driver_callback_register(virtio_net_device_ops)``
+* ``rte_vhost_driver_callback_register(path, vhost_device_ops)``
 
   This function registers a set of callbacks, to let DPDK applications take
   the appropriate action when some events happen. The following events are
@@ -130,12 +124,12 @@ The following is an overview of some key Vhost API functions:
 
   * ``new_device(int vid)``
 
-    This callback is invoked when a virtio net device becomes ready. ``vid``
-    is the virtio net device ID.
+    This callback is invoked when a virtio device becomes ready. ``vid``
+    is the vhost device ID.
 
   * ``destroy_device(int vid)``
 
-    This callback is invoked when a virtio net device shuts down (or when the
+    This callback is invoked when a virtio device shuts down (or when the
     vhost connection is broken).
 
   * ``vring_state_changed(int vid, uint16_t queue_id, int enable)``
@@ -143,13 +137,11 @@ The following is an overview of some key Vhost API functions:
     This callback is invoked when a specific queue's state is changed, for
     example to enabled or disabled.
 
-* ``rte_vhost_enqueue_burst(vid, queue_id, pkts, count)``
+  * ``features_changed(int vid, uint64_t features)``
 
-  Transmits (enqueues) ``count`` packets from host to guest.
-
-* ``rte_vhost_dequeue_burst(vid, queue_id, mbuf_pool, pkts, count)``
-
-  Receives (dequeues) ``count`` packets from guest, and stored them at ``pkts``.
+    This callback is invoked when the features is changed. For example,
+    ``VHOST_F_LOG_ALL`` will be set/cleared at the start/end of live
+    migration, respectively.
 
 * ``rte_vhost_driver_disable/enable_features(path, features))``
 
@@ -157,6 +149,18 @@ The following is an overview of some key Vhost API functions:
   disable mergeable buffers and TSO features, which both are enabled by
   default.
 
+* ``rte_vhost_driver_start(path)``
+
+  This function triggers the vhost-user negotiation. It should be invoked at
+  the end of initializing a vhost-user driver.
+
+* ``rte_vhost_enqueue_burst(vid, queue_id, pkts, count)``
+
+  Transmits (enqueues) ``count`` packets from host to guest.
+
+* ``rte_vhost_dequeue_burst(vid, queue_id, mbuf_pool, pkts, count)``
+
+  Receives (dequeues) ``count`` packets from guest, and stored them at ``pkts``.
 
 Vhost-user Implementations
 --------------------------