This goes part way through (as can be seen with -m) and then fails: % ftp -6 -M http://cdn.openbsd.org/pub/OpenBSD//snapshots/amd64/base69.tgz Trying 2a04:4e42:2d::729... Requesting http://cdn.openbsd.org/pub/OpenBSD//snapshots/amd64/base69.tgz ftp: Reading from socket: Connection reset by peer
While this works great: % ftp -4 -M http://cdn.openbsd.org/pub/OpenBSD//snapshots/amd64/base69.tgz Trying 151.101.66.217... Requesting http://cdn.openbsd.org/pub/OpenBSD//snapshots/amd64/base69.tgz 305750530 bytes received in 76.80 seconds (3.79 MB/s) Relatedly, I started out with https which reports a less actionable error: Reading from socket: Undefined error: 0 The problem is reproducible with the first three CDNs in ftp.html, so something about IPv6 in ftp(1) may be buggy. I'm connected through Comcast Business, ipv6 seems otherwise viable (test-ipv6.com and random browsing while using `family inet6 inet4`) The tcpdump does look like an abrupt reset: 12:27:52.999920 2a04:4e42:2d::729.www > my-ip6.28710: . 111080068:111081432(1364) ack 1 win 128 <nop,nop,timestamp 1608882729 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.000245 2a04:4e42:2d::729.www > my-ip6.28710: . 111081432:111082796(1364) ack 1 win 128 <nop,nop,timestamp 1608882730 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.000253 my-ip6.28710 > 2a04:4e42:2d::729.www: . ack 111082796 win 19373 <nop,nop,timestamp 2991658650 1608882729> [flowlabel 0x1a207] 12:27:53.000544 2a04:4e42:2d::729.www > my-ip6.28710: . 111082796:111084160(1364) ack 1 win 128 <nop,nop,timestamp 1608882730 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.001045 2a04:4e42:2d::729.www > my-ip6.28710: . 111084160:111085524(1364) ack 1 win 128 <nop,nop,timestamp 1608882730 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.001054 my-ip6.28710 > 2a04:4e42:2d::729.www: . ack 111085524 win 19373 <nop,nop,timestamp 2991658650 1608882730> [flowlabel 0x1a207] 12:27:53.001319 2a04:4e42:2d::729.www > my-ip6.28710: . 111085524:111086888(1364) ack 1 win 128 <nop,nop,timestamp 1608882733 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.001620 2a04:4e42:2d::729.www > my-ip6.28710: . 111086888:111088252(1364) ack 1 win 128 <nop,nop,timestamp 1608882733 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.001629 my-ip6.28710 > 2a04:4e42:2d::729.www: . ack 111088252 win 19373 <nop,nop,timestamp 2991658650 1608882733> [flowlabel 0x1a207] 12:27:53.001945 2a04:4e42:2d::729.www > my-ip6.28710: . 111088252:111089616(1364) ack 1 win 128 <nop,nop,timestamp 1608882733 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.002322 2a04:4e42:2d::729.www > my-ip6.28710: . 111089616:111090980(1364) ack 1 win 128 <nop,nop,timestamp 1608882733 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.002334 my-ip6.28710 > 2a04:4e42:2d::729.www: . ack 111090980 win 19373 <nop,nop,timestamp 2991658650 1608882733> [flowlabel 0x1a207] 12:27:53.002645 2a04:4e42:2d::729.www > my-ip6.28710: . 111090980:111092344(1364) ack 1 win 128 <nop,nop,timestamp 1608882733 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.002945 2a04:4e42:2d::729.www > my-ip6.28710: . 111092344:111093708(1364) ack 1 win 128 <nop,nop,timestamp 1608882733 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.002953 my-ip6.28710 > 2a04:4e42:2d::729.www: . ack 111093708 win 19373 <nop,nop,timestamp 2991658650 1608882733> [flowlabel 0x1a207] 12:27:53.003420 2a04:4e42:2d::729.www > my-ip6.28710: . 111093708:111095072(1364) ack 1 win 128 <nop,nop,timestamp 1608882733 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.003720 2a04:4e42:2d::729.www > my-ip6.28710: . 111095072:111096436(1364) ack 1 win 128 <nop,nop,timestamp 1608882733 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.003728 my-ip6.28710 > 2a04:4e42:2d::729.www: . ack 111096436 win 19373 <nop,nop,timestamp 2991658650 1608882733> [flowlabel 0x1a207] 12:27:53.004020 2a04:4e42:2d::729.www > my-ip6.28710: . 111096436:111097800(1364) ack 1 win 128 <nop,nop,timestamp 1608882734 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.004345 2a04:4e42:2d::729.www > my-ip6.28710: . 111097800:111099164(1364) ack 1 win 128 <nop,nop,timestamp 1608882734 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.004361 my-ip6.28710 > 2a04:4e42:2d::729.www: . ack 111099164 win 19373 <nop,nop,timestamp 2991658650 1608882734> [flowlabel 0x1a207] 12:27:53.004602 2a04:4e42:2d::729.www > my-ip6.28710: R 111099164:111099164(0) ack 1 win 0 12:27:53.004794 2a04:4e42:2d::729.www > my-ip6.28710: . 111099164:111100528(1364) ack 1 win 128 <nop,nop,timestamp 1608882734 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.004813 my-ip6.28710 > 2a04:4e42:2d::729.www: R 1537127405:1537127405(0) win 0 12:27:53.005049 2a04:4e42:2d::729.www > my-ip6.28710: . 111100528:111101892(1364) ack 1 win 128 <nop,nop,timestamp 1608882734 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.005060 my-ip6.28710 > 2a04:4e42:2d::729.www: R 1537127405:1537127405(0) win 0 12:27:53.005495 2a04:4e42:2d::729.www > my-ip6.28710: . 111101892:111103256(1364) ack 1 win 128 <nop,nop,timestamp 1608882734 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.005506 my-ip6.28710 > 2a04:4e42:2d::729.www: R 1537127405:1537127405(0) win 0 12:27:53.005751 2a04:4e42:2d::729.www > my-ip6.28710: . 111103256:111104620(1364) ack 1 win 128 <nop,nop,timestamp 1608882734 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.005757 my-ip6.28710 > 2a04:4e42:2d::729.www: R 1537127405:1537127405(0) win 0 12:27:53.006196 2a04:4e42:2d::729.www > my-ip6.28710: . 111104620:111105984(1364) ack 1 win 128 <nop,nop,timestamp 1608882735 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.006203 my-ip6.28710 > 2a04:4e42:2d::729.www: R 1537127405:1537127405(0) win 0 12:27:53.006459 2a04:4e42:2d::729.www > my-ip6.28710: . 111105984:111107348(1364) ack 1 win 128 <nop,nop,timestamp 1608882735 2991658650> [class 0x20] [flowlabel 0x45914] 12:27:53.006465 my-ip6.28710 > 2a04:4e42:2d::729.www: R 1537127405:1537127405(0) win 0 Thanks Greg
