From patchwork Wed Aug 23 07:58:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Sitnicki X-Patchwork-Id: 804871 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xcfv6118Hz9s9Y for ; Wed, 23 Aug 2017 17:58:42 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753531AbdHWH6i (ORCPT ); Wed, 23 Aug 2017 03:58:38 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:34805 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753420AbdHWH6g (ORCPT ); Wed, 23 Aug 2017 03:58:36 -0400 Received: by mail-wm0-f50.google.com with SMTP id r187so4630143wma.1 for ; Wed, 23 Aug 2017 00:58:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ej3qks7AHWNtj/gTPFD2FiJA+Bv3jeanttastyLgvoA=; b=K0SWq66bqunJ9VYzj925HUlSXjFcb8zXntyMQWO4x8wm0pptXagLrGkbaafMqL6LbZ GUvT9y7pjBggAOIuLqQu17zMVGqOaG69g+6txcqN7Gt9HXtA80qHAaBYHPeuiIz23D+9 P5J0xIrLhY5IJiymk3l1bPQPIG/L/FvL9THJUc39jeIh5E9Xtp7QjPwUvLZHjTJOBz4U 0kn84WS+BbATwIqSlFBVlpiXVUjBsFBgjNyV2L0Q8UPrXZ71iuIVk9aksVI67O1WIO/Y PzKwBepdLBw9H5EDRjmsqkLFNkZHKdFjsFoiFlNrOi9Mdo40aogt+CDl49O65uB9S8Ig 21PQ== X-Gm-Message-State: AHYfb5jKfHykgYCyt3adhGF21VY1AZdm/ghaQXoboiwjxZdmg2SadYeC kf22zA1h+rfOMBurrxreoA== X-Received: by 10.28.146.2 with SMTP id u2mr1302106wmd.76.1503475115527; Wed, 23 Aug 2017 00:58:35 -0700 (PDT) Received: from redhat.com (red-hat-inc.vlan404.asr1.mad1.gblx.net. [64.215.113.190]) by smtp.gmail.com with ESMTPSA id p33sm2864379wrb.58.2017.08.23.00.58.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 23 Aug 2017 00:58:34 -0700 (PDT) From: Jakub Sitnicki To: netdev@vger.kernel.org Cc: "David S. Miller" , Hannes Frederic Sowa , Nikolay Aleksandrov , Tom Herbert Subject: [PATCH net-next v3 1/4] net: Extend struct flowi6 with multipath hash Date: Wed, 23 Aug 2017 09:58:28 +0200 Message-Id: <20170823075831.27031-2-jkbs@redhat.com> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170823075831.27031-1-jkbs@redhat.com> References: <20170823075831.27031-1-jkbs@redhat.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Allow for functions that fill out the IPv6 flow info to also pass a hash computed over the skb contents. The hash value will drive the multipath routing decisions. This is intended for special treatment of ICMPv6 errors, where we would like to make a routing decision based on the flow identifying the offending IPv6 datagram that triggered the error, rather than the flow of the ICMP error itself. Signed-off-by: Jakub Sitnicki --- include/net/flow.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/net/flow.h b/include/net/flow.h index f3dc61b..eb60cee3 100644 --- a/include/net/flow.h +++ b/include/net/flow.h @@ -149,6 +149,7 @@ struct flowi6 { #define fl6_ipsec_spi uli.spi #define fl6_mh_type uli.mht.type #define fl6_gre_key uli.gre_key + __u32 mp_hash; } __attribute__((__aligned__(BITS_PER_LONG/8))); struct flowidn {