net/af_xdp: forbid umem sharing for xsks with same context
[dpdk.git] / doc / guides / nics / memif.rst
index 4d7f008..8e80105 100644 (file)
@@ -43,6 +43,7 @@ client.
    "bsize=1024", "Size of single packet buffer", "2048", "uint16_t"
    "rsize=11", "Log2 of ring size. If rsize is 10, actual ring size is 1024", "10", "1-14"
    "socket=/tmp/memif.sock", "Socket filename", "/tmp/memif.sock", "string len 108"
+   "socket-abstract=no", "Set usage of abstract socket address", "yes", "yes|no"
    "mac=01:23:45:ab:cd:ef", "Mac address", "01:ab:23:cd:45:ef", ""
    "secret=abc123", "Secret is an optional security option, which if specified, must be matched by peer", "", "string len 24"
    "zero-copy=yes", "Enable/disable zero-copy slave mode. Only relevant to slave, requires '--single-file-segments' eal argument", "no", "yes|no"
@@ -272,3 +273,20 @@ Send ping from VPP::
     64 bytes from 192.168.1.2: icmp_seq=3 ttl=254 time=23.3927 ms
     64 bytes from 192.168.1.2: icmp_seq=4 ttl=254 time=24.2975 ms
     64 bytes from 192.168.1.2: icmp_seq=5 ttl=254 time=17.7049 ms
+
+Example: testpmd memif loopback
+-------------------------------
+In this example we will create 2 memif ports connected into loopback.
+The situation is analogous to cross connecting 2 ports of the NIC by cable.
+
+To set the loopback, just use the same socket and id with different roles::
+
+    #./testpmd --vdev=net_memif0,role=master,id=0 --vdev=net_memif1,role=slave,id=0 -- -i
+
+Then start the communication::
+
+    testpmd> start tx_first
+
+Finally we can check port stats to see the traffic::
+
+    testpmd> show port stats all