3 title: "QUIC/UDP/IP with vpp_echo"
7 # QUIC/UDP/IP with vpp_echo
9 [vpp_echo performance testing tool](https://wiki.fd.io/view/VPP/HostStack#External_Echo_Server.2FClient_.28vpp_echo.29)
10 is a bespoke performance test application which utilizes the 'native
11 HostStack APIs' to verify performance and correct handling of
12 connection/stream events with uni-directional and bi-directional
15 Because iperf3 does not support the QUIC transport protocol, vpp_echo
16 is used for measuring the maximum attainable goodput of the VPP Host
17 Stack connection utilizing the QUIC transport protocol across two
18 instances of VPP running on separate DUT nodes. The QUIC transport
19 protocol supports multiple streams per connection and test cases
20 utilize different combinations of QUIC connections and number of
21 streams per connection.
23 The test configuration is as follows:
26 [ vpp_echo-client -> VPP1 ]=======[ VPP2 -> vpp_echo-server]
31 1. vpp_echo server attaches to VPP2 and LISTENs on VPP2:TCP port 1234.
32 2. vpp_echo client creates one or more connections to VPP1 and opens
33 one or more stream per connection to VPP2:TCP port 1234.
34 3. vpp_echo client transmits a uni-directional stream as fast as the
35 VPP Host Stack allows to the vpp_echo server for the test duration.
36 4. At the end of the test the vpp_echo client emits the goodput
37 measurements for all streams and the sum of all streams.
41 1. 1 QUIC Connection with 1 Stream
42 2. 1 QUIC connection with 10 Streams
43 3. 10 QUIC connetions with 1 Stream
44 4. 10 QUIC connections with 10 Streams
46 with stream sizes to provide reasonable test durations. The VPP Host
47 Stack QUIC transport is configured to utilize the picotls encryption
48 library. In the future, tests utilizing addtional encryption
49 algorithms will be added.