On Mon, Jun 23, 2025 at 4:10 PM Laurent Vivier <lviv...@redhat.com> wrote: > > On 23/06/2025 10:03, Jason Wang wrote: > > On Wed, Jun 18, 2025 at 4:39 PM Laurent Vivier <lviv...@redhat.com> wrote: > >> > >> This series introduces support for passt as a new network backend for > >> QEMU. > >> > >> passt is a modern, unprivileged, user-mode networking solution that > >> provides guest connectivity by launching an external helper process. This > >> series adds the core backend and integrates it with vhost-user for > >> high-performance, accelerated networking. > >> > >> The series is structured to first improve the general networking code > >> before adding the new feature. The first patch extracts from the stream > >> backend the functions that will be reused in the passt backend. The > >> following patches are a preparatory refactoring to decouple the generic > >> vhost layer from specific backend implementations (tap, vhost-user, etc.). > >> This is achieved by replacing hardcoded type checks with a callback-based > >> system in NetClientInfo, making the vhost infrastructure more modular and > >> extensible. > >> > >> With the refactoring in place, subsequent patches introduce the passt > >> backend itself, reusing the generic stream handling logic. The final > >> patch adds vhost-user support to passt, which plugs cleanly into the > >> newly refactored vhost layer. > >> > >> Some benchmarks: > >> > >> Reference '-net user': > >> > >> -net user,hostfwd=tcp::10001-:10001 > >> > >> iperf3 -c localhost -p 10001 -t 60 -4 > >> > >> [ ID] Interval Transfer Bitrate Retr > >> [ 5] 0.00-60.00 sec 14.2 GBytes 2.03 Gbits/sec 1 > >> sender > >> [ 5] 0.00-60.00 sec 14.2 GBytes 2.03 Gbits/sec > >> receiver > >> > >> New backend '-netdev passt' > >> > >> -netdev passt,vhost-user=off,tcp-ports=10001 > >> > >> iperf3 -c localhost -p 10001 -t 60 -4 > >> > >> [ ID] Interval Transfer Bitrate Retr > >> [ 5] 0.00-60.00 sec 27.1 GBytes 3.88 Gbits/sec 0 > >> sender > >> [ 5] 0.00-60.03 sec 27.1 GBytes 3.88 Gbits/sec > >> receiver > >> > >> -netdev passt,vhost-user=on,tcp-ports=10001 > >> > >> iperf3 -c localhost -p 10001 -t 60 -4 > >> > >> [ ID] Interval Transfer Bitrate Retr > >> [ 5] 0.00-60.00 sec 224 GBytes 32.1 Gbits/sec 4 > >> sender > >> [ 5] 0.00-60.05 sec 224 GBytes 32.0 Gbits/sec > >> receiver > > > > Do we have latency numbers of even PPS? > > Could you propose tools and tests I can run to have these numbers?
For latency, we can use netperf -t TCP_RR. For PPS, we can use pktgen, kernel source has samples under samples/pktgen, pktgen_sample03_burst_single_flow.sh could be a good script, please make sure burst is used in the test to stress the virtio-net as much as possible. Thanks > > Thanks, > Laurent >