netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tom Herbert <tom@herbertland.com>
To: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: Linux Kernel Network Developers <netdev@vger.kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Vladislav Yasevich <vyasevich@gmail.com>,
	Benjamin Coddington <bcodding@redhat.com>
Subject: Re: [PATCH net v2 3/4] ipv6: no CHECKSUM_PARTIAL on MSG_MORE corked sockets
Date: Tue, 27 Oct 2015 17:31:37 -0700	[thread overview]
Message-ID: <CALx6S373cjOH8dkoEMuO_roCbmvN6-7_JY_qsvSGGesHSt76pg@mail.gmail.com> (raw)
In-Reply-To: <1445991150.565234.422057353.69DCA015@webmail.messagingengine.com>

On Tue, Oct 27, 2015 at 5:12 PM, Hannes Frederic Sowa
<hannes@stressinduktion.org> wrote:
> On Tue, Oct 27, 2015, at 23:03, Tom Herbert wrote:
>> On Tue, Oct 27, 2015 at 2:42 PM, Hannes Frederic Sowa
>> <hannes@stressinduktion.org> wrote:
>> > I posted v3 just now. I would like to let David consider it for net
>> > inclusion. We can work on how to lift this limitation then in net-next,
>> > okay? I am currently in favor of a new netdev-feature. What do you
>> > think? Your RFC series could help here, too.
>> >
>> I really do not like the feature flag, it's just a bandaid over the
>> real problem-- in fact my goal is to eliminate NETIF_F_IP{V6}_CSUM and
>> just have NETIF_F_HW_CSUM. I will repost the helper patches, but we
>> really do need to start fixing this stuff in the drivers instead of
>> more hacking in the stack.
>
> It would be great if this is doable but I doubt so. There might be a lot
> of unresponsive driver maintainers and I don't see that we should simply
> eliminate IPv4 csum offloading for those drivers, too. Sometimes it is
> hard to patch drivers without documentation.
>
> I am against lifting restrictions which will have unforeseeable
> consequences for some people (as in partial communication errors) or
> having huge performance drawbacks (as in disabling ipv4 csum offloading,
> too).
>
> I could even imagine this needs to be more configurable as in how many
> extension headers some hardware can process, I fear. One extension
> header might be okay (jumping over a fragmentation header), but two... I
> simply don't know, yet. Maybe there is no problem with hardware at all.
>
Hardware that implement NETIF_F_HW_CSUM (ie. calculate csum based on
start and offset) should have no problem with extension headers. The
plea in skbuff.h for HW vendors to implement that generic algorithm
has been around a long time, but unfortunately a lot of new HW is
still do protocol specific algorithms. Realistically, I can't deploy
extension headers at scale without checksum offload anyway, so this
just degenerates into another instance where poor HW design decisions
limit the protocols and features we're able to deploy in data center.
Oh well...

> I don't really see this series as a hack. ;)
>
> Unluckily it seems we don't get feedback from the hardware about not
> being able to construct a proper checksum, so we cannot even close the
> loop and add code which warns us about misbehaving drivers.
>
> Bye,
> Hannes

  reply	other threads:[~2015-10-28  0:31 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-27 15:02 [PATCH net v2 0/4] net: clean up interactions of CHECKSUM_PARTIAL and fragmentation Hannes Frederic Sowa
2015-10-27 15:02 ` [PATCH net v2 1/4] ipv4: no CHECKSUM_PARTIAL on MSG_MORE corked sockets Hannes Frederic Sowa
2015-10-27 16:04   ` Tom Herbert
2015-10-27 16:34     ` Hannes Frederic Sowa
2015-10-27 16:41       ` Tom Herbert
2015-10-27 15:02 ` [PATCH net v2 2/4] ipv4: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment Hannes Frederic Sowa
2015-10-27 16:06   ` Tom Herbert
2015-10-27 18:30     ` Hannes Frederic Sowa
2015-10-27 18:46   ` Tom Herbert
2015-10-27 19:01   ` Sergei Shtylyov
2015-10-27 19:15     ` Hannes Frederic Sowa
2015-10-27 15:02 ` [PATCH net v2 3/4] ipv6: no CHECKSUM_PARTIAL on MSG_MORE corked sockets Hannes Frederic Sowa
2015-10-27 16:36   ` Tom Herbert
2015-10-27 16:44     ` Hannes Frederic Sowa
2015-10-27 17:32       ` Tom Herbert
2015-10-27 18:29         ` Hannes Frederic Sowa
2015-10-27 18:37           ` Tom Herbert
2015-10-27 19:19             ` Hannes Frederic Sowa
2015-10-27 21:42               ` Hannes Frederic Sowa
2015-10-27 22:03                 ` Tom Herbert
2015-10-28  0:12                   ` Hannes Frederic Sowa
2015-10-28  0:31                     ` Tom Herbert [this message]
2015-10-27 15:02 ` [PATCH net v2 4/4] ipv6: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment Hannes Frederic Sowa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALx6S373cjOH8dkoEMuO_roCbmvN6-7_JY_qsvSGGesHSt76pg@mail.gmail.com \
    --to=tom@herbertland.com \
    --cc=bcodding@redhat.com \
    --cc=edumazet@google.com \
    --cc=hannes@stressinduktion.org \
    --cc=netdev@vger.kernel.org \
    --cc=vyasevich@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).