Bridge the Interfaces
To connect the 2 interfaces we put them on an L2 bridge.
Use the “set interface l2 bridge” command.
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 Set Interface State command.
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.
$ 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.
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#