Date: Tue, 16 Mar 2021 08:07:54 -0700 From: mtrm79 <mtrm79@gmail.com> To: Marek Zarychta <zarychtam@plan-b.pwste.edu.pl> Cc: "tuexen@freebsd.org" <tuexen@freebsd.org>, Blake Hartshorn <contact@blakehartshorn.com>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Subject: Re: Severe IPv6 TCP transfer issues on 13.0-RC1 and RC2 Message-ID: <CACswaC_vbPoRza9BwRoorO_yavy03fG-K0cjRwbgVg_DMo0jYQ@mail.gmail.com> In-Reply-To: <bdfdf126-db3d-cf45-dfe7-4e251ffeb8f9@plan-b.pwste.edu.pl> References: <5753280.1HxCrU2fYu@thinkbook> <E1346D9D-F1E0-4ABC-89D6-33BC77705771@freebsd.org> <10847992.4GmZMkJedg@thinkbook> <2808496E-C2B5-4B6F-8FDB-310B7F69E540@freebsd.org> <d71bd76f-d01a-0af7-9b02-c3a473de5ef9@plan-b.pwste.edu.pl> <947D1E51-CCB0-4A1E-B671-708F70420DA1@freebsd.org> <bdfdf126-db3d-cf45-dfe7-4e251ffeb8f9@plan-b.pwste.edu.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, March 16, 2021, Marek Zarychta <zarychtam@plan-b.pwste.edu.pl> wrote: > W dniu 16.03.2021 o 15:35, tuexen@freebsd.org pisze: > >> On 16. Mar 2021, at 15:18, Marek Zarychta < > zarychtam@plan-b.pwste.edu.pl> wrote: > >> > >> W dniu 16.03.2021 o 12:50, tuexen@freebsd.org pisze: > >>>> On 16. Mar 2021, at 11:55, Blake Hartshorn < > contact@blakehartshorn.com> wrote: > >>>> > >>>> Hi Michael, > >>>> > >>>> I've attached tcpdumps for port 80 on both sides of a bad transfer, > using 2 VMs in the same datacenter, FreeBSD 13 serving and 12 as a client= . > A friend of mine suggested I also run some tests with iperf3, so pasting > those results below. You'll see it going fast in one direction and crawli= ng > in the other on TCP. There's also some disparity on UDP. > >>> The problem is that the server provides TCP segments larger than the > MTU > >>> to the NIC. These are dropped and needs to be retransmitted. That is > why > >>> it takes so long. So I guess TSO is enabled on the NIC and not workin= g > correctly. > >>> > >>> What is the output of ifconfig? Can you disable TSO? Does that work > around > >>> the problem? > >>> > >>> Best regards > >>> Michael > >>>> > >>>> TCP: > >>>> [ ID][Role] Interval Transfer Bitrate Retr Cw= nd > >>>> [ 5][TX-C] 0.00-1.00 sec 27.7 MBytes 233 Mbits/sec 342 > 26.7 KBytes > >>>> [ 7][RX-C] 0.00-1.00 sec 4.18 KBytes 34.3 Kbits/sec > > >>>> [ 5][TX-C] 1.00-2.00 sec 15.8 MBytes 132 Mbits/sec 249 > 52.0 KBytes > >>>> [ 7][RX-C] 1.00-2.00 sec 4.18 KBytes 34.3 Kbits/sec > > >>>> [ 5][TX-C] 2.00-3.00 sec 13.7 MBytes 115 Mbits/sec 307 > 15.4 KBytes > >>>> [ 7][RX-C] 2.00-3.00 sec 4.18 KBytes 34.3 Kbits/sec > > >>>> [ 5][TX-C] 3.00-4.00 sec 14.5 MBytes 121 Mbits/sec 260 > 22.4 KBytes > >>>> [ 7][RX-C] 3.00-4.00 sec 4.18 KBytes 34.3 Kbits/sec > > >>>> [ 5][TX-C] 4.00-5.00 sec 14.3 MBytes 120 Mbits/sec 240 > 37.9 KBytes > >>>> [ 7][RX-C] 4.00-5.00 sec 5.58 KBytes 45.7 Kbits/sec > > >>>> [ 5][TX-C] 5.00-6.00 sec 17.7 MBytes 149 Mbits/sec 363 > 15.4 KBytes > >>>> [ 7][RX-C] 5.00-6.00 sec 4.18 KBytes 34.3 Kbits/sec > > >>>> [ 5][TX-C] 6.00-7.00 sec 14.8 MBytes 124 Mbits/sec 287 > 8.38 KBytes > >>>> [ 7][RX-C] 6.00-7.00 sec 5.58 KBytes 45.7 Kbits/sec > > >>>> [ 5][TX-C] 7.00-8.00 sec 14.7 MBytes 123 Mbits/sec 293 > 28.1 KBytes > >>>> [ 7][RX-C] 7.00-8.00 sec 4.18 KBytes 34.3 Kbits/sec > > >>>> [ 5][TX-C] 8.00-9.00 sec 11.9 MBytes 100 Mbits/sec 325 > 18.3 KBytes > >>>> [ 7][RX-C] 8.00-9.00 sec 4.18 KBytes 34.3 Kbits/sec > > >>>> [ 5][TX-C] 9.00-10.00 sec 14.3 MBytes 120 Mbits/sec 315 > 39.3 KBytes > >>>> [ 7][RX-C] 9.00-10.00 sec 4.18 KBytes 34.3 Kbits/sec > > >>>> - - - - - - - - - - - - - - - - - - - - - - - - - > >>>> [ ID][Role] Interval Transfer Bitrate Retr > >>>> [ 5][TX-C] 0.00-10.00 sec 159 MBytes 134 Mbits/sec 2981 > sender > >>>> [ 5][TX-C] 0.00-10.00 sec 159 MBytes 134 Mbits/sec > receiver > >>>> [ 7][RX-C] 0.00-10.00 sec 77.0 KBytes 63.1 Kbits/sec 65 > sender > >>>> [ 7][RX-C] 0.00-10.00 sec 44.6 KBytes 36.6 Kbits/sec > receiver > >>>> ------------------------------------------------------------ > ----------------------------------------------- > >>>> > >>>> > >>>> UDP: > >>>> [ ID][Role] Interval Transfer Bitrate Jitter > Lost/Total Datagrams > >>>> [ 5][TX-C] 0.00-1.00 sec 81.6 MBytes 685 Mbits/sec > 67798 > >>>> [ 7][RX-C] 0.00-1.00 sec 8.80 MBytes 73.8 Mbits/sec 0.255 ms > 54070/60475 (89%) > >>>> [ 5][TX-C] 1.00-2.00 sec 72.7 MBytes 610 Mbits/sec > 64802 > >>>> [ 7][RX-C] 1.00-2.00 sec 8.52 MBytes 71.5 Mbits/sec 0.154 ms > 68912/75116 (92%) > >>>> [ 5][TX-C] 2.00-3.00 sec 73.7 MBytes 618 Mbits/sec > 64158 > >>>> [ 7][RX-C] 2.00-3.00 sec 8.52 MBytes 71.5 Mbits/sec 0.276 ms > 67738/73945 (92%) > >>>> [ 5][TX-C] 3.00-4.00 sec 76.6 MBytes 643 Mbits/sec > 63521 > >>>> [ 7][RX-C] 3.00-4.00 sec 8.55 MBytes 71.8 Mbits/sec 0.160 ms > 68647/74874 (92%) > >>>> [ 5][TX-C] 4.00-5.00 sec 76.1 MBytes 638 Mbits/sec > 64614 > >>>> [ 7][RX-C] 4.00-5.00 sec 8.55 MBytes 71.7 Mbits/sec 0.461 ms > 67542/73767 (92%) > >>>> [ 5][TX-C] 5.00-6.00 sec 75.9 MBytes 637 Mbits/sec > 64834 > >>>> [ 7][RX-C] 5.00-6.00 sec 8.57 MBytes 71.9 Mbits/sec 0.297 ms > 71565/77806 (92%) > >>>> [ 5][TX-C] 6.00-7.00 sec 73.0 MBytes 613 Mbits/sec > 63639 > >>>> [ 7][RX-C] 6.00-7.00 sec 8.40 MBytes 70.5 Mbits/sec 0.199 ms > 69545/75663 (92%) > >>>> [ 5][TX-C] 7.00-8.00 sec 74.6 MBytes 626 Mbits/sec > 65030 > >>>> [ 7][RX-C] 7.00-8.00 sec 8.78 MBytes 73.6 Mbits/sec 0.254 ms > 67173/73566 (91%) > >>>> [ 5][TX-C] 8.00-9.00 sec 75.0 MBytes 629 Mbits/sec > 64848 > >>>> [ 7][RX-C] 8.00-9.00 sec 8.77 MBytes 73.5 Mbits/sec 0.298 ms > 70932/77315 (92%) > >>>> [ 5][TX-C] 9.00-10.00 sec 74.5 MBytes 625 Mbits/sec > 64487 > >>>> [ 7][RX-C] 9.00-10.00 sec 8.71 MBytes 73.1 Mbits/sec 0.185 ms > 68268/74612 (91%) > >>>> - - - - - - - - - - - - - - - - - - - - - - - - - > >>>> [ ID][Role] Interval Transfer Bitrate Jitter > Lost/Total Datagrams > >>>> [ 5][TX-C] 0.00-10.00 sec 754 MBytes 632 Mbits/sec 0.000 ms > 0/647731 (0%) sender > >>>> [ 5][TX-C] 0.00-10.12 sec 105 MBytes 87.2 Mbits/sec 0.245 ms > 571090/647649 (88%) receiver > >>>> [ 7][RX-C] 0.00-10.00 sec 1009 MBytes 846 Mbits/sec 0.000 ms > 0/761013 (0%) sender > >>>> [ 7][RX-C] 0.00-10.12 sec 86.2 MBytes 71.4 Mbits/sec 0.185 ms > 674392/737139 (91%) receiver > >>>> > >>>> > >> > >> Taking a look at this iperf output I recalled that 80% of my setups > >> suffered from similar issue after transitioning from 1{1,2}-STABLE to > >> 13-STABLE about a mounth ago. I have asked on IRC but nobody confirmed > >> similar problems so I have reduced MTU to 8900 from the original 9000 = on > >> some vlan(4) interfaces to solve the issue. I am using mostly vlan(4)s > >> over LACP lagg(4)s created on NICs. So far (for FreeBSD 11 and 12) > >> setting MTU 9000 on physical NIC was sufficient to make it work, now I > >> have set MTU 9000 on NICs and reduced MTU 8900 on vlan(4)s. > > TCP announces an MSS of 1440, which corresponds to an MTU of 1500 byte. > > So I guess your problem is different. > > Is your physical MTU 9000 bytes? > > > > Best regards > > Michael > > Yes, MTU for some VLANs in this network is 9000 bytes and I performed > only software upgrades, hardware was untouched. I haven't had similar > issues while running 11.4-STABLE or 12.2-STABLE. The aforementioned 8900 > is not a critical value, but the reduction from an original 9000 was > mandatory. > > With kind regards, > Marek > > I also experienced that same issue with 13.0-RC2 after upgrading some VMs. The same issue also exists in Beta4. It only affects IPv6. For me it is extremely slow in both directions if both VMs are on the same host and are running 13.0-RC2. It is easy to reproduce. Simply setup two VMs using virt-manager or proxmox running FreeBSD 13.0-RC2. Configure the network to use virtio and setup IPv6. Run iperf using IPv6 and we are down to modem speeds. :-( If you test using ipv4 no issues at all. To only way to get better speeds is to disable tso6. ifconfig vtnet0 -tso6 The host-host speeds after that are still not as good as IPv4 but at least it=E2=80=99s in multiple Gbps vs just some Kbps. FreeBSD 12.2 has none of t= hose issues. Could it have something to do with the if_vtnet changes on 2021-01-19 committed by Bryan Venteicher https://reviews.freebsd.org/D27904 <ttps://reviews.freebsd.org/D27904> https://cgit.freebsd.org/src/log/sys/dev/virtio/network?h=3Dreleng/13.0 Haven=E2=80=99t had time to compile a kernel before those changes or right = after to see if the issue goes away. I only tested the ipv6 slowness on virtio. Don=E2=80=99t know if the issue = exists on bare metal hardware as well. Thanks, Michael Tratz > >>>> > >>>> > >>>> On Tuesday, March 16, 2021 4:16:15 AM EDT tuexen@freebsd.org wrote: > >>>>>> On 15. Mar 2021, at 12:56, Blake Hartshorn < > contact@blakehartshorn.com> wrote: > >>>>>> > >>>>>> The short version, when I use FreeBSD 13, delivering data can take > 5 minutes for 1MB over SSH or HTTP when using IPv6. This problem does not > happen with IPv4. I installed FreeBSD 12 and Linux on that same device, > neither had the problem. > >>>>>> > >>>>>> Did some troubleshooting with Linode, have ultimately ruled the > network itself out at this point. When the server is on FreeBSD 13, it ca= n > download quickly over IPv6, but not deliver. Started investigating after > noticing my SSH session was lagging when cat'ing large files or running > builds. This problem even occurs between VMs in the same datacenter. I > generated a 1MB file of base64 garbage served by nginx for testing. IPv6 = is > being configured by SLAAC and on both 12 and 13 installs was setup by the > installer. Linode uses Linux/KVM hosts for their virtual machines so it's > running on that virtual adapter. > >>>>>> > >>>>>> I asked on the forums, another user recommended going to the > mailing lists instead. Does anyone know if config settings need to be > different on 13? Did I maybe just find a real issue? I can provide any > requested details. Thanks! > >>>>> Could you prove a .pcap tracefile, one from the sender, one from th= e > recevier, of > >>>>> a TCP/IPv6 connection, which doesn't work as expected. For example, > use your 1MB > >>>>> base64 garbage transfer. > >>>>> > >>>>> Best regardes > >>>>> Michael > >>>>>> > >>>>>> > >>>>>> _______________________________________________ > >>>>>> freebsd-net@freebsd.org mailing list > >>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-net > >>>>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@ > freebsd.org" > >>>>> > >>>>> > >>>> <freebsd12-client.pcap.gz><freebsd13-server.pcap.gz> > >>> > >>> _______________________________________________ > >>> freebsd-net@freebsd.org mailing list > >>> https://lists.freebsd.org/mailman/listinfo/freebsd-net > >>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org= " > >>> > >> > >> > >> -- > >> Marek Zarychta > >> > > > > > > > -- > Marek Zarychta > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACswaC_vbPoRza9BwRoorO_yavy03fG-K0cjRwbgVg_DMo0jYQ>