Page MenuHomeFreeBSD

Attempt to fix PR231416 (UDP BPF VLAN checksum errors)
AbandonedPublic

Authored by shurd on Oct 3 2018, 6:04 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 11, 11:39 AM
Unknown Object (File)
Dec 31 2023, 3:45 PM
Unknown Object (File)
Dec 11 2023, 12:46 AM
Unknown Object (File)
Nov 21 2023, 4:43 AM
Unknown Object (File)
Nov 21 2023, 4:19 AM
Unknown Object (File)
Nov 21 2023, 4:02 AM
Unknown Object (File)
Sep 1 2023, 5:07 PM
Unknown Object (File)
Aug 28 2023, 5:23 AM
Subscribers

Details

Summary

The only potential issue I see is that the igb devices create
an offload context for VLANs and don't set offset to false and
unconditionally request IP level offloads. While it's not setting
E1000_ADVTXD_TUCMD_L4T_UDP, this may still be causing the issue.

Test Plan

Get lev to test it

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 19938
Build 19455: arc lint + arc unit

Event Timeline

This patch (first version) breaks my I210 completely. With it physical interface without any VLANs could not mount NFS share, for example. Something simple, like "ping" works, but all complex protocols are broken.
I didn't check VLANs, because host without NFS shares and other such protocols renders itself useless.

Explicitly set E1000_TXD_POPTS_TXSM when setting the checksum type.

Looks like IP offloads are handled in the TSO setup, and the check here
is just to set the appropriate IP version flag.

In D17393#371122, @lev wrote:

This patch (first version) breaks my I210 completely.

The new patch should... not do that.

Second version works, both without VLAN_HWTAGGING and with it, physical network and VLANs.

"Abandoning" because I put the wrong URL in the commit message.

rS339207: Fix igb corrupting checksums with BPF and VLAN

Macro failboat: