From patchwork Thu Jun 16 23:24:24 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 636716 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rVzxV72Y4z9t17 for ; Fri, 17 Jun 2016 09:24:46 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b=VCgNEwPR; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753967AbcFPXYg (ORCPT ); Thu, 16 Jun 2016 19:24:36 -0400 Received: from mail-pa0-f51.google.com ([209.85.220.51]:34451 "EHLO mail-pa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752063AbcFPXYf (ORCPT ); Thu, 16 Jun 2016 19:24:35 -0400 Received: by mail-pa0-f51.google.com with SMTP id bz2so22338773pad.1 for ; Thu, 16 Jun 2016 16:24:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=NpxLBohtVJCd9tFF7QjO2ub1J57UBTXJ+AGNv1tDw3I=; b=VCgNEwPRoO6u/5lJameOhEwrnBh1itinJTH7225+1hU7CjHAI/wffkNq7rWuqrfey2 Ynp6TxkVc2yCZ726L/Kew69S/13vKV1PdwPTEPlsCDKvLTI5vzgAQgVYRPnKmbJvH4Dq zmmZv56PZGoGPcgKlvfoMpt4oSQOEW5V7BxLU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=NpxLBohtVJCd9tFF7QjO2ub1J57UBTXJ+AGNv1tDw3I=; b=h4GRGYJnZnXBSYzt0fLUg6xgOmDFhkuCAjjleBxvHfMvdhrBko6nXZpGHhnfr7t88U SNG2Bvtpq3lFABcSdHjKMMzbDreo0/wlnotu57kmGO00KjlQfOhfjdpOjmm8YxFVmakU TijVhbBiCfkI4rTk2RZED5lQlLOUbx6JQ6QatGLO8U+eS+pIR2QpTwrYERhg5T0xloCh i71yBZHJpP9KzvtH9H0Ov8sdhDGjKscCicfkIQ2l3Lj+M3tsGuv1MQe5cdwiCstzPgFM 6EVtjDEODjarw9ZKAXMIGiTv0ZSFCS8Do6NX5rRhjwikCxaOVFIIaPlDCgpTVGPUnf4D 6V6g== X-Gm-Message-State: ALyK8tLHP+ivwATyfkJWTJy/IgJXwiM6qy6+etCe8fITPW+9fFskI4aJveFN/Fy9KC+yv8MP X-Received: by 10.66.178.49 with SMTP id cv17mr7996616pac.157.1466119473763; Thu, 16 Jun 2016 16:24:33 -0700 (PDT) Received: from kenny.cumulusnetworks.com. ([216.129.126.126]) by smtp.googlemail.com with ESMTPSA id um1sm25303145pac.41.2016.06.16.16.24.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 16 Jun 2016 16:24:33 -0700 (PDT) From: David Ahern To: netdev@vger.kernel.org Cc: David Ahern Subject: [PATCH net-next 1/3] net: ipv6: Move ip6_route_get_saddr to inline Date: Thu, 16 Jun 2016 16:24:24 -0700 Message-Id: <1466119466-3144-2-git-send-email-dsa@cumulusnetworks.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1466119466-3144-1-git-send-email-dsa@cumulusnetworks.com> References: <1466119466-3144-1-git-send-email-dsa@cumulusnetworks.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org VRF driver needs access to ip6_route_get_saddr code. Since it does little beyond ipv6_dev_get_saddr and ipv6_dev_get_saddr is already exported for modules move ip6_route_get_saddr to the header as an inline. Code move only; no functional change. Signed-off-by: David Ahern --- include/net/ip6_route.h | 21 ++++++++++++++++++--- net/ipv6/route.c | 17 ----------------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index f55bf3d294aa..d97305d0e71f 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -18,6 +18,7 @@ struct route_info { __u8 prefix[0]; /* 0,8 or 16 */ }; +#include #include #include #include @@ -88,9 +89,23 @@ int ip6_route_add(struct fib6_config *cfg); int ip6_ins_rt(struct rt6_info *); int ip6_del_rt(struct rt6_info *); -int ip6_route_get_saddr(struct net *net, struct rt6_info *rt, - const struct in6_addr *daddr, unsigned int prefs, - struct in6_addr *saddr); +static inline int ip6_route_get_saddr(struct net *net, struct rt6_info *rt, + const struct in6_addr *daddr, + unsigned int prefs, + struct in6_addr *saddr) +{ + struct inet6_dev *idev = + rt ? ip6_dst_idev((struct dst_entry *)rt) : NULL; + int err = 0; + + if (rt && rt->rt6i_prefsrc.plen) + *saddr = rt->rt6i_prefsrc.addr; + else + err = ipv6_dev_get_saddr(net, idev ? idev->dev : NULL, + daddr, prefs, saddr); + + return err; +} struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr, const struct in6_addr *saddr, int oif, int flags); diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 9e1516785dac..08b77f421268 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -2586,23 +2586,6 @@ struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, return rt; } -int ip6_route_get_saddr(struct net *net, - struct rt6_info *rt, - const struct in6_addr *daddr, - unsigned int prefs, - struct in6_addr *saddr) -{ - struct inet6_dev *idev = - rt ? ip6_dst_idev((struct dst_entry *)rt) : NULL; - int err = 0; - if (rt && rt->rt6i_prefsrc.plen) - *saddr = rt->rt6i_prefsrc.addr; - else - err = ipv6_dev_get_saddr(net, idev ? idev->dev : NULL, - daddr, prefs, saddr); - return err; -} - /* remove deleted ip from prefsrc entries */ struct arg_dev_net_ip { struct net_device *dev;