netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Broken TX checksumming offloads
@ 2010-11-29 18:17 Michał Mirosław
  2010-11-29 19:13 ` Ben Hutchings
  0 siblings, 1 reply; 19+ messages in thread
From: Michał Mirosław @ 2010-11-29 18:17 UTC (permalink / raw)
  To: netdev; +Cc: Toshiharu Okada, e1000-devel

Hi!

Unless I'm horribly mistaken, generic HW checksumming works as follows:
 - driver sets netdev->features & NETIF_F_HW_CSUM to indicate support
   for generic checksumming; if the flag is not set, networking core
   will checksum skb before calling ndo_start_xmit (let's ignore
   other checksumming options for now) and not pass skb with
   skb->ip_summed == CHECKSUM_PARTIAL
 - ndo_start_xmit() should use skb->csum_start and skb->csum_offset
   (or skb->csum) to update checksum in software or instruct HW to do so

Looking at pch_gbe_xmit_frame() and its callee - pch_gbe_tx_queue() it
looks like the driver should set NETIF_F_IP_CSUM instead of NETIF_F_HW_CSUM
feature.

Similar thing happens in ixgbe driver: it sets NETIF_F_HW_CSUM and checks
for skb->ip_summed == CHECKSUM_PARTIAL, but then just warns on protocols
other that TCP and SCTP (see: ixgbe_psum()).

This means that these drivers might send packets with broken checksums
when TX checksumming offload is enabled. I haven't checked other drivers, yet.

Best Regards,
Michał Mirosław

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2010-12-06 21:01 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-29 18:17 Broken TX checksumming offloads Michał Mirosław
2010-11-29 19:13 ` Ben Hutchings
2010-11-30  2:35   ` Jesse Gross
2010-11-30 14:23     ` MichałMirosław
2010-11-30 14:23       ` [PATCH] net: Move check of checksum features to netdev_fix_features() MichałMirosław
2010-11-30 14:23       ` [PATCH] net: Fix too optimistic NETIF_F_HW_CSUM features MichałMirosław
     [not found]         ` <1291130005.21077.18.camel@bwh-desktop>
2010-11-30 15:28           ` MichałMirosław
2010-11-30 15:41             ` Michał Mirosław
2010-11-30 16:12               ` Jon Mason
2010-11-30 15:51             ` Ben Hutchings
2010-11-30 16:18               ` MichałMirosław
2010-11-30 16:38         ` [PATCH v2] " MichałMirosław
2010-11-30 16:53           ` Eric Dumazet
2010-11-30 17:07             ` MichałMirosław
2010-11-30 17:15               ` MichałMirosław
2010-11-30 17:17                 ` Eric Dumazet
2010-12-02  0:44           ` Jon Mason
2010-12-06 21:01           ` David Miller
2010-11-30 14:23       ` [PATCH] net: Fix drivers advertising HW_CSUM feature to use csum_start MichałMirosław

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).