A typical DPDK IVSHMEM use case looks like the following.
-.. image28_png has been renamed
-|ivshmem|
+.. figure:: img/ivshmem.*
+
+ Typical Ivshmem use case
+
The same could work with several virtual machines, providing host-to-VM or VM-to-VM communication.
The maximum number of metadata files is 32 (by default) and each metadata file can contain different (or even the same) hugepages.
Only data structures fully residing in DPDK hugepage memory work correctly.
Supported data structures created by malloc(), mmap()
or otherwise using non-DPDK memory cause undefined behavior and even a segmentation fault.
+ Specifically, because the memzone field in an rte_ring refers to a memzone structure residing in local memory,
+ accessing the memzone field in a shared rte_ring will cause an immediate segmentation fault.
IVSHMEM Environment Configuration
---------------------------------
As a result, if the user wishes to shut down or restart the IVSHMEM host application,
it is not enough to simply shut the application down.
The virtual machine must also be shut down (if not, it will hold onto outdated host data).
-
-.. |ivshmem| image:: img/ivshmem.*