> On Oct 18, 2023, at 15:44, Hrvoje Popovski <hrv...@srce.hr> wrote: > > On 18.10.2023. 15:35, Mischa wrote: >> Hi All, >> >> Just upgraded a couple of machines to 7.4. smooth as always!! >> >> I am however seeing issues with IPv4, slowness or no throughput at all. >> The machines I have upgraded are using an Intel X540-T network card and >> is connected on 10G. >> >> ix0 at pci5 dev 0 function 0 "Intel X540T" rev 0x01, msix, 16 queues, >> address b8:ca:3a:62:ee:40 >> ix1 at pci5 dev 0 function 1 "Intel X540T" rev 0x01, msix, 16 queues, >> address b8:ca:3a:62:ee:42 >> >> root@n2:~ # sysctl kern.version >> kern.version=OpenBSD 7.4 (GENERIC.MP) #1397: Tue Oct 10 09:02:37 MDT 2023 >> dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP >> >> There are a bunch of VMs running on top of it, as soon as I want to >> fetch something with ftp, for example, I don't get anything over IPv4, >> with IPv6 everything is normal. >> >> mischa@www2:~ $ ftp -4 >> https://mirror.openbsd.amsterdam/pub/OpenBSD/7.4/amd64/install74.iso >> Trying 46.23.88.18... >> Requesting >> https://mirror.openbsd.amsterdam/pub/OpenBSD/7.4/amd64/install74.iso >> 0% | | 512 KB - stalled >> -^C >> >> A trace on mirror / n2: >> >> n2:~ # tcpdump -i vport880 host 46.23.88.32 >> tcpdump: listening on vport880, link-type EN10MB >> 15:16:08.730274 www2.high5.nl.1828 > n2.high5.nl.https: S >> 2182224746:2182224746(0) win 16384 <mss 1460,nop,nop,sackOK,nop,wscale >> 6,nop,nop,timestamp 2899683458 0> (DF) >> 15:16:08.730297 arp who-has www2.high5.nl tell n2.high5.nl >> 15:16:08.731535 arp reply www2.high5.nl is-at fe:51:bb:1e:12:11 >> 15:16:08.731540 n2.high5.nl.https > www2.high5.nl.1828: S >> 633749938:633749938(0) ack 2182224747 win 16384 <mss >> 1460,nop,nop,sackOK,nop,wscale 6,nop,nop,timestamp 3129955106 >> 2899683458> (DF) >> 15:16:08.732017 www2.high5.nl.1828 > n2.high5.nl.https: . ack 1 win 256 >> <nop,nop,timestamp 2899683458 3129955106> (DF) >> 15:16:08.785752 www2.high5.nl.1828 > n2.high5.nl.https: P 1:312(311) ack >> 1 win 256 <nop,nop,timestamp 2899683510 3129955106> (DF) >> 15:16:08.786092 n2.high5.nl.https > www2.high5.nl.1828: P 1:128(127) ack >> 312 win 271 <nop,nop,timestamp 3129955166 2899683510> (DF) >> 15:16:08.786376 n2.high5.nl.https > www2.high5.nl.1828: P 128:134(6) ack >> 312 win 271 <nop,nop,timestamp 3129955166 2899683510> (DF) >> 15:16:08.786396 n2.high5.nl.https > www2.high5.nl.1828: P 134:166(32) >> ack 312 win 271 <nop,nop,timestamp 3129955166 2899683510> (DF) >> 15:16:08.786455 n2.high5.nl.https > www2.high5.nl.1828: . 166:1614(1448) >> ack 312 win 271 <nop,nop,timestamp 3129955166 2899683510> (DF) >> 15:16:08.786457 n2.high5.nl.https > www2.high5.nl.1828: . >> 1614:3062(1448) ack 312 win 271 <nop,nop,timestamp 3129955166 >> 2899683510> (DF) >> 15:16:08.786460 n2.high5.nl.https > www2.high5.nl.1828: P 3062:3803(741) >> ack 312 win 271 <nop,nop,timestamp 3129955166 2899683510> (DF) >> 15:16:08.786943 www2.high5.nl.1828 > n2.high5.nl.https: . ack 134 win >> 255 <nop,nop,timestamp 2899683510 3129955166> (DF) >> 15:16:08.796534 n2.high5.nl.https > www2.high5.nl.1828: P 3803:4345(542) >> ack 312 win 271 <nop,nop,timestamp 3129955176 2899683510> (DF) >> 15:16:08.796577 n2.high5.nl.https > www2.high5.nl.1828: P 4345:4403(58) >> ack 312 win 271 <nop,nop,timestamp 3129955176 2899683510> (DF) >> 15:16:08.797518 www2.high5.nl.1828 > n2.high5.nl.https: . ack 166 win >> 256 <nop,nop,timestamp 2899683526 3129955166,nop,nop,sack 1 {3803:4345} >>> (DF) >> 15:16:08.797522 www2.high5.nl.1828 > n2.high5.nl.https: . ack 166 win >> 256 <nop,nop,timestamp 2899683526 3129955166,nop,nop,sack 1 {3803:4403} >>> (DF) >> 15:16:09.790297 n2.high5.nl.https > www2.high5.nl.1828: . 166:1614(1448) >> ack 312 win 271 <nop,nop,timestamp 3129956176 2899683526> (DF) >> 15:16:09.790902 www2.high5.nl.1828 > n2.high5.nl.https: . ack 1614 win >> 233 <nop,nop,timestamp 2899684519 3129956176,nop,nop,sack 1 {3803:4403} >>> (DF) >> 15:16:09.790917 n2.high5.nl.https > www2.high5.nl.1828: . >> 1614:3062(1448) ack 312 win 271 <nop,nop,timestamp 3129956176 >> 2899684519> (DF) >> 15:16:09.790923 n2.high5.nl.https > www2.high5.nl.1828: P >> 3062:4403(1341) ack 312 win 271 <nop,nop,timestamp 3129956176 >> 2899684519> (DF) >> 15:16:10.790299 n2.high5.nl.https > www2.high5.nl.1828: . >> 1614:3062(1448) ack 312 win 271 <nop,nop,timestamp 3129957176 >> 2899684519> (DF) >> 15:16:10.791204 www2.high5.nl.1828 > n2.high5.nl.https: . ack 3062 win >> 233 <nop,nop,timestamp 2899685520 3129957176,nop,nop,sack 1 {3803:4403} >>> (DF) >> 15:16:10.791223 n2.high5.nl.https > www2.high5.nl.1828: P >> 3062:4403(1341) ack 312 win 271 <nop,nop,timestamp 3129957176 >> 2899685520> (DF) >> 15:16:10.791692 www2.high5.nl.1828 > n2.high5.nl.https: . ack 4403 win >> 235 <nop,nop,timestamp 2899685520 3129957176> (DF) >> 15:16:10.802647 www2.high5.nl.1828 > n2.high5.nl.https: P 312:318(6) ack >> 4403 win 256 <nop,nop,timestamp 2899685528 3129957176> (DF) >> 15:16:11.000297 n2.high5.nl.https > www2.high5.nl.1828: . ack 318 win >> 271 <nop,nop,timestamp 3129957386 2899685528> (DF) >> 15:16:11.001162 www2.high5.nl.1828 > n2.high5.nl.https: P 318:527(209) >> ack 4403 win 256 <nop,nop,timestamp 2899685730 3129957386> (DF) >> 15:16:11.001860 n2.high5.nl.https > www2.high5.nl.1828: P 4403:5059(656) >> ack 527 win 271 <nop,nop,timestamp 3129957386 2899685730> (DF) >> 15:16:11.001989 n2.high5.nl.https > www2.high5.nl.1828: . >> 5059:6507(1448) ack 527 win 271 <nop,nop,timestamp 3129957386 >> 2899685730> (DF) >> 15:16:11.001992 n2.high5.nl.https > www2.high5.nl.1828: . >> 6507:7955(1448) ack 527 win 271 <nop,nop,timestamp 3129957386 >> 2899685730> (DF) >> 15:16:11.195431 www2.high5.nl.1828 > n2.high5.nl.https: . ack 5059 win >> 256 <nop,nop,timestamp 2899685924 3129957386> (DF) >> 15:16:11.195447 n2.high5.nl.https > www2.high5.nl.1828: . >> 7955:9403(1448) ack 527 win 271 <nop,nop,timestamp 3129957576 >> 2899685924> (DF) >> >> >> Running a trace on www2 I am seeing: >> >> www2:~ # tcpdump -i vio0 host 46.23.88.18 >> tcpdump: listening on vio0, link-type EN10MB >> 15:16:08.729974 www2.high5.nl.1828 > n2.high5.nl.https: S >> 2182224746:2182224746(0) win 16384 <mss 1460,nop,nop,sackOK,nop,wscale >> 6,nop,nop,timestamp 2899683458 0> (DF) >> 15:16:08.731114 arp who-has www2.high5.nl tell n2.high5.nl >> 15:16:08.731229 arp reply www2.high5.nl is-at fe:51:bb:1e:12:11 >> 15:16:08.731631 n2.high5.nl.https > www2.high5.nl.1828: S >> 633749938:633749938(0) ack 2182224747 win 16384 <mss >> 1460,nop,nop,sackOK,nop,wscale 6,nop,nop,timestamp 3129955106 >> 2899683458> (DF) >> 15:16:08.731732 www2.high5.nl.1828 > n2.high5.nl.https: . ack 1 win 256 >> <nop,nop,timestamp 2899683458 3129955106> (DF) >> 15:16:08.785371 www2.high5.nl.1828 > n2.high5.nl.https: P 1:312(311) ack >> 1 win 256 <nop,nop,timestamp 2899683510 3129955106> (DF) >> 15:16:08.786219 n2.high5.nl.https > www2.high5.nl.1828: P 1:128(127) ack >> 312 win 271 <nop,nop,timestamp 3129955166 2899683510> (DF) >> 15:16:08.786522 n2.high5.nl.https > www2.high5.nl.1828: P 128:134(6) ack >> 312 win 271 <nop,nop,timestamp 3129955166 2899683510> (DF) >> 15:16:08.786523 n2.high5.nl.https > www2.high5.nl.1828: P 134:166(32) >> ack 312 win 271 <nop,nop,timestamp 3129955166 2899683510> (DF) >> 15:16:08.786525 truncated-ip - 1665 bytes missing!n2.high5.nl.https > >> www2.high5.nl.1828: P 166:2138(1972) ack 312 win 271 <nop,nop,timestamp >> 3129955166 2899683510> (DF) >> 15:16:08.786628 www2.high5.nl.1828 > n2.high5.nl.https: . ack 134 win >> 255 <nop,nop,timestamp 2899683510 3129955166> (DF) >> 15:16:08.797085 n2.high5.nl.https > www2.high5.nl.1828: P 3803:4345(542) >> ack 312 win 271 <nop,nop,timestamp 3129955176 2899683510> (DF) >> 15:16:08.797086 n2.high5.nl.https > www2.high5.nl.1828: P 4345:4403(58) >> ack 312 win 271 <nop,nop,timestamp 3129955176 2899683510> (DF) >> 15:16:08.797207 www2.high5.nl.1828 > n2.high5.nl.https: . ack 166 win >> 256 <nop,nop,timestamp 2899683526 3129955166,nop,nop,sack 1 {3803:4345} >>> (DF) >> 15:16:08.797208 www2.high5.nl.1828 > n2.high5.nl.https: . ack 166 win >> 256 <nop,nop,timestamp 2899683526 3129955166,nop,nop,sack 1 {3803:4403} >>> (DF) >> 15:16:09.790498 n2.high5.nl.https > www2.high5.nl.1828: . 166:1614(1448) >> ack 312 win 271 <nop,nop,timestamp 3129956176 2899683526> (DF) >> 15:16:09.790611 www2.high5.nl.1828 > n2.high5.nl.https: . ack 1614 win >> 233 <nop,nop,timestamp 2899684519 3129956176,nop,nop,sack 1 {3803:4403} >>> (DF) >> 15:16:09.791036 truncated-ip - 817 bytes missing!n2.high5.nl.https > >> www2.high5.nl.1828: P 1614:3586(1972) ack 312 win 271 <nop,nop,timestamp >> 3129956176 2899684519> (DF) >> 15:16:10.790743 n2.high5.nl.https > www2.high5.nl.1828: . >> 1614:3062(1448) ack 312 win 271 <nop,nop,timestamp 3129957176 >> 2899684519> (DF) >> 15:16:10.790872 www2.high5.nl.1828 > n2.high5.nl.https: . ack 3062 win >> 233 <nop,nop,timestamp 2899685520 3129957176,nop,nop,sack 1 {3803:4403} >>> (DF) >> 15:16:10.791287 n2.high5.nl.https > www2.high5.nl.1828: P >> 3062:4403(1341) ack 312 win 271 <nop,nop,timestamp 3129957176 >> 2899685520> (DF) >> 15:16:10.791393 www2.high5.nl.1828 > n2.high5.nl.https: . ack 4403 win >> 235 <nop,nop,timestamp 2899685520 3129957176> (DF) >> 15:16:10.802259 www2.high5.nl.1828 > n2.high5.nl.https: P 312:318(6) ack >> 4403 win 256 <nop,nop,timestamp 2899685528 3129957176> (DF) >> 15:16:11.000715 n2.high5.nl.https > www2.high5.nl.1828: . ack 318 win >> 271 <nop,nop,timestamp 3129957386 2899685528> (DF) >> 15:16:11.000830 www2.high5.nl.1828 > n2.high5.nl.https: P 318:527(209) >> ack 4403 win 256 <nop,nop,timestamp 2899685730 3129957386> (DF) >> 15:16:11.002040 n2.high5.nl.https > www2.high5.nl.1828: P 4403:5059(656) >> ack 527 win 271 <nop,nop,timestamp 3129957386 2899685730> (DF) >> 15:16:11.002042 truncated-ip - 924 bytes missing!n2.high5.nl.https > >> www2.high5.nl.1828: . 5059:7031(1972) ack 527 win 271 <nop,nop,timestamp >> 3129957386 2899685730> (DF) >> 15:16:11.195146 www2.high5.nl.1828 > n2.high5.nl.https: . ack 5059 win >> 256 <nop,nop,timestamp 2899685924 3129957386> (DF) >> 15:16:11.195567 n2.high5.nl.https > www2.high5.nl.1828: . >> 7955:9403(1448) ack 527 win 271 <nop,nop,timestamp 3129957576 >> 2899685924> (DF) >> >> >> From "What is new" I noticed: >> * Enable LRO per default in network drivers. LRO allows to receive >> aggregated packets larger than the MTU. Receiving TCP streams becomes >> much faster. Currently only ix(4) and lo(4) devices support LRO, and >> ix(4) is limited to IPv4 and hardware newer than the old 82598 model. >> >> Could this have something to do with it? >> >> Mischa > > is it better when you disable > ifconfig ix0 -tcplro > ifconfig ix1 -tcplro
I get packets! Nice! > and maybe you would need > net.inet.tcp.tso=1 Will see if that makes a difference. Thanx Hrvoje! Mischa