aboutsummaryrefslogtreecommitdiffstats
path: root/docs/usecases/vhost/vhost03.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/usecases/vhost/vhost03.rst')
-rw-r--r--docs/usecases/vhost/vhost03.rst88
1 files changed, 88 insertions, 0 deletions
diff --git a/docs/usecases/vhost/vhost03.rst b/docs/usecases/vhost/vhost03.rst
new file mode 100644
index 00000000000..ed583349bc6
--- /dev/null
+++ b/docs/usecases/vhost/vhost03.rst
@@ -0,0 +1,88 @@
+.. _vhost03:
+
+Bridge the Interfaces
+---------------------
+
+To connect the 2 interfaces we put them on an L2 bridge.
+
+Use the "set interface l2 bridge" command.
+
+.. code-block:: console
+
+ vpp# set interface l2 bridge VirtualEthernet0/0/0 100
+ vpp# set interface l2 bridge TenGigabitEthernet86/0/0 100
+ vpp# show bridge
+ BD-ID Index BSN Age(min) Learning U-Forwrd UU-Flood Flooding ARP-Term BVI-Intf
+ 100 1 0 off on on on on off N/A
+ vpp# show bridge 100 det
+ BD-ID Index BSN Age(min) Learning U-Forwrd UU-Flood Flooding ARP-Term BVI-Intf
+ 100 1 0 off on on on on off N/A
+
+ Interface If-idx ISN SHG BVI TxFlood VLAN-Tag-Rewrite
+ VirtualEthernet0/0/0 3 1 0 - * none
+ TenGigabitEthernet86/0/0 1 1 0 - * none
+ vpp# show vhost
+
+Bring the Interfaces Up
+-----------------------
+
+We can now bring all the pertinent interfaces up. We can then we will then be able to communicate
+with the VM from the remote system running Linux.
+
+Bring the interfaces up with :ref:`setintstate` command.
+
+.. code-block:: console
+
+ vpp# set interface state VirtualEthernet0/0/0 up
+ vpp# set interface state TenGigabitEthernet86/0/0 up
+ vpp# sh int
+ Name Idx State Counter Count
+ TenGigabitEthernet86/0/0 1 up rx packets 2
+ rx bytes 180
+ TenGigabitEthernet86/0/1 2 down
+ VirtualEthernet0/0/0 3 up tx packets 2
+ tx bytes 180
+ local0 0 down
+
+Ping from the VM
+----------------
+
+The remote Linux system has an ip address of "10.0.0.2" we can now reach it from the VM.
+
+Use the "virsh console" command to attach to the VM. "ctrl-D" to exit.
+
+.. code-block:: console
+
+ $ virsh console iperf-server3
+ Connected to domain iperf-server3
+ Escape character is ^]
+
+ Ubuntu 16.04.3 LTS iperfvm ttyS0
+ .....
+
+ root@iperfvm:~# ping 10.0.0.2
+ 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.285 ms
+ 64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.154 ms
+ 64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.159 ms
+ 64 bytes from 10.0.0.2: icmp_seq=4 ttl=64 time=0.208 ms
+
+
+On VPP you can now see the packet counts increasing. The packets from the VM are seen as **rx packets**
+on **VirtualEthernet0/0/0**, they are then bridged to **TenGigabitEthernet86/0/0** and are seen leaving the
+system as **tx packets**. The reverse is true on the way in.
+
+.. code-block:: console
+
+ vpp# sh int
+ Name Idx State Counter Count
+ TenGigabitEthernet86/0/0 1 up rx packets 16
+ rx bytes 1476
+ tx packets 14
+ tx bytes 1260
+ TenGigabitEthernet86/0/1 2 down
+ VirtualEthernet0/0/0 3 up rx packets 14
+ rx bytes 1260
+ tx packets 16
+ tx bytes 1476
+ local0 0 down
+ vpp#