[Bug 231797] hn driver drops UDP traffic with EIO error when TXCSUM_IPV6 flag on

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Sep 29 07:36:17 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231797

            Bug ID: 231797
           Summary: hn driver drops UDP traffic with EIO error when
                    TXCSUM_IPV6 flag on
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: dslr.rfmGJfQJmFc9Qt9a at gmail.com

In https://reviews.freebsd.org/D12417, if_hn.c is changed at lines 5590 and
5886, which should allow UDPv6 packets to enter hn_set_hlen at line 780. 
However, at line 813, traffic not matching TCPv6 (UDPv6) would error.  Thusly,
it seems when IPv6 transmit checksum offloading is on, UDPv6 traffic is dropped
in the hn driver.

I first noticed this in practice with dhcp6c, where the first UDPv6 solicit
would fail with the error,

transmit failed: Input/output error

due to the kernel returning EIO for the UDPv6 packet.  As expected, the output
error count rises correspondingly, with no kernel output messages in the
syslogs.

I was able to determine that disabling TXCSUM_IPV6 via,

ifconfig hn0 -txcsum6

Stops the EIO from propogating from the driver, which led me to this area in
the source.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list