[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <211e391b-3537-560b-0522-9ea595848477@gmail.com>
Date: Mon, 23 Jul 2018 09:26:55 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org
Cc: "David S. Miller" <davem@...emloft.net>,
Tom Herbert <tom@...bertland.com>
Subject: Re: [PATCH net] ip: hash fragments consistently
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@...gle.com>
Powered by blists - more mailing lists