Hello,
I use vpp as the bridge between two virtual manchines on the same host. I
use vpp vhost-user as the backend and use iperf3 on the vm to test tcp
performance.
I found that the performance of vpp vhost-user is poorer than vhost-net.
For vhost-net, I can get 30Gbps . For vpp vhost-user, I only get 10Gbps.
This is the vpp output :
vpp# show vhost-user
Virtio vhost-user interfaces
Global:
coalesce frames 32 time 1e-3
Number of rx virtqueues in interrupt mode: 0
Number of GSO interfaces: 2
Interface: VirtualEthernet0/0/0 (ifindex 1)
GSO enable
virtio_net_hdr_sz 12
features mask (0xffffffffffffa27c):
features (0x15020dd83):
VIRTIO_NET_F_CSUM (0)
VIRTIO_NET_F_GUEST_CSUM (1)
VIRTIO_NET_F_GUEST_TSO4 (7)
VIRTIO_NET_F_GUEST_TSO6 (8)
VIRTIO_NET_F_GUEST_UFO (10)
VIRTIO_NET_F_HOST_TSO4 (11)
VIRTIO_NET_F_HOST_TSO6 (12)
VIRTIO_NET_F_HOST_UFO (14)
VIRTIO_NET_F_MRG_RXBUF (15)
VIRTIO_NET_F_GUEST_ANNOUNCE (21)
VIRTIO_F_INDIRECT_DESC (28)
VHOST_USER_F_PROTOCOL_FEATURES (30)
VIRTIO_F_VERSION_1 (32)
protocol features (0x3)
VHOST_USER_PROTOCOL_F_MQ (0)
VHOST_USER_PROTOCOL_F_LOG_SHMFD (1)
socket filename /home/pml/run/sock1.sock type client errno "Success"
rx placement:
thread 6 on vring 1, polling
tx placement: spin-lock
thread 0 on vring 0
thread 1 on vring 0
thread 2 on vring 0
thread 3 on vring 0
thread 4 on vring 0
thread 5 on vring 0
thread 6 on vring 0
thread 7 on vring 0
thread 8 on vring 0
Memory regions (total 3)
region fd guest_phys_addr memory_size userspace_addr
mmap_offset mmap_addr
====== ===== ================== ================== ==================
================== ==================
0 60 0x0000000000000000 0x00000000000a0000 0x00007f659e200000
0x0000000000000000 0x00007faa41a00000
1 61 0x00000000000c0000 0x00000000bff40000 0x00007f659e2c0000
0x00000000000c0000 0x00007f4fff0c0000
2 62 0x0000000100000000 0x0000000140000000 0x00007f665e200000
0x00000000c0000000 0x00007f4ebf000000
Virtqueue 0 (TX)
qsz 1024 last_avail_idx 39946 last_used_idx 39946
avail.flags 0 avail.idx 40511 used.flags 1 used.idx 39946
kickfd 63 callfd 64 errfd -1
Virtqueue 1 (RX)
qsz 1024 last_avail_idx 46846 last_used_idx 46846
avail.flags 1 avail.idx 46846 used.flags 1 used.idx 46846
kickfd 58 callfd 65 errfd -1
Interface: VirtualEthernet0/0/1 (ifindex 2)
GSO enable
virtio_net_hdr_sz 12
features mask (0xffffffffffffa27c):
features (0x15020dd83):
VIRTIO_NET_F_CSUM (0)
VIRTIO_NET_F_GUEST_CSUM (1)
VIRTIO_NET_F_GUEST_TSO4 (7)
VIRTIO_NET_F_GUEST_TSO6 (8)
VIRTIO_NET_F_GUEST_UFO (10)
VIRTIO_NET_F_HOST_TSO4 (11)
VIRTIO_NET_F_HOST_TSO6 (12)
VIRTIO_NET_F_HOST_UFO (14)
VIRTIO_NET_F_MRG_RXBUF (15)
VIRTIO_NET_F_GUEST_ANNOUNCE (21)
VIRTIO_F_INDIRECT_DESC (28)
VHOST_USER_F_PROTOCOL_FEATURES (30)
VIRTIO_F_VERSION_1 (32)
protocol features (0x3)
VHOST_USER_PROTOCOL_F_MQ (0)
VHOST_USER_PROTOCOL_F_LOG_SHMFD (1)
socket filename /home/pml/run/sock2.sock type client errno "Success"
rx placement:
thread 8 on vring 1, polling
tx placement: spin-lock
thread 0 on vring 0
thread 1 on vring 0
thread 2 on vring 0
thread 3 on vring 0
thread 4 on vring 0
thread 5 on vring 0
thread 6 on vring 0
thread 7 on vring 0
thread 8 on vring 0
Memory regions (total 3)
region fd guest_phys_addr memory_size userspace_addr
mmap_offset mmap_addr
====== ===== ================== ================== ==================
================== ==================
0 68 0x0000000000000000 0x00000000000a0000 0x00007f314a600000
0x0000000000000000 0x00007faa41800000
1 69 0x00000000000c0000 0x00000000bff40000 0x00007f314a6c0000
0x00000000000c0000 0x00007f4d3f0c0000
2 70 0x0000000100000000 0x0000000140000000 0x00007f320a600000
0x00000000c0000000 0x00007f4bff000000
Virtqueue 0 (TX)
qsz 1024 last_avail_idx 50139 last_used_idx 50139
avail.flags 0 avail.idx 50761 used.flags 1 used.idx 50139
kickfd 71 callfd 72 errfd -1
Virtqueue 1 (RX)
qsz 1024 last_avail_idx 24888 last_used_idx 24888
avail.flags 1 avail.idx 24888 used.flags 1 used.idx 24888
kickfd 66 callfd 73 errfd -1
vpp# show node counters
Count Node Reason
382312 l2-output L2 output packets
382312 l2-learn L2 learn packets
382312 l2-input L2 input packets
20 VirtualEthernet0/0/1-tx tx packet drops (no available
descriptors)
34878 l2-output L2 output packets
34878 l2-learn L2 learn packets
34878 l2-input L2 input packets
Please can you tell me what is wrong ?
Thank you
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16166): https://lists.fd.io/g/vpp-dev/message/16166
Mute This Topic: https://lists.fd.io/mt/73322483/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-