Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jul 2023 12:45:06 -0700
From:      Kevin Bowling <kevin.bowling@kev009.com>
To:        Cheng Cui <cc@freebsd.org>
Cc:        "freebsd-net@FreeBSD.org" <freebsd-net@freebsd.org>
Subject:   Re: tcp and udp traffic over IPv6 does not work from the latest e1000 git change 918c25677d
Message-ID:  <CAK7dMtBu%2BjeXejxi02QXPaKNZ4J6GP7XpvT3p4u3yhVb-Cbf1A@mail.gmail.com>
In-Reply-To: <CAGaXuiJ=P4ke4bnq9MHZfxhGM28xE=iBG0L6AgSjGZKA4H-ceQ@mail.gmail.com>
References:  <CAGaXuiJ=P4ke4bnq9MHZfxhGM28xE=iBG0L6AgSjGZKA4H-ceQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Cheng,

Have you applied https://reviews.freebsd.org/D41170?

Can you also try 'ifconfig emXX -txcsum6' on the DUT?

On Wed, Jul 26, 2023 at 12:37=E2=80=AFPM Cheng Cui <cc@freebsd.org> wrote:
>
> Hello Kevin,
>
> TCP and UDP traffic over IPv4 are working, but not over IPv6.
> On a pair of FreeBSD 14.0-CURRENT nodes that are using a kernel containin=
g the latest e1000 git change 918c25677d:
>
> root@s1:~ # uname -a
> FreeBSD s1.testsiftr.fbsd-transport.emulab.net 14.0-CURRENT FreeBSD 14.0-=
CURRENT amd64 1400093 #0 main-918c25677d-dirty: Sat Jul 22 14:43:31 MDT 202=
3     cc@n1.buildbsd14.fbsd-transport.emulab.net:/usr/obj/usr/src/amd64.amd=
64/sys/TESTBED-GENERIC amd64
> root@s1:~ #
>
> root@s1:~ # ping6 -c 3 fd00::3
> PING6(56=3D40+8+8 bytes) fd00::2 --> fd00::3
> 16 bytes from fd00::3, icmp_seq=3D0 hlim=3D64 time=3D0.393 ms
> 16 bytes from fd00::3, icmp_seq=3D1 hlim=3D64 time=3D0.171 ms
> 16 bytes from fd00::3, icmp_seq=3D2 hlim=3D64 time=3D0.276 ms
>
> --- fd00::3 ping6 statistics ---
> 3 packets transmitted, 3 packets received, 0.0% packet loss
> round-trip min/avg/max/std-dev =3D 0.171/0.280/0.393/0.091 ms
>
> root@s1:~ # ifconfig em4
> em4: flags=3D1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> met=
ric 0 mtu 1500
> options=3D4e104bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HW=
CSUM,LRO,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG>
> ether 00:04:23:b7:40:ac
> inet 10.1.1.2 netmask 0xffffff00 broadcast 10.1.1.255
> inet6 fd00::2 prefixlen 64
> inet6 fe80::204:23ff:feb7:40ac%em4 prefixlen 64 scopeid 0x5
> media: Ethernet 1000baseT <full-duplex>
> status: active
> nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL>
>
> root@s1:~ # dmesg | grep em4
> em4: <Intel(R) Legacy PRO/1000 MT 82546EB (Copper)> port 0xacc0-0xacff me=
m 0xdf3e0000-0xdf3fffff irq 101 at device 3.0 on pci10
> em4: EEPROM V15.255-15
> em4: Using 1024 TX descriptors and 1024 RX descriptors
> em4: Ethernet address: 00:04:23:b7:40:ac
> em4: netmap queues/slots: TX 1/1024, RX 1/1024
>
> root@r1:~ # ifconfig em4
> em4: flags=3D1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> met=
ric 0 mtu 1500
> options=3D4e104bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HW=
CSUM,LRO,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG>
> ether 00:04:23:b7:40:1c
> inet 10.1.1.3 netmask 0xffffff00 broadcast 10.1.1.255
> inet6 fd00::3 prefixlen 64
> inet6 fe80::204:23ff:feb7:401c%em4 prefixlen 64 scopeid 0x5
> media: Ethernet 1000baseT <full-duplex>
> status: active
> nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL>
>
> root@r1:~ # dmesg | grep em4
> em4: <Intel(R) Legacy PRO/1000 MT 82546EB (Copper)> port 0xacc0-0xacff me=
m 0xdf3e0000-0xdf3fffff irq 101 at device 3.0 on pci10
> em4: EEPROM V15.255-15
> em4: Using 1024 TX descriptors and 1024 RX descriptors
> em4: Ethernet address: 00:04:23:b7:40:1c
> em4: netmap queues/slots: TX 1/1024, RX 1/1024
>
>
> TCP connection timed out
> root@s1:~ # iperf -Vc fd00::3 -n 2K
> ------------------------------------------------------------
> Client connecting to fd00::3, TCP port 5001
> TCP window size: 32.0 KByte (default)
> ------------------------------------------------------------
> tcp connect failed: Operation timed out
> [  1] local :: port 0 connected with fd00::3 port 5001
>
> server side has no response:
> root@r1:~ # iperf -VsB fd00::3
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size: 64.0 KByte (default)
> ------------------------------------------------------------
>
> UDP traffic does not work either, and the UDP server has no response:
> root@s1:~ # iperf -Vc fd00::3 --udp -n 2K
> ------------------------------------------------------------
> Client connecting to fd00::3, UDP port 5001
> Sending 1450 byte datagrams, IPG target: 11062.62 us (kalman adjust)
> UDP buffer size: 9.00 KByte (default)
> ------------------------------------------------------------
> [  1] local fd00::2 port 54362 connected with fd00::3 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  1] 0.00-0.01 sec  3.42 KBytes  2.36 Mbits/sec
> [  1] Sent 4 datagrams
> [  3] WARNING: did not receive ack of last datagram after 1 tries.
>
> root@r1:~ # iperf -VsB fd00::3 --udp
> ------------------------------------------------------------
> Server listening on UDP port 5001
> UDP buffer size: 41.1 KByte (default)
> ------------------------------------------------------------
>
>
>
> On a new pair of nodes that use a kernel with backed out the latest em gi=
t change 918c25677d. Same em chip 82546EB.
> root@s1:~ # uname -a
> FreeBSD s1.testem.fbsd-transport.emulab.net 14.0-CURRENT FreeBSD 14.0-CUR=
RENT amd64 1400093 #0 22dca7acf7-dirty: Wed Jul 26 08:18:23 MDT 2023     cc=
@n1.emtest.fbsd-transport.emulab.net:/usr/obj/usr/src/amd64.amd64/sys/TESTB=
ED-GENERIC amd64
>
> cc@s1:~ % ifconfig em2
> em2: flags=3D1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> met=
ric 0 mtu 1500
> options=3D481009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_=
HWFILTER,HWSTATS,MEXTPG>
> ether 00:04:23:b7:12:be
> inet 10.1.1.2 netmask 0xffffff00 broadcast 10.1.1.255
> inet6 fd00::2 prefixlen 64
> inet6 fe80::204:23ff:feb7:12be%em2 prefixlen 64 scopeid 0x3
> media: Ethernet 1000baseT <full-duplex>
> status: active
> nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL>
>
> cc@r1:~ % ifconfig em2
> em2: flags=3D1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> met=
ric 0 mtu 1500
> options=3D481009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_=
HWFILTER,HWSTATS,MEXTPG>
> ether 00:04:23:b7:15:58
> inet 10.1.1.3 netmask 0xffffff00 broadcast 10.1.1.255
> inet6 fd00::3 prefixlen 64
> inet6 fe80::204:23ff:feb7:1558%em2 prefixlen 64 scopeid 0x3
> media: Ethernet 1000baseT <full-duplex>
> status: active
> nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL>
>
> cc@s1:~ % ping6 -c 3 fd00::3
> PING6(56=3D40+8+8 bytes) fd00::2 --> fd00::3
> 16 bytes from fd00::3, icmp_seq=3D0 hlim=3D64 time=3D0.637 ms
> 16 bytes from fd00::3, icmp_seq=3D1 hlim=3D64 time=3D0.236 ms
> 16 bytes from fd00::3, icmp_seq=3D2 hlim=3D64 time=3D0.290 ms
>
> --- fd00::3 ping6 statistics ---
> 3 packets transmitted, 3 packets received, 0.0% packet loss
> round-trip min/avg/max/std-dev =3D 0.236/0.388/0.637/0.178 ms
>
> TCP traffic works:
>
> root@s1:~ # iperf -Vc fd00::3 -n 2K
> ------------------------------------------------------------
> Client connecting to fd00::3, TCP port 5001
> TCP window size: 32.3 KByte (default)
> ------------------------------------------------------------
> [  1] local fd00::2 port 27164 connected with fd00::3 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  1] 0.00-0.02 sec  2.00 KBytes   858 Kbits/sec
>
> cc@r1:~ % iperf -VsB fd00::3
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size: 64.0 KByte (default)
> ------------------------------------------------------------
> [  1] local fd00::3 port 5001 connected with fd00::2 port 27164
> [ ID] Interval       Transfer     Bandwidth
> [  1] 0.00-0.00 sec  2.00 KBytes  0.000 bits/sec
>
> UDP traffic also works:
>
> root@s1:~ # iperf -Vc fd00::3 --udp -n 2K
> ------------------------------------------------------------
> Client connecting to fd00::3, UDP port 5001
> Sending 1450 byte datagrams, IPG target: 11062.62 us (kalman adjust)
> UDP buffer size: 9.00 KByte (default)
> ------------------------------------------------------------
> [  1] local fd00::2 port 64612 connected with fd00::3 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  1] 0.00-0.01 sec  3.42 KBytes  2.36 Mbits/sec
> [  1] Sent 4 datagrams
> [  1] Server Report:
> [ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Da=
tagrams
> [  1] 0.00-0.01 sec  3.42 KBytes  2.38 Mbits/sec   0.010 ms 0/3 (0%)
>
> cc@r1:~ % iperf -VsB fd00::3 --udp
> ------------------------------------------------------------
> Server listening on UDP port 5001
> UDP buffer size: 41.1 KByte (default)
> ------------------------------------------------------------
> [  1] local fd00::3 port 5001 connected with fd00::2 port 64612
> [ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Da=
tagrams
> [  1] 0.00-0.01 sec  3.42 KBytes  2.38 Mbits/sec   0.011 ms 0/3 (0%)
>
> Best Regards,
> Cheng Cui



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAK7dMtBu%2BjeXejxi02QXPaKNZ4J6GP7XpvT3p4u3yhVb-Cbf1A>