Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix packet forwarding between vz and socket_vmnet #2680

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

nirs
Copy link
Contributor

@nirs nirs commented Oct 3, 2024

We used external package (tcpproxy) for proxying between unix stream and datagram sockets. This package cannot handle ENOBUFS error, expected condition on BSD based systems, and worse, it hides errors and stop forwarding packets silently when write to vz socket fails with ENOBUFS[1].

Fix the issues by replacing tcpproxy with a simpler and more direct implementation that will be easier to maintain.

Fixes:

  • Fix error handling if write to vz datagram socket fail with ENOBUFS. We retry the write until it succeeds with a very short sleep between retries. Similar solution is used in gvisor-tap-vsock[2].

  • Fix error handling if we could not read packet header or body from socket_vmnet stream socket. Previously we logged an error and continue to send corrupted packet to vz from the point of the failure.

  • Fix error handling if writing a packet to socket_vmnet stream socket returned after writing partial packet. Now we handle short writes and write the complete packet. Previously would break the protocol and continue to send corrupted packet from the point of the failure.

  • Log error if forwarding packets from vz to socket_vmnet or from socket_vmnet to vz failed.

Simplification:

  • Use binary.Read() and binary.Write() to read and write qemu packet header.

Visibility:

  • Make QEMUPacketConn private since it is an implementation detail of vz when using socket_vmnet.

[1] lima-vm/socket_vmnet#39
[2] containers/gvisor-tap-vsock#370

@nirs
Copy link
Contributor Author

nirs commented Oct 3, 2024

@balajiv113 can you review?

@nirs
Copy link
Contributor Author

nirs commented Oct 3, 2024

Example iperf3 run - case 1

2 lima vms:

  • server: running iperf3 -s
  • client: unrelated vm, socket_vmnet duplicate all packets to/from server to this vm

Running iperf3 on the host, testing server vm.

Tested on M1 Pro

% iperf3-darwin -c 192.168.105.58 -l 1m -t 300
Connecting to host 192.168.105.58, port 5201
[  5] local 192.168.105.1 port 65472 connected to 192.168.105.58 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd          RTT
[  5]   0.00-1.00   sec   253 MBytes  2.12 Gbits/sec    0   8.00 MBytes   13ms     
[  5]   1.00-2.00   sec   297 MBytes  2.49 Gbits/sec    0   8.00 MBytes   14ms     
[  5]   2.00-3.00   sec   295 MBytes  2.47 Gbits/sec    0   8.00 MBytes   14ms     
[  5]   3.00-4.00   sec   213 MBytes  1.79 Gbits/sec    0   8.00 MBytes   20ms     
[  5]   4.00-5.00   sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5]   5.00-6.00   sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   14ms     
[  5]   6.00-7.00   sec   301 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5]   7.00-8.00   sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5]   8.00-9.00   sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]   9.00-10.00  sec   272 MBytes  2.28 Gbits/sec    0   8.00 MBytes   23ms     
[  5]  10.00-11.00  sec   207 MBytes  1.74 Gbits/sec    0   8.00 MBytes   19ms     
[  5]  11.00-12.00  sec   246 MBytes  2.06 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  12.00-13.00  sec   296 MBytes  2.48 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  13.00-14.00  sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   12ms     
[  5]  14.00-15.00  sec   289 MBytes  2.42 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  15.00-16.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  16.00-17.00  sec   297 MBytes  2.49 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  17.00-18.00  sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  18.00-19.00  sec   296 MBytes  2.48 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  19.00-20.00  sec   240 MBytes  2.01 Gbits/sec    0   8.00 MBytes   19ms     
[  5]  20.00-21.00  sec   288 MBytes  2.41 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  21.00-22.00  sec   292 MBytes  2.45 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  22.00-23.00  sec   295 MBytes  2.47 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  23.00-24.00  sec   257 MBytes  2.15 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  24.00-25.00  sec   296 MBytes  2.48 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  25.00-26.00  sec   253 MBytes  2.12 Gbits/sec    0   8.00 MBytes   19ms     
[  5]  26.00-27.00  sec   203 MBytes  1.71 Gbits/sec    0   8.00 MBytes   22ms     
[  5]  27.00-28.00  sec   252 MBytes  2.11 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  28.00-29.00  sec   295 MBytes  2.48 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  29.00-30.00  sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  30.00-31.00  sec   278 MBytes  2.33 Gbits/sec    0   8.00 MBytes   15ms     
[  5]  31.00-32.00  sec   297 MBytes  2.49 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  32.00-33.00  sec   294 MBytes  2.46 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  33.00-34.00  sec   292 MBytes  2.45 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  34.00-35.00  sec   293 MBytes  2.46 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  35.00-36.00  sec   285 MBytes  2.39 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  36.00-37.00  sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  37.00-38.00  sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  38.00-39.00  sec   285 MBytes  2.39 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  39.00-40.00  sec   261 MBytes  2.19 Gbits/sec    0   8.00 MBytes   18ms     
[  5]  40.00-41.00  sec   260 MBytes  2.18 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  41.00-42.00  sec   244 MBytes  2.05 Gbits/sec    0   8.00 MBytes   19ms     
[  5]  42.00-43.00  sec   218 MBytes  1.83 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  43.00-44.00  sec   234 MBytes  1.97 Gbits/sec    0   8.00 MBytes   18ms     
[  5]  44.00-45.00  sec   255 MBytes  2.14 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  45.00-46.00  sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  46.00-47.00  sec   256 MBytes  2.14 Gbits/sec    0   8.00 MBytes   19ms     
[  5]  47.00-48.00  sec   266 MBytes  2.24 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  48.00-49.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  49.00-50.00  sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  50.00-51.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  51.00-52.00  sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  52.00-53.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  53.00-54.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   12ms     
[  5]  54.00-55.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  55.00-56.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  56.00-57.00  sec   293 MBytes  2.46 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  57.00-58.00  sec   234 MBytes  1.97 Gbits/sec    0   8.00 MBytes   20ms     
[  5]  58.00-59.00  sec   208 MBytes  1.75 Gbits/sec    0   8.00 MBytes   18ms     
[  5]  59.00-60.00  sec   288 MBytes  2.42 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  60.00-61.00  sec   287 MBytes  2.41 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  61.00-62.00  sec   295 MBytes  2.47 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  62.00-63.00  sec   285 MBytes  2.39 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  63.00-64.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  64.00-65.00  sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  65.00-66.00  sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  66.00-67.00  sec   273 MBytes  2.29 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  67.00-68.00  sec   284 MBytes  2.38 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  68.00-69.00  sec   226 MBytes  1.89 Gbits/sec    0   8.00 MBytes   19ms     
[  5]  69.00-70.00  sec   246 MBytes  2.07 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  70.00-71.00  sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  71.00-72.00  sec   293 MBytes  2.46 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  72.00-73.00  sec   293 MBytes  2.46 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  73.00-74.00  sec   215 MBytes  1.81 Gbits/sec    0   8.00 MBytes   19ms     
[  5]  74.00-75.00  sec   208 MBytes  1.74 Gbits/sec    0   8.00 MBytes   19ms     
[  5]  75.00-76.00  sec   280 MBytes  2.35 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  76.00-77.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  77.00-78.00  sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  78.00-79.00  sec   272 MBytes  2.28 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  79.00-80.00  sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  80.00-81.00  sec   299 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  81.00-82.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  82.00-83.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  83.00-84.00  sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  84.00-85.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  85.00-86.00  sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  86.00-87.00  sec   292 MBytes  2.45 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  87.00-88.00  sec   299 MBytes  2.50 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  88.00-89.00  sec   282 MBytes  2.36 Gbits/sec    0   8.00 MBytes   21ms     
[  5]  89.00-90.00  sec   202 MBytes  1.70 Gbits/sec    0   8.00 MBytes   18ms     
[  5]  90.00-91.00  sec   274 MBytes  2.30 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  91.00-92.00  sec   294 MBytes  2.47 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  92.00-93.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  93.00-94.00  sec   299 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  94.00-95.00  sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  95.00-96.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  96.00-97.00  sec   301 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  97.00-98.00  sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  98.00-99.00  sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  99.00-100.00 sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 100.00-101.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 101.00-102.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 102.00-103.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   12ms     
[  5] 103.00-104.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 104.00-105.00 sec   277 MBytes  2.33 Gbits/sec    0   8.00 MBytes   17ms     
[  5] 105.00-106.00 sec   208 MBytes  1.75 Gbits/sec    0   8.00 MBytes   20ms     
[  5] 106.00-107.00 sec   259 MBytes  2.18 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 107.00-108.00 sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 108.00-109.00 sec   275 MBytes  2.31 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 109.00-110.00 sec   235 MBytes  1.97 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 110.00-111.00 sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 111.00-112.00 sec   267 MBytes  2.24 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 112.00-113.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 113.00-114.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 114.00-115.00 sec   301 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 115.00-116.00 sec   281 MBytes  2.36 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 116.00-117.00 sec   294 MBytes  2.46 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 117.00-118.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 118.00-119.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 119.00-120.00 sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   12ms     
[  5] 120.00-121.00 sec   274 MBytes  2.30 Gbits/sec    0   8.00 MBytes   19ms     
[  5] 121.00-122.00 sec   204 MBytes  1.71 Gbits/sec    0   8.00 MBytes   18ms     
[  5] 122.00-123.00 sec   230 MBytes  1.93 Gbits/sec    0   8.00 MBytes   19ms     
[  5] 123.00-124.00 sec   259 MBytes  2.18 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 124.00-125.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 125.00-126.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 126.00-127.00 sec   287 MBytes  2.40 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 127.00-128.00 sec   264 MBytes  2.22 Gbits/sec    0   8.00 MBytes   19ms     
[  5] 128.00-129.00 sec   288 MBytes  2.42 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 129.00-130.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 130.00-131.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 131.00-132.00 sec   285 MBytes  2.39 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 132.00-133.00 sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 133.00-134.00 sec   289 MBytes  2.42 Gbits/sec    0   8.00 MBytes   17ms     
[  5] 134.00-135.00 sec   283 MBytes  2.37 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 135.00-136.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 136.00-137.00 sec   253 MBytes  2.12 Gbits/sec    0   8.00 MBytes   23ms     
[  5] 137.00-138.00 sec   205 MBytes  1.72 Gbits/sec    0   2.93 MBytes   14ms     
[  5] 138.00-139.00 sec   248 MBytes  2.08 Gbits/sec    0   3.06 MBytes   10ms     
[  5] 139.00-140.00 sec   298 MBytes  2.50 Gbits/sec    0   3.17 MBytes   15ms     
[  5] 140.00-141.00 sec   295 MBytes  2.48 Gbits/sec    0   3.25 MBytes   10ms     
[  5] 141.00-142.00 sec   278 MBytes  2.33 Gbits/sec    0   3.31 MBytes   15ms     
[  5] 142.00-143.00 sec   255 MBytes  2.14 Gbits/sec    0   3.35 MBytes   11ms     
[  5] 143.00-144.00 sec   300 MBytes  2.51 Gbits/sec    0   3.37 MBytes   11ms     
[  5] 144.00-145.00 sec   300 MBytes  2.52 Gbits/sec    0   3.39 MBytes   11ms     
[  5] 145.00-146.00 sec   300 MBytes  2.52 Gbits/sec    0   3.39 MBytes   12ms     
[  5] 146.00-147.00 sec   294 MBytes  2.47 Gbits/sec    0   3.47 MBytes   11ms     
[  5] 147.00-148.00 sec   287 MBytes  2.41 Gbits/sec    0   3.58 MBytes   12ms     
[  5] 148.00-149.00 sec   301 MBytes  2.52 Gbits/sec    0   3.69 MBytes   12ms     
[  5] 149.00-150.00 sec   296 MBytes  2.49 Gbits/sec    0   3.80 MBytes   17ms     
[  5] 150.00-151.00 sec   295 MBytes  2.47 Gbits/sec    0   3.91 MBytes   12ms     
[  5] 151.00-152.00 sec   253 MBytes  2.12 Gbits/sec    0   4.00 MBytes   13ms     
[  5] 152.00-153.00 sec   260 MBytes  2.18 Gbits/sec    0   4.09 MBytes   18ms     
[  5] 153.00-154.00 sec   203 MBytes  1.70 Gbits/sec    0   4.15 MBytes   19ms     
[  5] 154.00-155.00 sec   259 MBytes  2.17 Gbits/sec    0   4.24 MBytes   13ms     
[  5] 155.00-156.00 sec   299 MBytes  2.51 Gbits/sec    0   4.34 MBytes   13ms     
[  5] 156.00-157.00 sec   301 MBytes  2.52 Gbits/sec    0   4.43 MBytes   13ms     
[  5] 157.00-158.00 sec   300 MBytes  2.52 Gbits/sec    0   4.52 MBytes   13ms     
[  5] 158.00-159.00 sec   287 MBytes  2.40 Gbits/sec    0   4.61 MBytes   13ms     
[  5] 159.00-160.00 sec   300 MBytes  2.52 Gbits/sec    0   4.70 MBytes   14ms     
[  5] 160.00-161.00 sec   300 MBytes  2.52 Gbits/sec    0   4.79 MBytes   13ms     
[  5] 161.00-162.00 sec   265 MBytes  2.23 Gbits/sec    0   5.10 MBytes   21ms     
[  5] 162.00-163.00 sec   282 MBytes  2.36 Gbits/sec    0   5.49 MBytes   13ms     
[  5] 163.00-164.00 sec   267 MBytes  2.24 Gbits/sec    0   5.91 MBytes   13ms     
[  5] 164.00-165.00 sec   281 MBytes  2.36 Gbits/sec    0   6.40 MBytes   14ms     
[  5] 165.00-166.00 sec   240 MBytes  2.01 Gbits/sec    0   6.94 MBytes   14ms     
[  5] 166.00-167.00 sec   299 MBytes  2.51 Gbits/sec    0   7.54 MBytes   13ms     
[  5] 167.00-168.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 168.00-169.00 sec   221 MBytes  1.85 Gbits/sec    0   8.00 MBytes   21ms     
[  5] 169.00-170.00 sec   234 MBytes  1.96 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 170.00-171.00 sec   296 MBytes  2.48 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 171.00-172.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 172.00-173.00 sec   285 MBytes  2.39 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 173.00-174.00 sec   287 MBytes  2.41 Gbits/sec    0   8.00 MBytes   20ms     
[  5] 174.00-175.00 sec   269 MBytes  2.26 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 175.00-176.00 sec   293 MBytes  2.46 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 176.00-177.00 sec   263 MBytes  2.20 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 177.00-178.00 sec   294 MBytes  2.47 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 178.00-179.00 sec   294 MBytes  2.46 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 179.00-180.00 sec   287 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 180.00-181.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 181.00-182.00 sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 182.00-183.00 sec   301 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 183.00-184.00 sec   284 MBytes  2.39 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 184.00-185.00 sec   221 MBytes  1.85 Gbits/sec    0   8.00 MBytes   19ms     
[  5] 185.00-186.00 sec   241 MBytes  2.02 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 186.00-187.00 sec   297 MBytes  2.49 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 187.00-188.00 sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 188.00-189.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 189.00-190.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 190.00-191.00 sec   287 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 191.00-192.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 192.00-193.00 sec   256 MBytes  2.15 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 193.00-194.00 sec   279 MBytes  2.34 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 194.00-195.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 195.00-196.00 sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 196.00-197.00 sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 197.00-198.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 198.00-199.00 sec   292 MBytes  2.45 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 199.00-200.00 sec   292 MBytes  2.45 Gbits/sec    0   8.00 MBytes   18ms     
[  5] 200.00-201.00 sec   207 MBytes  1.74 Gbits/sec    0   8.00 MBytes   20ms     
[  5] 201.00-202.00 sec   243 MBytes  2.04 Gbits/sec    0   3.01 MBytes   10ms     
[  5] 202.00-203.00 sec   296 MBytes  2.49 Gbits/sec    0   3.23 MBytes   12ms     
[  5] 203.00-204.00 sec   298 MBytes  2.50 Gbits/sec    0   3.42 MBytes   11ms     
[  5] 204.00-205.00 sec   297 MBytes  2.49 Gbits/sec    0   3.57 MBytes   12ms     
[  5] 205.00-206.00 sec   298 MBytes  2.50 Gbits/sec    0   3.69 MBytes   13ms     
[  5] 206.00-207.00 sec   281 MBytes  2.36 Gbits/sec    0   3.79 MBytes   12ms     
[  5] 207.00-208.00 sec   300 MBytes  2.52 Gbits/sec    0   3.86 MBytes   12ms     
[  5] 208.00-209.00 sec   300 MBytes  2.51 Gbits/sec    0   3.91 MBytes   14ms     
[  5] 209.00-210.00 sec   299 MBytes  2.51 Gbits/sec    0   3.95 MBytes   13ms     
[  5] 210.00-211.00 sec   299 MBytes  2.51 Gbits/sec    0   3.97 MBytes   13ms     
[  5] 211.00-212.00 sec   286 MBytes  2.40 Gbits/sec    0   3.98 MBytes   12ms     
[  5] 212.00-213.00 sec   300 MBytes  2.52 Gbits/sec    0   3.98 MBytes   13ms     
[  5] 213.00-214.00 sec   299 MBytes  2.51 Gbits/sec    0   3.98 MBytes   14ms     
[  5] 214.00-215.00 sec   276 MBytes  2.32 Gbits/sec    0   3.98 MBytes   13ms     
[  5] 215.00-216.00 sec   257 MBytes  2.15 Gbits/sec    0   3.99 MBytes   17ms     
[  5] 216.00-217.00 sec   213 MBytes  1.78 Gbits/sec    0   4.00 MBytes   19ms     
[  5] 217.00-218.00 sec   250 MBytes  2.10 Gbits/sec    0   4.02 MBytes   13ms     
[  5] 218.00-219.00 sec   294 MBytes  2.47 Gbits/sec    0   4.05 MBytes   13ms     
[  5] 219.00-220.00 sec   298 MBytes  2.50 Gbits/sec    0   4.14 MBytes   13ms     
[  5] 220.00-221.00 sec   297 MBytes  2.49 Gbits/sec    0   4.24 MBytes   13ms     
[  5] 221.00-222.00 sec   299 MBytes  2.51 Gbits/sec    0   4.33 MBytes   13ms     
[  5] 222.00-223.00 sec   252 MBytes  2.12 Gbits/sec    0   4.41 MBytes   13ms     
[  5] 223.00-224.00 sec   293 MBytes  2.46 Gbits/sec    0   4.52 MBytes   17ms     
[  5] 224.00-225.00 sec   277 MBytes  2.32 Gbits/sec    0   4.70 MBytes   13ms     
[  5] 225.00-226.00 sec   297 MBytes  2.49 Gbits/sec    0   4.92 MBytes   13ms     
[  5] 226.00-227.00 sec   298 MBytes  2.50 Gbits/sec    0   5.17 MBytes   13ms     
[  5] 227.00-228.00 sec   285 MBytes  2.39 Gbits/sec    0   5.47 MBytes   13ms     
[  5] 228.00-229.00 sec   299 MBytes  2.51 Gbits/sec    0   5.81 MBytes   13ms     
[  5] 229.00-230.00 sec   300 MBytes  2.52 Gbits/sec    0   6.21 MBytes   13ms     
[  5] 230.00-231.00 sec   299 MBytes  2.51 Gbits/sec    0   6.65 MBytes   13ms     
[  5] 231.00-232.00 sec   283 MBytes  2.38 Gbits/sec    0   7.15 MBytes   19ms     
[  5] 232.00-233.00 sec   216 MBytes  1.81 Gbits/sec    0   7.71 MBytes   18ms     
[  5] 233.00-234.00 sec   244 MBytes  2.05 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 234.00-235.00 sec   275 MBytes  2.31 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 235.00-236.00 sec   272 MBytes  2.28 Gbits/sec    0   8.00 MBytes   17ms     
[  5] 236.00-237.00 sec   241 MBytes  2.02 Gbits/sec    0   8.00 MBytes   12ms     
[  5] 237.00-238.00 sec   288 MBytes  2.42 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 238.00-239.00 sec   265 MBytes  2.22 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 239.00-240.00 sec   301 MBytes  2.52 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 240.00-241.00 sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 241.00-242.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 242.00-243.00 sec   277 MBytes  2.32 Gbits/sec    0   8.00 MBytes   18ms     
[  5] 243.00-244.00 sec   282 MBytes  2.36 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 244.00-245.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 245.00-246.00 sec   281 MBytes  2.36 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 246.00-247.00 sec   285 MBytes  2.39 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 247.00-248.00 sec   249 MBytes  2.09 Gbits/sec    0   8.00 MBytes   20ms     
[  5] 248.00-249.00 sec   216 MBytes  1.81 Gbits/sec    0   8.00 MBytes   18ms     
[  5] 249.00-250.00 sec   281 MBytes  2.36 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 250.00-251.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 251.00-252.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 252.00-253.00 sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 253.00-254.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 254.00-255.00 sec   275 MBytes  2.30 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 255.00-256.00 sec   291 MBytes  2.45 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 256.00-257.00 sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 257.00-258.00 sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 258.00-259.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 259.00-260.00 sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 260.00-261.00 sec   294 MBytes  2.47 Gbits/sec    0   8.00 MBytes   17ms     
[  5] 261.00-262.00 sec   212 MBytes  1.78 Gbits/sec    0   8.00 MBytes   18ms     
[  5] 262.00-263.00 sec   212 MBytes  1.77 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 263.00-264.00 sec   233 MBytes  1.95 Gbits/sec    0   8.00 MBytes   20ms     
[  5] 264.00-265.00 sec   244 MBytes  2.05 Gbits/sec    0   8.00 MBytes   20ms     
[  5] 265.00-266.00 sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 266.00-267.00 sec   293 MBytes  2.45 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 267.00-268.00 sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 268.00-269.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 269.00-270.00 sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 270.00-271.00 sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 271.00-272.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 272.00-273.00 sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 273.00-274.00 sec   290 MBytes  2.43 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 274.00-275.00 sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 275.00-276.00 sec   284 MBytes  2.38 Gbits/sec    0   8.00 MBytes   18ms     
[  5] 276.00-277.00 sec   285 MBytes  2.39 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 277.00-278.00 sec   246 MBytes  2.06 Gbits/sec    0   8.00 MBytes   19ms     
[  5] 278.00-279.00 sec   246 MBytes  2.07 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 279.00-280.00 sec   218 MBytes  1.83 Gbits/sec    0   8.00 MBytes   18ms     
[  5] 280.00-281.00 sec   206 MBytes  1.73 Gbits/sec    0   8.00 MBytes   25ms     
[  5] 281.00-282.00 sec   252 MBytes  2.11 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 282.00-283.00 sec   298 MBytes  2.50 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 283.00-284.00 sec   297 MBytes  2.49 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 284.00-285.00 sec   296 MBytes  2.48 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 285.00-286.00 sec   253 MBytes  2.12 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 286.00-287.00 sec   275 MBytes  2.31 Gbits/sec    0   8.00 MBytes   18ms     
[  5] 287.00-288.00 sec   294 MBytes  2.46 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 288.00-289.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 289.00-290.00 sec   300 MBytes  2.52 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 290.00-291.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 291.00-292.00 sec   286 MBytes  2.40 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 292.00-293.00 sec   277 MBytes  2.33 Gbits/sec    0   8.00 MBytes   19ms     
[  5] 293.00-294.00 sec   294 MBytes  2.46 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 294.00-295.00 sec   285 MBytes  2.39 Gbits/sec    0   8.00 MBytes   19ms     
[  5] 295.00-296.00 sec   215 MBytes  1.80 Gbits/sec    0   8.00 MBytes   19ms     
[  5] 296.00-297.00 sec   254 MBytes  2.13 Gbits/sec    0   8.00 MBytes   20ms     
[  5] 297.00-298.00 sec   290 MBytes  2.43 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 298.00-299.00 sec   299 MBytes  2.51 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 299.00-300.00 sec   300 MBytes  2.51 Gbits/sec    0   8.00 MBytes   13ms     
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-300.00 sec  82.0 GBytes  2.35 Gbits/sec    0             sender
[  5]   0.00-300.01 sec  82.0 GBytes  2.35 Gbits/sec                  receiver

Retries logs on client:

% tail -n 0 -f ~/.lima/client/ha.stderr.log
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:33:23+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:33:23+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:33:23+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:33:28+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:33:28+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:33:28+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:33:51+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:34:33+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:34:33+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:35:26+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:35:26+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:35:27+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:35:27+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:35:29+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:35:29+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:35:57+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:35:58+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:35:58+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:36:22+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:36:28+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:36:28+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:36:43+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:36:43+03:00"}
{"level":"debug","msg":"Write completed after 2 retries","time":"2024-10-03T21:36:59+03:00"}

Retry logs on server:
(no logs)

@nirs
Copy link
Contributor Author

nirs commented Oct 3, 2024

Example iperf3 run - case 2

2 lima vms:

  • server: running iperf3 -s
  • client: running iper3 -c ...

Tested on M1 Pro

% caffeinate limactl shell client iperf3 -c 192.168.105.58 -l 1m -t 300
Connecting to host 192.168.105.58, port 5201
[  5] local 192.168.105.59 port 46692 connected to 192.168.105.58 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   227 MBytes  1.90 Gbits/sec    0   4.13 MBytes       
[  5]   1.00-2.00   sec   179 MBytes  1.50 Gbits/sec    0   4.13 MBytes       
[  5]   2.00-3.00   sec   169 MBytes  1.42 Gbits/sec    0   4.13 MBytes       
[  5]   3.00-4.00   sec   216 MBytes  1.81 Gbits/sec    0   4.13 MBytes       
[  5]   4.00-5.00   sec   268 MBytes  2.25 Gbits/sec    0   4.13 MBytes       
[  5]   5.00-6.00   sec   211 MBytes  1.77 Gbits/sec    0   4.13 MBytes       
[  5]   6.00-7.00   sec   167 MBytes  1.40 Gbits/sec    0   4.13 MBytes       
[  5]   7.00-8.00   sec   254 MBytes  2.13 Gbits/sec    0   4.13 MBytes       
[  5]   8.00-9.00   sec   220 MBytes  1.85 Gbits/sec    0   4.13 MBytes       
[  5]   9.00-10.00  sec   223 MBytes  1.87 Gbits/sec    0   4.13 MBytes       
[  5]  10.00-11.00  sec   202 MBytes  1.69 Gbits/sec    0   4.13 MBytes       
[  5]  11.00-12.00  sec   266 MBytes  2.23 Gbits/sec    0   4.13 MBytes       
[  5]  12.00-13.00  sec   271 MBytes  2.27 Gbits/sec    0   4.13 MBytes       
[  5]  13.00-14.00  sec   202 MBytes  1.69 Gbits/sec    0   4.13 MBytes       
[  5]  14.00-15.00  sec   231 MBytes  1.94 Gbits/sec    1   4.13 MBytes       
[  5]  15.00-16.00  sec   252 MBytes  2.11 Gbits/sec    0   4.13 MBytes       
[  5]  16.00-17.00  sec   212 MBytes  1.78 Gbits/sec    0   4.13 MBytes       
[  5]  17.00-18.00  sec   180 MBytes  1.51 Gbits/sec    0   4.13 MBytes       
[  5]  18.00-19.00  sec   136 MBytes  1.14 Gbits/sec    0   4.13 MBytes       
[  5]  19.00-20.00  sec   177 MBytes  1.48 Gbits/sec    0   4.13 MBytes       
[  5]  20.00-21.00  sec   197 MBytes  1.65 Gbits/sec    0   4.13 MBytes       
[  5]  21.00-22.00  sec   257 MBytes  2.16 Gbits/sec    0   4.13 MBytes       
[  5]  22.00-23.00  sec   204 MBytes  1.71 Gbits/sec    0   4.13 MBytes       
[  5]  23.00-24.00  sec   253 MBytes  2.12 Gbits/sec    0   4.13 MBytes       
[  5]  24.00-25.00  sec   272 MBytes  2.28 Gbits/sec    0   4.13 MBytes       
[  5]  25.00-26.00  sec   262 MBytes  2.20 Gbits/sec    1   4.13 MBytes       
[  5]  26.00-27.00  sec   249 MBytes  2.09 Gbits/sec    0   4.13 MBytes       
[  5]  27.00-28.00  sec   266 MBytes  2.23 Gbits/sec    0   4.13 MBytes       
[  5]  28.00-29.00  sec   244 MBytes  2.05 Gbits/sec    0   4.13 MBytes       
[  5]  29.00-30.00  sec   249 MBytes  2.09 Gbits/sec    0   4.13 MBytes       
[  5]  30.00-31.00  sec   273 MBytes  2.29 Gbits/sec    0   4.13 MBytes       
[  5]  31.00-32.00  sec   258 MBytes  2.16 Gbits/sec    0   4.13 MBytes       
[  5]  32.00-33.00  sec   262 MBytes  2.20 Gbits/sec    0   4.13 MBytes       
[  5]  33.00-34.00  sec   169 MBytes  1.42 Gbits/sec    0   4.13 MBytes       
[  5]  34.00-35.00  sec   232 MBytes  1.95 Gbits/sec    0   4.13 MBytes       
[  5]  35.00-36.00  sec   236 MBytes  1.98 Gbits/sec    0   4.13 MBytes       
[  5]  36.00-37.00  sec   246 MBytes  2.06 Gbits/sec    0   4.13 MBytes       
[  5]  37.00-38.00  sec   243 MBytes  2.04 Gbits/sec    0   4.13 MBytes       
[  5]  38.00-39.00  sec   265 MBytes  2.22 Gbits/sec    0   4.13 MBytes       
[  5]  39.00-40.00  sec   270 MBytes  2.26 Gbits/sec    0   4.13 MBytes       
[  5]  40.00-41.00  sec   261 MBytes  2.19 Gbits/sec    0   4.13 MBytes       
[  5]  41.00-42.00  sec   223 MBytes  1.87 Gbits/sec    0   4.13 MBytes       
[  5]  42.00-43.00  sec   269 MBytes  2.26 Gbits/sec    0   4.13 MBytes       
[  5]  43.00-44.00  sec   226 MBytes  1.90 Gbits/sec    0   4.13 MBytes       
[  5]  44.00-45.00  sec   217 MBytes  1.82 Gbits/sec    0   4.13 MBytes       
[  5]  45.00-46.00  sec   218 MBytes  1.83 Gbits/sec    0   4.13 MBytes       
[  5]  46.00-47.00  sec   218 MBytes  1.83 Gbits/sec    0   4.13 MBytes       
[  5]  47.00-48.00  sec   244 MBytes  2.05 Gbits/sec    0   4.13 MBytes       
[  5]  48.00-49.00  sec   249 MBytes  2.09 Gbits/sec    0   4.13 MBytes       
[  5]  49.00-50.00  sec   157 MBytes  1.32 Gbits/sec    0   4.13 MBytes       
[  5]  50.00-51.00  sec   212 MBytes  1.78 Gbits/sec    0   4.13 MBytes       
[  5]  51.00-52.00  sec   252 MBytes  2.11 Gbits/sec    0   4.13 MBytes       
[  5]  52.00-53.00  sec   225 MBytes  1.89 Gbits/sec    0   4.13 MBytes       
[  5]  53.00-54.00  sec   241 MBytes  2.02 Gbits/sec    0   4.13 MBytes       
[  5]  54.00-55.00  sec   242 MBytes  2.03 Gbits/sec    0   4.13 MBytes       
[  5]  55.00-56.00  sec   254 MBytes  2.13 Gbits/sec    0   4.13 MBytes       
[  5]  56.00-57.00  sec   229 MBytes  1.92 Gbits/sec    0   4.13 MBytes       
[  5]  57.00-58.00  sec   232 MBytes  1.95 Gbits/sec    0   4.13 MBytes       
[  5]  58.00-59.00  sec   229 MBytes  1.92 Gbits/sec    0   4.13 MBytes       
[  5]  59.00-60.00  sec   242 MBytes  2.03 Gbits/sec    0   4.13 MBytes       
[  5]  60.00-61.00  sec   268 MBytes  2.25 Gbits/sec    0   4.13 MBytes       
[  5]  61.00-62.00  sec   202 MBytes  1.69 Gbits/sec    0   4.13 MBytes       
[  5]  62.00-63.00  sec   252 MBytes  2.11 Gbits/sec    0   4.13 MBytes       
[  5]  63.00-64.00  sec   239 MBytes  2.00 Gbits/sec    0   4.13 MBytes       
[  5]  64.00-65.00  sec   214 MBytes  1.80 Gbits/sec    0   4.13 MBytes       
[  5]  65.00-66.00  sec   162 MBytes  1.36 Gbits/sec    0   4.13 MBytes       
[  5]  66.00-67.00  sec   255 MBytes  2.14 Gbits/sec    0   4.13 MBytes       
[  5]  67.00-68.00  sec   256 MBytes  2.15 Gbits/sec    0   4.13 MBytes       
[  5]  68.00-69.00  sec   279 MBytes  2.34 Gbits/sec    0   4.13 MBytes       
[  5]  69.00-70.00  sec   241 MBytes  2.02 Gbits/sec    0   4.13 MBytes       
[  5]  70.00-71.00  sec   274 MBytes  2.30 Gbits/sec    1   3.02 MBytes       
[  5]  71.00-72.00  sec   232 MBytes  1.95 Gbits/sec    0   3.26 MBytes       
[  5]  72.00-73.00  sec   227 MBytes  1.90 Gbits/sec    0   3.47 MBytes       
[  5]  73.00-74.00  sec   233 MBytes  1.95 Gbits/sec    0   3.64 MBytes       
[  5]  74.00-75.00  sec   216 MBytes  1.81 Gbits/sec    0   3.78 MBytes       
[  5]  75.00-76.00  sec   220 MBytes  1.85 Gbits/sec    0   3.89 MBytes       
[  5]  76.00-77.00  sec   261 MBytes  2.19 Gbits/sec    0   3.90 MBytes       
[  5]  77.00-78.00  sec   170 MBytes  1.43 Gbits/sec    0   3.98 MBytes       
[  5]  78.00-79.00  sec   232 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5]  79.00-80.00  sec   225 MBytes  1.89 Gbits/sec    0   4.03 MBytes       
[  5]  80.00-81.00  sec   198 MBytes  1.66 Gbits/sec    0   4.03 MBytes       
[  5]  81.00-82.00  sec   146 MBytes  1.22 Gbits/sec    0   4.03 MBytes       
[  5]  82.00-83.00  sec   189 MBytes  1.59 Gbits/sec    0   4.03 MBytes       
[  5]  83.00-84.00  sec   249 MBytes  2.09 Gbits/sec    0   4.03 MBytes       
[  5]  84.00-85.00  sec   263 MBytes  2.21 Gbits/sec    0   4.03 MBytes       
[  5]  85.00-86.00  sec   227 MBytes  1.90 Gbits/sec    0   4.03 MBytes       
[  5]  86.00-87.00  sec   181 MBytes  1.52 Gbits/sec    0   4.03 MBytes       
[  5]  87.00-88.00  sec   221 MBytes  1.85 Gbits/sec    0   4.03 MBytes       
[  5]  88.00-89.00  sec   255 MBytes  2.14 Gbits/sec    0   4.03 MBytes       
[  5]  89.00-90.00  sec   242 MBytes  2.03 Gbits/sec    0   4.03 MBytes       
[  5]  90.00-91.00  sec   267 MBytes  2.24 Gbits/sec    0   4.03 MBytes       
[  5]  91.00-92.00  sec   267 MBytes  2.24 Gbits/sec    0   4.03 MBytes       
[  5]  92.00-93.00  sec   268 MBytes  2.25 Gbits/sec    0   4.03 MBytes       
[  5]  93.00-94.00  sec   249 MBytes  2.09 Gbits/sec    0   4.03 MBytes       
[  5]  94.00-95.00  sec   248 MBytes  2.08 Gbits/sec    0   4.03 MBytes       
[  5]  95.00-96.00  sec   233 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5]  96.00-97.00  sec   181 MBytes  1.52 Gbits/sec    0   4.03 MBytes       
[  5]  97.00-98.00  sec   139 MBytes  1.17 Gbits/sec    0   4.03 MBytes       
[  5]  98.00-99.00  sec   182 MBytes  1.53 Gbits/sec    0   4.03 MBytes       
[  5]  99.00-100.00 sec   225 MBytes  1.89 Gbits/sec    0   4.03 MBytes       
[  5] 100.00-101.00 sec   256 MBytes  2.15 Gbits/sec    0   4.03 MBytes       
[  5] 101.00-102.00 sec   244 MBytes  2.05 Gbits/sec    0   4.03 MBytes       
[  5] 102.00-103.00 sec   268 MBytes  2.25 Gbits/sec    0   4.03 MBytes       
[  5] 103.00-104.00 sec   242 MBytes  2.03 Gbits/sec    0   4.03 MBytes       
[  5] 104.00-105.00 sec   249 MBytes  2.09 Gbits/sec    0   4.03 MBytes       
[  5] 105.00-106.00 sec   229 MBytes  1.92 Gbits/sec    0   4.03 MBytes       
[  5] 106.00-107.00 sec   215 MBytes  1.80 Gbits/sec    0   4.03 MBytes       
[  5] 107.00-108.00 sec   208 MBytes  1.74 Gbits/sec    0   4.03 MBytes       
[  5] 108.00-109.00 sec   257 MBytes  2.16 Gbits/sec    0   4.03 MBytes       
[  5] 109.00-110.00 sec   220 MBytes  1.85 Gbits/sec    0   4.03 MBytes       
[  5] 110.00-111.00 sec   213 MBytes  1.79 Gbits/sec    0   4.03 MBytes       
[  5] 111.00-112.00 sec   263 MBytes  2.21 Gbits/sec    0   4.03 MBytes       
[  5] 112.00-113.00 sec   180 MBytes  1.51 Gbits/sec    0   4.03 MBytes       
[  5] 113.00-114.00 sec   170 MBytes  1.43 Gbits/sec    0   4.03 MBytes       
[  5] 114.00-115.00 sec   250 MBytes  2.10 Gbits/sec    0   4.03 MBytes       
[  5] 115.00-116.00 sec   186 MBytes  1.56 Gbits/sec    0   4.03 MBytes       
[  5] 116.00-117.00 sec   199 MBytes  1.67 Gbits/sec    0   4.03 MBytes       
[  5] 117.00-118.00 sec   265 MBytes  2.22 Gbits/sec    0   4.03 MBytes       
[  5] 118.00-119.00 sec   234 MBytes  1.96 Gbits/sec    0   4.03 MBytes       
[  5] 119.00-120.00 sec   225 MBytes  1.89 Gbits/sec    0   4.03 MBytes       
[  5] 120.00-121.00 sec   256 MBytes  2.15 Gbits/sec    0   4.03 MBytes       
[  5] 121.00-122.00 sec   260 MBytes  2.18 Gbits/sec    0   4.03 MBytes       
[  5] 122.00-123.00 sec   247 MBytes  2.07 Gbits/sec    0   4.03 MBytes       
[  5] 123.00-124.00 sec   216 MBytes  1.81 Gbits/sec    0   4.03 MBytes       
[  5] 124.00-125.00 sec   252 MBytes  2.11 Gbits/sec    0   4.03 MBytes       
[  5] 125.00-126.00 sec   231 MBytes  1.94 Gbits/sec    0   4.03 MBytes       
[  5] 126.00-127.00 sec   217 MBytes  1.82 Gbits/sec    0   4.03 MBytes       
[  5] 127.00-128.00 sec   246 MBytes  2.06 Gbits/sec    0   4.03 MBytes       
[  5] 128.00-129.00 sec   138 MBytes  1.16 Gbits/sec    0   4.03 MBytes       
[  5] 129.00-130.00 sec   196 MBytes  1.64 Gbits/sec    0   4.03 MBytes       
[  5] 130.00-131.00 sec   222 MBytes  1.86 Gbits/sec    0   4.03 MBytes       
[  5] 131.00-132.00 sec   249 MBytes  2.09 Gbits/sec    0   4.03 MBytes       
[  5] 132.00-133.00 sec   267 MBytes  2.24 Gbits/sec    0   4.03 MBytes       
[  5] 133.00-134.00 sec   269 MBytes  2.26 Gbits/sec    0   4.03 MBytes       
[  5] 134.00-135.00 sec   239 MBytes  2.01 Gbits/sec    0   4.03 MBytes       
[  5] 135.00-136.00 sec   266 MBytes  2.23 Gbits/sec    0   4.03 MBytes       
[  5] 136.00-137.00 sec   242 MBytes  2.02 Gbits/sec    0   4.03 MBytes       
[  5] 137.00-138.00 sec   250 MBytes  2.10 Gbits/sec    0   4.03 MBytes       
[  5] 138.00-139.00 sec   271 MBytes  2.27 Gbits/sec    0   4.03 MBytes       
[  5] 139.00-140.00 sec   262 MBytes  2.20 Gbits/sec    0   4.03 MBytes       
[  5] 140.00-141.00 sec   217 MBytes  1.82 Gbits/sec    0   4.03 MBytes       
[  5] 141.00-142.00 sec   211 MBytes  1.77 Gbits/sec    0   4.03 MBytes       
[  5] 142.00-143.00 sec   252 MBytes  2.11 Gbits/sec    0   4.03 MBytes       
[  5] 143.00-144.00 sec   169 MBytes  1.42 Gbits/sec    0   4.03 MBytes       
[  5] 144.00-145.00 sec   147 MBytes  1.23 Gbits/sec    0   4.03 MBytes       
[  5] 145.00-146.00 sec   220 MBytes  1.85 Gbits/sec    0   4.03 MBytes       
[  5] 146.00-147.00 sec   251 MBytes  2.11 Gbits/sec    0   4.03 MBytes       
[  5] 147.00-148.00 sec   270 MBytes  2.26 Gbits/sec    0   4.03 MBytes       
[  5] 148.00-149.00 sec   254 MBytes  2.13 Gbits/sec    0   4.03 MBytes       
[  5] 149.00-150.00 sec   274 MBytes  2.30 Gbits/sec    0   4.03 MBytes       
[  5] 150.00-151.00 sec   215 MBytes  1.80 Gbits/sec    0   4.03 MBytes       
[  5] 151.00-152.00 sec   255 MBytes  2.14 Gbits/sec    0   4.03 MBytes       
[  5] 152.00-153.01 sec   267 MBytes  2.22 Gbits/sec    0   4.03 MBytes       
[  5] 153.01-154.00 sec   267 MBytes  2.26 Gbits/sec    0   4.03 MBytes       
[  5] 154.00-155.00 sec   263 MBytes  2.21 Gbits/sec    0   4.03 MBytes       
[  5] 155.00-156.00 sec   253 MBytes  2.12 Gbits/sec    0   4.03 MBytes       
[  5] 156.00-157.00 sec   246 MBytes  2.06 Gbits/sec    0   4.03 MBytes       
[  5] 157.00-158.00 sec   254 MBytes  2.13 Gbits/sec    0   4.03 MBytes       
[  5] 158.00-159.00 sec   260 MBytes  2.18 Gbits/sec    0   4.03 MBytes       
[  5] 159.00-160.00 sec   214 MBytes  1.80 Gbits/sec    0   4.03 MBytes       
[  5] 160.00-161.00 sec   139 MBytes  1.17 Gbits/sec    0   4.03 MBytes       
[  5] 161.00-162.00 sec   176 MBytes  1.48 Gbits/sec    0   4.03 MBytes       
[  5] 162.00-163.00 sec   223 MBytes  1.87 Gbits/sec    0   4.03 MBytes       
[  5] 163.00-164.00 sec   271 MBytes  2.27 Gbits/sec    0   4.03 MBytes       
[  5] 164.00-165.00 sec   223 MBytes  1.87 Gbits/sec    0   4.03 MBytes       
[  5] 165.00-166.00 sec   274 MBytes  2.30 Gbits/sec    0   4.03 MBytes       
[  5] 166.00-167.00 sec   234 MBytes  1.96 Gbits/sec    0   4.03 MBytes       
[  5] 167.00-168.00 sec   212 MBytes  1.78 Gbits/sec    0   4.03 MBytes       
[  5] 168.00-169.00 sec   195 MBytes  1.64 Gbits/sec    0   4.03 MBytes       
[  5] 169.00-170.00 sec   262 MBytes  2.20 Gbits/sec    0   4.03 MBytes       
[  5] 170.00-171.00 sec   270 MBytes  2.26 Gbits/sec    0   4.03 MBytes       
[  5] 171.00-172.00 sec   250 MBytes  2.10 Gbits/sec    0   4.03 MBytes       
[  5] 172.00-173.00 sec   240 MBytes  2.01 Gbits/sec    0   4.03 MBytes       
[  5] 173.00-174.00 sec   177 MBytes  1.48 Gbits/sec    0   4.03 MBytes       
[  5] 174.00-175.00 sec   245 MBytes  2.06 Gbits/sec    0   4.03 MBytes       
[  5] 175.00-176.00 sec   166 MBytes  1.39 Gbits/sec    0   4.03 MBytes       
[  5] 176.00-177.00 sec   136 MBytes  1.14 Gbits/sec    0   4.03 MBytes       
[  5] 177.00-178.00 sec   188 MBytes  1.58 Gbits/sec    0   4.03 MBytes       
[  5] 178.00-179.00 sec   153 MBytes  1.28 Gbits/sec    0   4.03 MBytes       
[  5] 179.00-180.00 sec   209 MBytes  1.75 Gbits/sec    0   4.03 MBytes       
[  5] 180.00-181.00 sec   264 MBytes  2.21 Gbits/sec    0   4.03 MBytes       
[  5] 181.00-182.00 sec   256 MBytes  2.15 Gbits/sec    0   4.03 MBytes       
[  5] 182.00-183.00 sec   219 MBytes  1.84 Gbits/sec    0   4.03 MBytes       
[  5] 183.00-184.00 sec   257 MBytes  2.16 Gbits/sec    0   4.03 MBytes       
[  5] 184.00-185.00 sec   189 MBytes  1.59 Gbits/sec    0   4.03 MBytes       
[  5] 185.00-186.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 186.00-187.00 sec   246 MBytes  2.06 Gbits/sec    0   4.03 MBytes       
[  5] 187.00-188.00 sec   258 MBytes  2.16 Gbits/sec    0   4.03 MBytes       
[  5] 188.00-189.00 sec   162 MBytes  1.36 Gbits/sec    0   4.03 MBytes       
[  5] 189.00-190.00 sec   219 MBytes  1.84 Gbits/sec    0   4.03 MBytes       
[  5] 190.00-191.00 sec   258 MBytes  2.16 Gbits/sec    0   4.03 MBytes       
[  5] 191.00-192.00 sec   142 MBytes  1.19 Gbits/sec    0   4.03 MBytes       
[  5] 192.00-193.00 sec   236 MBytes  1.98 Gbits/sec    0   4.03 MBytes       
[  5] 193.00-194.00 sec   171 MBytes  1.43 Gbits/sec    0   4.03 MBytes       
[  5] 194.00-195.00 sec   224 MBytes  1.88 Gbits/sec    0   4.03 MBytes       
[  5] 195.00-196.00 sec   244 MBytes  2.05 Gbits/sec    0   4.03 MBytes       
[  5] 196.00-197.00 sec   255 MBytes  2.14 Gbits/sec    0   4.03 MBytes       
[  5] 197.00-198.00 sec   232 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5] 198.00-199.00 sec   224 MBytes  1.88 Gbits/sec    0   4.03 MBytes       
[  5] 199.00-200.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 200.00-201.00 sec   266 MBytes  2.23 Gbits/sec    0   4.03 MBytes       
[  5] 201.00-202.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 202.00-203.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 203.00-204.00 sec   247 MBytes  2.07 Gbits/sec    0   4.03 MBytes       
[  5] 204.00-205.00 sec   173 MBytes  1.45 Gbits/sec    0   4.03 MBytes       
[  5] 205.00-206.00 sec   214 MBytes  1.80 Gbits/sec    0   4.03 MBytes       
[  5] 206.00-207.00 sec   201 MBytes  1.69 Gbits/sec    0   4.03 MBytes       
[  5] 207.00-208.00 sec   134 MBytes  1.12 Gbits/sec    0   4.03 MBytes       
[  5] 208.00-209.00 sec   151 MBytes  1.27 Gbits/sec    0   4.03 MBytes       
[  5] 209.00-210.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 210.00-211.00 sec   210 MBytes  1.76 Gbits/sec    0   4.03 MBytes       
[  5] 211.00-212.00 sec   248 MBytes  2.08 Gbits/sec    0   4.03 MBytes       
[  5] 212.00-213.00 sec   274 MBytes  2.30 Gbits/sec    0   4.03 MBytes       
[  5] 213.00-214.00 sec   218 MBytes  1.83 Gbits/sec    0   4.03 MBytes       
[  5] 214.00-215.00 sec   255 MBytes  2.14 Gbits/sec    0   4.03 MBytes       
[  5] 215.00-216.00 sec   275 MBytes  2.31 Gbits/sec    0   4.03 MBytes       
[  5] 216.00-217.00 sec   210 MBytes  1.76 Gbits/sec    0   4.03 MBytes       
[  5] 217.00-218.00 sec   233 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5] 218.00-219.00 sec   232 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5] 219.00-220.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 220.00-221.00 sec   221 MBytes  1.85 Gbits/sec    0   4.03 MBytes       
[  5] 221.00-222.00 sec   217 MBytes  1.82 Gbits/sec    0   4.03 MBytes       
[  5] 222.00-223.00 sec   186 MBytes  1.56 Gbits/sec    0   4.03 MBytes       
[  5] 223.00-224.00 sec   204 MBytes  1.71 Gbits/sec    0   4.03 MBytes       
[  5] 224.00-225.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 225.00-226.00 sec   232 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5] 226.00-227.00 sec   205 MBytes  1.72 Gbits/sec    0   4.03 MBytes       
[  5] 227.00-228.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 228.00-229.00 sec   198 MBytes  1.66 Gbits/sec    0   4.03 MBytes       
[  5] 229.00-230.00 sec   256 MBytes  2.15 Gbits/sec    0   4.03 MBytes       
[  5] 230.00-231.00 sec   235 MBytes  1.97 Gbits/sec    0   4.03 MBytes       
[  5] 231.00-232.00 sec   267 MBytes  2.24 Gbits/sec    0   4.03 MBytes       
[  5] 232.00-233.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 233.00-234.00 sec   257 MBytes  2.16 Gbits/sec    0   4.03 MBytes       
[  5] 234.00-235.00 sec   212 MBytes  1.78 Gbits/sec    0   4.03 MBytes       
[  5] 235.00-236.00 sec   192 MBytes  1.61 Gbits/sec    0   4.03 MBytes       
[  5] 236.00-237.00 sec   243 MBytes  2.04 Gbits/sec    0   4.03 MBytes       
[  5] 237.00-238.00 sec   224 MBytes  1.88 Gbits/sec    0   4.03 MBytes       
[  5] 238.00-239.00 sec   175 MBytes  1.47 Gbits/sec    0   4.03 MBytes       
[  5] 239.00-240.00 sec   197 MBytes  1.65 Gbits/sec    0   4.03 MBytes       
[  5] 240.00-241.00 sec   256 MBytes  2.15 Gbits/sec    0   4.03 MBytes       
[  5] 241.00-242.00 sec   258 MBytes  2.16 Gbits/sec    0   4.03 MBytes       
[  5] 242.00-243.00 sec   229 MBytes  1.92 Gbits/sec    0   4.03 MBytes       
[  5] 243.00-244.00 sec   221 MBytes  1.85 Gbits/sec    0   4.03 MBytes       
[  5] 244.00-245.00 sec   219 MBytes  1.84 Gbits/sec    1   4.03 MBytes       
[  5] 245.00-246.00 sec   224 MBytes  1.88 Gbits/sec    0   4.03 MBytes       
[  5] 246.00-247.00 sec   241 MBytes  2.02 Gbits/sec    0   4.03 MBytes       
[  5] 247.00-248.00 sec   265 MBytes  2.22 Gbits/sec    0   4.03 MBytes       
[  5] 248.00-249.00 sec   232 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5] 249.00-250.00 sec   232 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5] 250.00-251.00 sec   230 MBytes  1.93 Gbits/sec    0   4.03 MBytes       
[  5] 251.00-252.00 sec   224 MBytes  1.88 Gbits/sec    0   4.03 MBytes       
[  5] 252.00-253.00 sec   213 MBytes  1.79 Gbits/sec    0   4.03 MBytes       
[  5] 253.00-254.00 sec   228 MBytes  1.91 Gbits/sec    0   4.03 MBytes       
[  5] 254.00-255.00 sec   144 MBytes  1.21 Gbits/sec    0   4.03 MBytes       
[  5] 255.00-256.00 sec   196 MBytes  1.64 Gbits/sec    0   4.03 MBytes       
[  5] 256.00-257.00 sec   248 MBytes  2.08 Gbits/sec    0   4.03 MBytes       
[  5] 257.00-258.00 sec   188 MBytes  1.58 Gbits/sec    0   4.03 MBytes       
[  5] 258.00-259.00 sec   263 MBytes  2.21 Gbits/sec    0   4.03 MBytes       
[  5] 259.00-260.00 sec   266 MBytes  2.23 Gbits/sec    0   4.03 MBytes       
[  5] 260.00-261.00 sec   265 MBytes  2.22 Gbits/sec    0   4.03 MBytes       
[  5] 261.00-262.00 sec   234 MBytes  1.96 Gbits/sec    0   4.03 MBytes       
[  5] 262.00-263.00 sec   268 MBytes  2.25 Gbits/sec    0   4.03 MBytes       
[  5] 263.00-264.00 sec   253 MBytes  2.12 Gbits/sec    0   4.03 MBytes       
[  5] 264.00-265.00 sec   270 MBytes  2.27 Gbits/sec    0   4.03 MBytes       
[  5] 265.00-266.00 sec   272 MBytes  2.28 Gbits/sec    0   4.03 MBytes       
[  5] 266.00-267.00 sec   233 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5] 267.00-268.00 sec   263 MBytes  2.21 Gbits/sec    0   4.03 MBytes       
[  5] 268.00-269.00 sec   249 MBytes  2.09 Gbits/sec    0   4.03 MBytes       
[  5] 269.00-270.00 sec   209 MBytes  1.75 Gbits/sec    0   4.03 MBytes       
[  5] 270.00-271.00 sec   169 MBytes  1.42 Gbits/sec    0   4.03 MBytes       
[  5] 271.00-272.00 sec   227 MBytes  1.91 Gbits/sec    0   4.03 MBytes       
[  5] 272.00-273.00 sec   240 MBytes  2.01 Gbits/sec    0   4.03 MBytes       
[  5] 273.00-274.00 sec   259 MBytes  2.17 Gbits/sec    0   4.03 MBytes       
[  5] 274.00-275.00 sec   207 MBytes  1.74 Gbits/sec    0   4.03 MBytes       
[  5] 275.00-276.00 sec   220 MBytes  1.85 Gbits/sec    0   4.03 MBytes       
[  5] 276.00-277.00 sec   269 MBytes  2.26 Gbits/sec    0   4.03 MBytes       
[  5] 277.00-278.00 sec   220 MBytes  1.85 Gbits/sec    0   4.03 MBytes       
[  5] 278.00-279.00 sec   264 MBytes  2.21 Gbits/sec    0   4.03 MBytes       
[  5] 279.00-280.00 sec   268 MBytes  2.25 Gbits/sec    0   4.03 MBytes       
[  5] 280.00-281.00 sec   219 MBytes  1.84 Gbits/sec    0   4.03 MBytes       
[  5] 281.00-282.00 sec   262 MBytes  2.20 Gbits/sec    0   4.03 MBytes       
[  5] 282.00-283.00 sec   223 MBytes  1.87 Gbits/sec    0   4.03 MBytes       
[  5] 283.00-284.00 sec   253 MBytes  2.12 Gbits/sec    0   4.03 MBytes       
[  5] 284.00-285.00 sec   262 MBytes  2.20 Gbits/sec    0   4.03 MBytes       
[  5] 285.00-286.00 sec   167 MBytes  1.40 Gbits/sec    0   4.03 MBytes       
[  5] 286.00-287.00 sec   186 MBytes  1.56 Gbits/sec    0   4.03 MBytes       
[  5] 287.00-288.00 sec   153 MBytes  1.28 Gbits/sec    0   4.03 MBytes       
[  5] 288.00-289.00 sec   246 MBytes  2.06 Gbits/sec    0   4.03 MBytes       
[  5] 289.00-290.00 sec   216 MBytes  1.81 Gbits/sec    0   4.03 MBytes       
[  5] 290.00-291.00 sec   234 MBytes  1.96 Gbits/sec    0   4.03 MBytes       
[  5] 291.00-292.00 sec   249 MBytes  2.09 Gbits/sec    0   4.03 MBytes       
[  5] 292.00-293.00 sec   226 MBytes  1.90 Gbits/sec    0   4.03 MBytes       
[  5] 293.00-294.00 sec   233 MBytes  1.95 Gbits/sec    0   4.03 MBytes       
[  5] 294.00-295.00 sec   268 MBytes  2.25 Gbits/sec    0   4.03 MBytes       
[  5] 295.00-296.00 sec   244 MBytes  2.05 Gbits/sec    0   4.03 MBytes       
[  5] 296.00-297.00 sec   226 MBytes  1.90 Gbits/sec    0   4.03 MBytes       
[  5] 297.00-298.00 sec   271 MBytes  2.27 Gbits/sec    0   4.03 MBytes       
[  5] 298.00-299.00 sec   198 MBytes  1.66 Gbits/sec    0   4.03 MBytes       
[  5] 299.00-300.00 sec   177 MBytes  1.48 Gbits/sec    0   4.03 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-300.00 sec  67.1 GBytes  1.92 Gbits/sec    4             sender
[  5]   0.00-300.01 sec  67.1 GBytes  1.92 Gbits/sec                  receiver

Retries logs on client:
(none)

Retries logs on server:

% tail -n 0 -f ~/.lima/server/ha.stderr.log
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:42:30+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:42:55+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:43:31+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:43:41+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:45:13+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:45:16+03:00"}
{"level":"debug","msg":"Write completed after 1 retries","time":"2024-10-03T21:46:06+03:00"}

@nirs
Copy link
Contributor Author

nirs commented Oct 3, 2024

Example iperf3 run - case 3

lima vm running iperf3 -s
Host running iper3 -c ...

Tested on M1 Pro

% caffeinate -d iperf3-darwin -c 192.168.105.58 -l 1m -t 300          
Connecting to host 192.168.105.58, port 5201
[  5] local 192.168.105.1 port 65500 connected to 192.168.105.58 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd          RTT
[  5]   0.00-1.00   sec   460 MBytes  3.86 Gbits/sec    0   8.00 MBytes   8ms     
[  5]   1.00-2.00   sec   445 MBytes  3.74 Gbits/sec    0   8.00 MBytes   8ms     
[  5]   2.00-3.00   sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5]   3.00-4.00   sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]   4.00-5.00   sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   8ms     
[  5]   5.00-6.00   sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5]   6.00-7.00   sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5]   7.00-8.00   sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   10ms     
[  5]   8.00-9.00   sec   419 MBytes  3.52 Gbits/sec    0   8.00 MBytes   9ms     
[  5]   9.00-10.00  sec   342 MBytes  2.87 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  10.00-11.00  sec   395 MBytes  3.31 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  11.00-12.00  sec   433 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  12.00-13.00  sec   437 MBytes  3.66 Gbits/sec    0   8.00 MBytes   8ms     
[  5]  13.00-14.00  sec   427 MBytes  3.58 Gbits/sec    0   8.00 MBytes   12ms     
[  5]  14.00-15.00  sec   404 MBytes  3.39 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  15.00-16.00  sec   444 MBytes  3.73 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  16.00-17.00  sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  17.00-18.00  sec   436 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  18.00-19.00  sec   437 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  19.00-20.00  sec   417 MBytes  3.50 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  20.00-21.00  sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  21.00-22.00  sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  22.00-23.00  sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  23.00-24.00  sec   422 MBytes  3.54 Gbits/sec    0   8.00 MBytes   11ms     
[  5]  24.00-25.00  sec   330 MBytes  2.77 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  25.00-26.00  sec   405 MBytes  3.40 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  26.00-27.00  sec   424 MBytes  3.56 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  27.00-28.00  sec   431 MBytes  3.62 Gbits/sec    0   8.00 MBytes   11ms     
[  5]  28.00-29.00  sec   426 MBytes  3.57 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  29.00-30.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   8ms     
[  5]  30.00-31.00  sec   419 MBytes  3.52 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  31.00-32.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  32.00-33.00  sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  33.00-34.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  34.00-35.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  35.00-36.00  sec   418 MBytes  3.51 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  36.00-37.00  sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  37.00-38.00  sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  38.00-39.00  sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  39.00-40.00  sec   427 MBytes  3.59 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  40.00-41.00  sec   367 MBytes  3.08 Gbits/sec    0   8.00 MBytes   14ms     
[  5]  41.00-42.00  sec   376 MBytes  3.16 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  42.00-43.00  sec   422 MBytes  3.54 Gbits/sec    0   8.00 MBytes   8ms     
[  5]  43.00-44.00  sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  44.00-45.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  45.00-46.00  sec   430 MBytes  3.61 Gbits/sec    0   8.00 MBytes   8ms     
[  5]  46.00-47.00  sec   416 MBytes  3.49 Gbits/sec    0   8.00 MBytes   11ms     
[  5]  47.00-48.00  sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  48.00-49.00  sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  49.00-50.00  sec   437 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  50.00-51.00  sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   11ms     
[  5]  51.00-52.00  sec   410 MBytes  3.44 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  52.00-53.00  sec   430 MBytes  3.60 Gbits/sec    0   8.00 MBytes   8ms     
[  5]  53.00-54.00  sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  54.00-55.00  sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  55.00-56.00  sec   355 MBytes  2.98 Gbits/sec    0   8.00 MBytes   15ms     
[  5]  56.00-57.00  sec   353 MBytes  2.96 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  57.00-58.00  sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  58.00-59.00  sec   417 MBytes  3.50 Gbits/sec    0   8.00 MBytes   11ms     
[  5]  59.00-60.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  60.00-61.00  sec   427 MBytes  3.58 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  61.00-62.00  sec   418 MBytes  3.51 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  62.00-63.00  sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  63.00-64.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   11ms     
[  5]  64.00-65.00  sec   417 MBytes  3.50 Gbits/sec    0   8.00 MBytes   12ms     
[  5]  65.00-66.00  sec   397 MBytes  3.33 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  66.00-67.00  sec   419 MBytes  3.52 Gbits/sec    0   8.00 MBytes   8ms     
[  5]  67.00-68.00  sec   421 MBytes  3.53 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  68.00-69.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   8ms     
[  5]  69.00-70.00  sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  70.00-71.00  sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  71.00-72.00  sec   349 MBytes  2.92 Gbits/sec    0   8.00 MBytes   15ms     
[  5]  72.00-73.00  sec   365 MBytes  3.07 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  73.00-74.00  sec   412 MBytes  3.45 Gbits/sec    0   8.00 MBytes   11ms     
[  5]  74.00-75.00  sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  75.00-76.00  sec   430 MBytes  3.61 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  76.00-77.00  sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  77.00-78.00  sec   426 MBytes  3.57 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  78.00-79.00  sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  79.00-80.00  sec   431 MBytes  3.62 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  80.00-81.00  sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  81.00-82.00  sec   436 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  82.00-83.00  sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   16ms     
[  5]  83.00-84.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  84.00-85.00  sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  85.00-86.00  sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  86.00-87.00  sec   425 MBytes  3.57 Gbits/sec    0   8.00 MBytes   13ms     
[  5]  87.00-88.00  sec   325 MBytes  2.72 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  88.00-89.00  sec   411 MBytes  3.45 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  89.00-90.00  sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  90.00-91.00  sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  91.00-92.00  sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  92.00-93.00  sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   10ms     
[  5]  93.00-94.00  sec   420 MBytes  3.52 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  94.00-95.00  sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  95.00-96.00  sec   438 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  96.00-97.00  sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  97.00-98.00  sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   11ms     
[  5]  98.00-99.00  sec   420 MBytes  3.53 Gbits/sec    0   8.00 MBytes   9ms     
[  5]  99.00-100.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 100.00-101.00 sec   438 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 101.00-102.00 sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 102.00-103.00 sec   373 MBytes  3.13 Gbits/sec    0   8.00 MBytes   16ms     
[  5] 103.00-104.00 sec   355 MBytes  2.98 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 104.00-105.00 sec   429 MBytes  3.60 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 105.00-106.00 sec   436 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 106.00-107.00 sec   429 MBytes  3.60 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 107.00-108.00 sec   417 MBytes  3.50 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 108.00-109.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 109.00-110.00 sec   416 MBytes  3.49 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 110.00-111.00 sec   422 MBytes  3.54 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 111.00-112.00 sec   419 MBytes  3.52 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 112.00-113.00 sec   424 MBytes  3.56 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 113.00-114.00 sec   426 MBytes  3.58 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 114.00-115.00 sec   417 MBytes  3.50 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 115.00-116.00 sec   431 MBytes  3.61 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 116.00-117.00 sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 117.00-118.00 sec   423 MBytes  3.55 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 118.00-119.00 sec   344 MBytes  2.88 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 119.00-120.00 sec   370 MBytes  3.10 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 120.00-121.00 sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 121.00-122.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 122.00-123.00 sec   422 MBytes  3.54 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 123.00-124.00 sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 124.00-125.00 sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 125.00-126.00 sec   407 MBytes  3.42 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 126.00-127.00 sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 127.00-128.00 sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 128.00-129.00 sec   427 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 129.00-130.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 130.00-131.00 sec   416 MBytes  3.49 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 131.00-132.00 sec   430 MBytes  3.61 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 132.00-133.00 sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 133.00-134.00 sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 134.00-135.00 sec   343 MBytes  2.88 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 135.00-136.00 sec   374 MBytes  3.14 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 136.00-137.00 sec   427 MBytes  3.58 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 137.00-138.00 sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 138.00-139.00 sec   436 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 139.00-140.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 140.00-141.00 sec   422 MBytes  3.54 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 141.00-142.00 sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 142.00-143.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 143.00-144.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 144.00-145.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 145.00-146.00 sec   438 MBytes  3.67 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 146.00-147.00 sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 147.00-148.00 sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 148.00-149.00 sec   440 MBytes  3.69 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 149.00-150.00 sec   415 MBytes  3.48 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 150.00-151.00 sec   325 MBytes  2.73 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 151.00-152.00 sec   417 MBytes  3.49 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 152.00-153.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 153.00-154.00 sec   438 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 154.00-155.00 sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 155.00-156.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 156.00-157.00 sec   403 MBytes  3.38 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 157.00-158.00 sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 158.00-159.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 159.00-160.00 sec   442 MBytes  3.71 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 160.00-161.00 sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 161.00-162.00 sec   425 MBytes  3.56 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 162.00-163.00 sec   441 MBytes  3.70 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 163.00-164.00 sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 164.00-165.00 sec   419 MBytes  3.51 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 165.00-166.00 sec   400 MBytes  3.36 Gbits/sec    0   8.00 MBytes   13ms     
[  5] 166.00-167.00 sec   303 MBytes  2.54 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 167.00-168.00 sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 168.00-169.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 169.00-170.00 sec   427 MBytes  3.58 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 170.00-171.00 sec   431 MBytes  3.61 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 171.00-172.00 sec   414 MBytes  3.48 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 172.00-173.00 sec   440 MBytes  3.69 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 173.00-174.00 sec   437 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 174.00-175.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 175.00-176.00 sec   431 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 176.00-177.00 sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   12ms     
[  5] 177.00-178.00 sec   405 MBytes  3.39 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 178.00-179.00 sec   422 MBytes  3.54 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 179.00-180.00 sec   423 MBytes  3.55 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 180.00-181.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 181.00-182.00 sec   385 MBytes  3.23 Gbits/sec    0   8.00 MBytes   17ms     
[  5] 182.00-183.00 sec   368 MBytes  3.09 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 183.00-184.00 sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 184.00-185.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 185.00-186.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 186.00-187.00 sec   438 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 187.00-188.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 188.00-189.00 sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 189.00-190.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 190.00-191.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 191.00-192.00 sec   439 MBytes  3.69 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 192.00-193.00 sec   422 MBytes  3.54 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 193.00-194.00 sec   413 MBytes  3.47 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 194.00-195.00 sec   447 MBytes  3.75 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 195.00-196.00 sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 196.00-197.00 sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 197.00-198.00 sec   343 MBytes  2.87 Gbits/sec    0   8.00 MBytes   16ms     
[  5] 198.00-199.00 sec   395 MBytes  3.31 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 199.00-200.00 sec   425 MBytes  3.57 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 200.00-201.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 201.00-202.00 sec   430 MBytes  3.61 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 202.00-203.00 sec   421 MBytes  3.53 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 203.00-204.00 sec   424 MBytes  3.55 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 204.00-205.00 sec   431 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 205.00-206.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 206.00-207.00 sec   438 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 207.00-208.00 sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 208.00-209.00 sec   414 MBytes  3.48 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 209.00-210.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 210.00-211.00 sec   441 MBytes  3.70 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 211.00-212.00 sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 212.00-213.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 213.00-214.00 sec   316 MBytes  2.65 Gbits/sec    0   8.00 MBytes   15ms     
[  5] 214.00-215.00 sec   410 MBytes  3.44 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 215.00-216.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 216.00-217.00 sec   437 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 217.00-218.00 sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 218.00-219.00 sec   417 MBytes  3.50 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 219.00-220.00 sec   428 MBytes  3.59 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 220.00-221.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 221.00-222.00 sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 222.00-223.00 sec   438 MBytes  3.67 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 223.00-224.00 sec   415 MBytes  3.48 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 224.00-225.00 sec   439 MBytes  3.69 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 225.00-226.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 226.00-227.00 sec   425 MBytes  3.57 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 227.00-228.00 sec   440 MBytes  3.69 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 228.00-229.00 sec   418 MBytes  3.50 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 229.00-230.00 sec   331 MBytes  2.78 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 230.00-231.00 sec   413 MBytes  3.47 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 231.00-232.00 sec   431 MBytes  3.61 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 232.00-233.00 sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 233.00-234.00 sec   438 MBytes  3.67 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 234.00-235.00 sec   420 MBytes  3.52 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 235.00-236.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 236.00-237.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 237.00-238.00 sec   436 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 238.00-239.00 sec   426 MBytes  3.58 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 239.00-240.00 sec   414 MBytes  3.48 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 240.00-241.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 241.00-242.00 sec   422 MBytes  3.54 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 242.00-243.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 243.00-244.00 sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 244.00-245.00 sec   410 MBytes  3.44 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 245.00-246.00 sec   315 MBytes  2.64 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 246.00-247.00 sec   405 MBytes  3.40 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 247.00-248.00 sec   406 MBytes  3.41 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 248.00-249.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 249.00-250.00 sec   423 MBytes  3.55 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 250.00-251.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 251.00-252.00 sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 252.00-253.00 sec   437 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 253.00-254.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 254.00-255.00 sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 255.00-256.00 sec   426 MBytes  3.57 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 256.00-257.00 sec   436 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 257.00-258.00 sec   427 MBytes  3.58 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 258.00-259.00 sec   438 MBytes  3.68 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 259.00-260.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 260.00-261.00 sec   390 MBytes  3.27 Gbits/sec    0   8.00 MBytes   14ms     
[  5] 261.00-262.00 sec   368 MBytes  3.08 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 262.00-263.00 sec   424 MBytes  3.55 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 263.00-264.00 sec   437 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 264.00-265.00 sec   436 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 265.00-266.00 sec   418 MBytes  3.50 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 266.00-267.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 267.00-268.00 sec   437 MBytes  3.66 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 268.00-269.00 sec   437 MBytes  3.67 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 269.00-270.00 sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 270.00-271.00 sec   417 MBytes  3.49 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 271.00-272.00 sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 272.00-273.00 sec   436 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 273.00-274.00 sec   433 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 274.00-275.00 sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 275.00-276.00 sec   419 MBytes  3.51 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 276.00-277.00 sec   325 MBytes  2.73 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 277.00-278.00 sec   399 MBytes  3.34 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 278.00-279.00 sec   405 MBytes  3.39 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 279.00-280.00 sec   435 MBytes  3.65 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 280.00-281.00 sec   432 MBytes  3.63 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 281.00-282.00 sec   421 MBytes  3.54 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 282.00-283.00 sec   438 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 283.00-284.00 sec   426 MBytes  3.57 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 284.00-285.00 sec   440 MBytes  3.69 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 285.00-286.00 sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 286.00-287.00 sec   420 MBytes  3.52 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 287.00-288.00 sec   434 MBytes  3.64 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 288.00-289.00 sec   424 MBytes  3.56 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 289.00-290.00 sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 290.00-291.00 sec   425 MBytes  3.56 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 291.00-292.00 sec   418 MBytes  3.50 Gbits/sec    0   8.00 MBytes   12ms     
[  5] 292.00-293.00 sec   322 MBytes  2.70 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 293.00-294.00 sec   432 MBytes  3.62 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 294.00-295.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   8ms     
[  5] 295.00-296.00 sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 296.00-297.00 sec   426 MBytes  3.58 Gbits/sec    0   8.00 MBytes   11ms     
[  5] 297.00-298.00 sec   436 MBytes  3.66 Gbits/sec    0   8.00 MBytes   10ms     
[  5] 298.00-299.00 sec   439 MBytes  3.68 Gbits/sec    0   8.00 MBytes   9ms     
[  5] 299.00-300.00 sec   431 MBytes  3.61 Gbits/sec    0   8.00 MBytes   12ms     
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-300.00 sec   124 GBytes  3.54 Gbits/sec    0             sender
[  5]   0.00-300.01 sec   124 GBytes  3.54 Gbits/sec                  receiver

Retries logs on server vm:
(none)

Copy link

@raghavendra-talur raghavendra-talur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the idea behind this change is good.

I have a few comments though.

}

var _ net.Conn = (*QEMUPacketConn)(nil)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am guessing that this line is required. This was to ensure that QEMUPacketConn implements the net.Conn interface.

Even if we want to handle only reads and write for now, maintaining the compatibility with the net.Conn interface is useful for easy replacement replacement of the implementation in the future.

If it is not a lot of work to retain the deleted methods, please keep it.

Copy link
Contributor Author

@nirs nirs Oct 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need to verify this since it always implement the interface now, since we embed a net.Conn. Previously we kept a net.Conn instance so the check was useful.

}

func (v *QEMUPacketConn) SetWriteDeadline(t time.Time) error {
return v.unixConn.SetWriteDeadline(t)
// Write write a packet retrying on ENOBUFS errors.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Write write/Write/g

var retries uint64
for {
n, err := c.Conn.Write(b)
if err != nil && errors.Is(err, syscall.ENOBUFS) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to handle the case where n > 0 and err is syscall.ENOBUFS

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not possible with SOCK_DGRAM socket. You either send a complete datagram, or cannot send anything.

Maybe retry on n == 0 && errors.Is(err, syscall.ENOBUFS), and let the call fail otherwise?

We used external package (tcpproxy) for proxying between unix stream and
datagram sockets. This package cannot handle ENOBUFS error, expected
condition on BSD based systems, and worse, it hides errors and stop
forwarding packets silently when write to vz socket fails with
ENOBUFS[1].

Fix the issues by replacing tcpproxy with a simpler and more direct
implementation that will be easier to maintain.

Fixes:

- Fix error handling if write to vz datagram socket fail with ENOBUFS.
  We retry the write until it succeeds with a very short sleep between
  retries. Similar solution is used in gvisor-tap-vsock[2].

- Fix error handling if we could not read packet header or body from
  socket_vmnet stream socket. Previously we logged an error and continue
  to send corrupted packet to vz from the point of the failure.

- Fix error handling if writing a packet to socket_vmnet stream socket
  returned after writing partial packet. Now we handle short writes and
  write the complete packet. Previously would break the protocol and
  continue to send corrupted packet from the point of the failure.

- Log error if forwarding packets from vz to socket_vmnet or from
  socket_vmnet to vz failed.

Simplification:

- Use binary.Read() and binary.Write() to read and write qemu packet
  header.

Visibility:

- Make QEMUPacketConn private since it is an implementation detail of vz
  when using socket_vmnet.

[1] lima-vm/socket_vmnet#39
[2] containers/gvisor-tap-vsock#370

Signed-off-by: Nir Soffer <[email protected]>
The test starts a fake vmnet server listening on a unix stream socket
and echoing received packet. Then it sends packets to to the vz dgram
socekt and verify the received packets.

The test is little bit complicated, but it covers the happy path in 10
milliseconds. We can extend this later to a benchmark for packet
forwarding.

Signed-off-by: Nir Soffer <[email protected]>
@nirs
Copy link
Contributor Author

nirs commented Oct 4, 2024

Example test output

% go test -v ./pkg/vz -count=1
# github.com/lima-vm/lima/pkg/vz.test
ld: warning: ignoring duplicate libraries: '-lobjc'
=== RUN   TestDialQemu
    network_darwin_test.go:29: Listening at "/tmp/lima-test-vz-network.3972081625/sock"
    network_darwin_test.go:35: Fake vmnet started
    network_darwin_test.go:45: Connected to fake vment server
    network_darwin_test.go:90: Receiving and verifying data packets...
    network_darwin_test.go:56: Sender started
    network_darwin_test.go:72: Sent 1000 data packets
    network_darwin_test.go:81: Sent quit packet
    network_darwin_test.go:37: Fake vmnet finished
    network_darwin_test.go:111: Recived and verified 1000 data packets
--- PASS: TestDialQemu (0.01s)
PASS
ok  	github.com/lima-vm/lima/pkg/vz	0.414s

@@ -47,7 +47,7 @@ require (
google.golang.org/protobuf v1.34.2
gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473
gotest.tools/v3 v3.5.1
inet.af/tcpproxy v0.0.0-20221017015627-91f861402626 // replaced to github.com/inetaf/tcpproxy (see the bottom of this go.mod file)
inet.af/tcpproxy v0.0.0-20221017015627-91f861402626 // indirect; replaced to github.com/inetaf/tcpproxy (see the bottom of this go.mod file)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be moved to the indirect section below

// QEMUPacketConn converts raw network packet to a QEMU supported network packet.
type QEMUPacketConn struct {
unixConn net.Conn
func forwardPackets(qemuConn *qemuPacketConn, vzConn *packetConn) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need our custom forwardPackets ??

I would still prefer to use inetproxy itself. Unless it doesn't work even after wrapping

We could simply wrap the packetConn with the fileconn. This way retry on ENOBUFS are present.
https://github.com/lima-vm/lima/blob/master/pkg/vz/network_darwin.go#L49

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants