net: ipv6: Move ip6_route_get_saddr to inline
authorDavid Ahern <dsa@cumulusnetworks.com>
Thu, 16 Jun 2016 23:24:24 +0000 (16:24 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 18 Jun 2016 04:25:29 +0000 (21:25 -0700)
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 <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip6_route.h
net/ipv6/route.c

index f55bf3d..d97305d 100644 (file)
@@ -18,6 +18,7 @@ struct route_info {
        __u8                    prefix[0];      /* 0,8 or 16 */
 };
 
+#include <net/addrconf.h>
 #include <net/flow.h>
 #include <net/ip6_fib.h>
 #include <net/sock.h>
@@ -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);
index 9e15167..08b77f4 100644 (file)
@@ -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;