From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f66.google.com ([74.125.83.66]:33569 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751948AbeBUSuH (ORCPT ); Wed, 21 Feb 2018 13:50:07 -0500 Received: by mail-pg0-f66.google.com with SMTP id g12so999870pgs.0 for ; Wed, 21 Feb 2018 10:50:07 -0800 (PST) From: David Ahern To: netdev@vger.kernel.org Cc: idosch@idosch.org, tom@herbertland.com, davem@davemloft.net, roopa@cumulusnetworks.com, nikolay@cumulusnetworks.com, David Ahern Subject: [PATCH net-next 1/7] net/ipv4: Pass net to fib_multipath_hash instead of fib_info Date: Wed, 21 Feb 2018 10:49:48 -0800 Message-Id: <20180221184954.28875-2-dsahern@gmail.com> In-Reply-To: <20180221184954.28875-1-dsahern@gmail.com> References: <20180221184954.28875-1-dsahern@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: fib_multipath_hash only needs net struct to check a sysctl. Make it clear by passing net instead of fib_info. In the need this allows alignment between the ipv4 and ipv6 versions. Signed-off-by: David Ahern --- include/net/ip_fib.h | 2 +- net/ipv4/fib_semantics.c | 2 +- net/ipv4/route.c | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h index f80524396c06..0472bf774a5a 100644 --- a/include/net/ip_fib.h +++ b/include/net/ip_fib.h @@ -370,7 +370,7 @@ int fib_sync_down_addr(struct net_device *dev, __be32 local); int fib_sync_up(struct net_device *dev, unsigned int nh_flags); #ifdef CONFIG_IP_ROUTE_MULTIPATH -int fib_multipath_hash(const struct fib_info *fi, const struct flowi4 *fl4, +int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4, const struct sk_buff *skb); #endif void fib_select_multipath(struct fib_result *res, int hash); diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index cd46d7666598..c78707db6743 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c @@ -1770,7 +1770,7 @@ void fib_select_path(struct net *net, struct fib_result *res, #ifdef CONFIG_IP_ROUTE_MULTIPATH if (res->fi->fib_nhs > 1) { - int h = fib_multipath_hash(res->fi, fl4, skb); + int h = fib_multipath_hash(res->fi->fib_net, fl4, skb); fib_select_multipath(res, h); } diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 5ca7415cd48c..0b5c64cf45c6 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -1782,10 +1782,9 @@ static void ip_multipath_l3_keys(const struct sk_buff *skb, } /* if skb is set it will be used and fl4 can be NULL */ -int fib_multipath_hash(const struct fib_info *fi, const struct flowi4 *fl4, +int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4, const struct sk_buff *skb) { - struct net *net = fi->fib_net; struct flow_keys hash_keys; u32 mhash; @@ -1840,7 +1839,7 @@ static int ip_mkroute_input(struct sk_buff *skb, { #ifdef CONFIG_IP_ROUTE_MULTIPATH if (res->fi && res->fi->fib_nhs > 1) { - int h = fib_multipath_hash(res->fi, NULL, skb); + int h = fib_multipath_hash(res->fi->fib_net, NULL, skb); fib_select_multipath(res, h); } -- 2.11.0