Bug 203476 - [net] [igb] not optimal checksum processing
Summary: [net] [igb] not optimal checksum processing
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 10.2-STABLE
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-net (Nobody)
Keywords: IntelNetworking, patch
Depends on:
Reported: 2015-10-01 16:52 UTC by dmitry2004
Modified: 2021-05-03 02:27 UTC (History)
3 users (show)

See Also:

Patch for if_igb.h (496 bytes, text/plain)
2015-10-01 16:52 UTC, dmitry2004
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description dmitry2004 2015-10-01 16:52:55 UTC
Created attachment 161607 [details]
Patch for if_igb.h

igb driver declare in sys/dev/e1000/if_igb.c:
  ifp->if_hwassist support (CSUM_TCP|CSUM_UDP|CSUM),

but in sys/dev/e1000/if_igb.h:

this difference results = the not optimal in igb_tx_ctx_setup() in sys/dev/e1000/if_igb.c for packets other than TCP|UDP|SCTP.

And i think not work TCP, UDP, SCTP offload for IPv6 (not check), then send IPv6 TCP or UDP network stack sets flags CSUM_TCP_IPV6 or CSUM_UDP_IPV6, but in if_hwassist no CSUM_TCP_IPV6|CSUM_UDP_IPV6.

Hardware support it.

Comment 1 Kevin Bowling freebsd_committer 2021-05-03 02:27:26 UTC
The way this works in the FreeBSD 12+ driver looks correct with respect to your patch.  If you want to review the current settings take a look at isc_tx_csum_flags in if_em.c.