From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] flow_dissector: do not dissect l4 ports for fragments Date: Fri, 09 Nov 2018 20:02:26 -0800 (PST) Message-ID: <20181109.200226.203212078900592187.davem@davemloft.net> References: <20181110005306.8102-1-edumazet@google.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=euc-kr Content-Transfer-Encoding: 8bit Cc: netdev@vger.kernel.org, eric.dumazet@gmail.com, soukjin.bae@samsung.com To: edumazet@google.com Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:38268 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728567AbeKJQOp (ORCPT ); Sat, 10 Nov 2018 11:14:45 -0500 In-Reply-To: <20181110005306.8102-1-edumazet@google.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Eric Dumazet Date: Fri, 9 Nov 2018 16:53:06 -0800 > From: ¹è¼®Áø > > Only first fragment has the sport/dport information, > not the following ones. > > If we want consistent hash for all fragments, we need to > ignore ports even for first fragment. > > This bug is visible for IPv6 traffic, if incoming fragments > do not have a flow label, since skb_get_hash() will give > different results for first fragment and following ones. > > It is also visible if any routing rule wants dissection > and sport or dport. > > See commit 5e5d6fed3741 ("ipv6: route: dissect flow > in input path if fib rules need it") for details. > > [edumazet] rewrote the changelog completely. > > Fixes: 06635a35d13d ("flow_dissect: use programable dissector in skb_flow_dissect and friends") > Signed-off-by: ¹è¼®Áø > Signed-off-by: Eric Dumazet Applied and queued up for -stable.