From: Eric Dumazet <eric.dumazet@gmail.com>
To: Paolo Abeni <pabeni@redhat.com>, netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
soukjin bae <soukjin.bae@samsung.com>
Subject: Re: [PATCH net] ip: hash fragments consistently
Date: Fri, 9 Nov 2018 11:44:01 -0800 [thread overview]
Message-ID: <e9e9703f-8fbe-4d81-4bb1-1cdafd0a4955@gmail.com> (raw)
In-Reply-To: <211e391b-3537-560b-0522-9ea595848477@gmail.com>
On 07/23/2018 09:26 AM, Eric Dumazet wrote:
>
>
> On 07/23/2018 07:50 AM, Paolo Abeni wrote:
>> The skb hash for locally generated ip[v6] fragments belonging
>> to the same datagram can vary in several circumstances:
>> * for connected UDP[v6] sockets, the first fragment get its hash
>> via set_owner_w()/skb_set_hash_from_sk()
>> * for unconnected IPv6 UDPv6 sockets, the first fragment can get
>> its hash via ip6_make_flowlabel()/skb_get_hash_flowi6(), if
>> auto_flowlabel is enabled
>>
>> For the following frags the hash is usually computed via
>> skb_get_hash().
>> The above can cause OoO for unconnected IPv6 UDPv6 socket: in that
>> scenario the egress tx queue can be selected on a per packet basis
>> via the skb hash.
>> It may also fool flow-oriented schedulers to place fragments belonging
>> to the same datagram in different flows.
>>
>
> It also fools bond_xmit_hash(), packets of the same datagram can be sent on
> two bonding slaves instead of one, meaning adding pressure on the defrag unit
> in receiver.
>
> Reviewed-by: Eric Dumazet <edumazet@google.com>
>
Also we might note that flow dissector itself is buggy as
found by Soukjin Bae ( https://patchwork.ozlabs.org/patch/994601/ )
I will send a v2 of his patch with a different changelog.
Defrag is fixed [1] but the bug in flow dissector is adding
extra work and hash inconsistencies.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=0d5b9311baf27bb545f187f12ecfd558220c607d
next prev parent reply other threads:[~2018-11-10 5:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-23 14:50 [PATCH net] ip: hash fragments consistently Paolo Abeni
2018-07-23 16:26 ` Eric Dumazet
2018-11-09 19:44 ` Eric Dumazet [this message]
[not found] ` <CGME20181109194407epcas2p3793beaca271f6a5dcd067cedd853b41d@epcms1p3>
2018-11-12 0:40 ` 배석진
2018-11-12 3:37 ` (2) " Eric Dumazet
2018-07-23 18:40 ` David Miller
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=e9e9703f-8fbe-4d81-4bb1-1cdafd0a4955@gmail.com \
--to=eric.dumazet@gmail.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=soukjin.bae@samsung.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).