From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH net] ip: hash fragments consistently Date: Mon, 23 Jul 2018 09:26:55 -0700 Message-ID: <211e391b-3537-560b-0522-9ea595848477@gmail.com> References: <9b22fd3a35416b3145f1245466167b001925ce1a.1532357173.git.pabeni@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: "David S. Miller" , Tom Herbert To: Paolo Abeni , netdev@vger.kernel.org Return-path: Received: from mail-pf1-f194.google.com ([209.85.210.194]:38625 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388711AbeGWR25 (ORCPT ); Mon, 23 Jul 2018 13:28:57 -0400 Received: by mail-pf1-f194.google.com with SMTP id x17-v6so193305pfh.5 for ; Mon, 23 Jul 2018 09:26:57 -0700 (PDT) In-Reply-To: <9b22fd3a35416b3145f1245466167b001925ce1a.1532357173.git.pabeni@redhat.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: 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