Re: git: e4ea162509e4 - main - epair: add support for checksum offloading

From: Michael Tuexen <tuexen_at_FreeBSD.org>
Date: Tue, 02 Sep 2025 20:42:06 UTC
> On 2. Sep 2025, at 22:10, Kristof Provost <kp@FreeBSD.org> wrote:
> 
> On 2 Sep 2025, at 0:17, Michael Tuexen wrote:
> The branch main has been updated by tuexen:
> URL: https://cgit.FreeBSD.org/src/commit/?id=e4ea162509e400340a2bc3e755071a92f3465e2d
> commit e4ea162509e400340a2bc3e755071a92f3465e2d
> Author: Timo Völker timo.voelker@fh-muenster.de
> AuthorDate: 2025-09-01 22:03:47 +0000
> Commit: Michael Tuexen tuexen@FreeBSD.org
> CommitDate: 2025-09-01 22:15:51 +0000
> epair: add support for checksum offloading
> 
> Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 for
> for receive and transmit checksum offloading for TCP and UDP to the
> epair interface and enable them by default.
> RXCSUM and RXCSUM6 are enabled because an epair interface may receive
> a packet with the csum_flag CSUM_DATA_VALID set, which is expected
> only if these capabilities are enabled. Since it seems not helpful to
> remove this flag, it is not possible to disable these capabilities.
> TXCSUM and TXCSUM6 are synchronized between the two epair interface
> ends. If enabled/disabled on one end, it will be enabled/disabled on
> the other end. If the sending epair interface end has TXCSUM or TXCSUM6
> enabled and the receiving end is in a bridge, it is assumed that all
> interfaces in the bridge have that capability enabled. Otherwise the
> bridge would have disabled that capability on the receiving epair
> interface end in the bridge which would have disabled that capability
> on the sending epair interface end as well due to the synchronization.
> 
> Reviewed by: bcr, Seyed Pouria Mousavizadeh Tehrani
> MFC after: 4 weeks
> Differential Revision: https://reviews.freebsd.org/D51639
> 
> This seems to be causing a lot of pf test failures, especially in the route_to tests.
> All of these now fail, unless this commit is reverted:
I have reverted the commit. We will investigate what is going wrong.

Thank for the report!

Best regards
Michael
> nat:binat_compat -> failed: atf-check failed; see the output of the test for details [4.423s]
> nat:binat_match -> failed: atf-check failed; see the output of the test for details [7.535s]
> nat:nat_match -> failed: atf-check failed; see the output of the test for details [4.511s]
> nat:nat_pass -> failed: atf-check failed; see the output of the test for details [7.337s]
> nat64:tcp_in_floating -> failed: Failed to connect to TCP server [6.142s]
> nat64:tcp_in_if_bound -> failed: Failed to connect to TCP server [6.048s]
> nat64:tcp_out_floating -> failed: Failed to connect to TCP server [6.268s]
> nat64:tcp_out_if_bound -> failed: Failed to connect to TCP server [6.253s]
> nat64:udp_in -> failed: Failed to connect to UDP server [6.097s]
> nat64:udp_out -> failed: Failed to connect to UDP server [6.071s]
> rdr:tcp_v6_compat -> failed: 0 != 22 ( 0 != 22) [2.736s]
> rdr:tcp_v6_pass -> failed: 0 != 23 ( 0 != 23) [1.978s]
> route_to:prefer_ipv6_nexthop_ipv4_random_prefix_ipv4 -> failed: atf-check failed; see the output of the test for details [5.693s]
> route_to:prefer_ipv6_nexthop_ipv4_random_table_ipv4 -> failed: atf-check failed; see the output of the test for details [12.511s]
> route_to:prefer_ipv6_nexthop_ipv6_random_prefix_ipv4 -> failed: atf-check failed; see the output of the test for details [14.865s]
> route_to:prefer_ipv6_nexthop_ipv6_random_prefix_ipv6 -> failed: atf-check failed; see the output of the test for details [7.849s]
> route_to:prefer_ipv6_nexthop_mixed_af_random_table_ipv4 -> failed: atf-check failed; see the output of the test for details [11.843s]
> route_to:prefer_ipv6_nexthop_mixed_af_roundrobin_ipv4 -> failed: atf-check failed; see the output of the test for details [5.566s]
> route_to:prefer_ipv6_nexthop_mixed_af_roundrobin_ipv6 -> failed: atf-check failed; see the output of the test for details [11.089s]
> route_to:prefer_ipv6_nexthop_single_ipv4 -> failed: atf-check failed; see the output of the test for details [6.615s]
> route_to:prefer_ipv6_nexthop_single_ipv6 -> failed: atf-check failed; see the output of the test for details [7.210s]
> route_to:random_prefix -> failed: atf-check failed; see the output of the test for details [6.608s]
> route_to:random_table -> failed: atf-check failed; see the output of the test for details [6.513s]
> route_to:roundrobin -> failed: atf-check failed; see the output of the test for details [6.248s]
> route_to:table_loop -> failed: atf-check failed; see the output of the test for details [6.606s]
> src_track:max_src_conn_rule -> failed: atf-check failed; see the output of the test for details [4.743s]
> src_track:max_src_states_global -> failed: atf-check failed; see the output of the test for details [5.010s]
> src_track:max_src_states_rule -> failed: atf-check failed; see the output of the test for details [5.026s]
> src_track:mixed_af -> failed: atf-check failed; see the output of the test for details [5.532s]
> 
> Best regards,
> Kristof