Oh, thanks so much for doing that... I had gotten about halfway through writing this same patch and had to abandon the effort a few months ago because life got crazy.
BTW, there is a section in there that disables the CRC stripping for i350/i210 claiming there's a bug causing it to strip whether it's wanted or not. I did some digging in the official Intel driver, which FreeBSD uses more or less verbatim, and it looks like it's not a bug so much as difficult documentation: the per-queue setting for the stripping overrides the global one. Intel fixes it here: http://git.dpdk.org/dpdk-stable/commit/?h=v2.0.0&id=c872db9ea56413142e12c1477fa49b86f4f6740e If that's not included in this patch (haven't read through it in detail yet), you might want to look into it, I had put it in on mine and it seemed to work. FWIW, this fix went in not long after the OpenBSD version was forked from the Intel source. Unfortunate timing! I'll see if I can give this a try this weekend, I definitely have i210/i211/i350 hardware as well as legacy hardware that I *think* falls under the old regime. - Dave > On Jul 22, 2022, at 4:09 PM, Moritz Buhl <[email protected]> wrote: > > On Mon, Jun 27, 2022 at 08:07:32AM +1000, Jonathan Gray wrote: >> On Sun, Jun 26, 2022 at 04:43:59PM +0200, Moritz Buhl wrote: >>> On Sun, Jun 26, 2022 at 12:23:58PM +0200, Moritz Buhl wrote: >>>> Hi, >>>> >>>> I noticed that for some offloading-capable em controllers checksum >>>> offloading is still disabled and I couldn't find a reason for that. >> >> There are two descriptor formats on 82575/82576/i350/i354/i210/i211. >> The older one we use and the newer igb/ix style one we don't use in em. >> A lot of the offloading options are in the newer descriptor format >> from memory. > > Thanks that helped a lot. Below is a diff that implements offloading > for i350 and i210 (I haven't checked it for the others you mentioned). > It also does tcp and upd checksums for the older ones also ipv4. > > I didn't feel confident in the diff but I currently cannot cause > any misbehavoir. > > Using VLAN with i350 and i210 should still break because > IFCAP_VLAN_HWTAGGING is not fully implemented yet. > > I would appreciate any feedback and comments. > > mbuhl
