Thread (8 messages) 8 messages, 3 authors, 2016-01-28

Re: [PATCH net 1/2] ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail()

From: Hannes Frederic Sowa <hidden>
Date: 2016-01-27 18:38:51

On 27.01.2016 14:45, Paolo Abeni wrote:
quoted hunk ↗ jump to hunk
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 3c8834b..973cb73 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1183,11 +1183,10 @@ static struct rt6_info *ip6_pol_route_output(struct net *net, struct fib6_table
  	return ip6_pol_route(net, table, fl6->flowi6_oif, fl6, flags);
  }

-struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,
-				    struct flowi6 *fl6)
+struct dst_entry *ip6_route_output_flags(struct net *net, const struct sock *sk,
+					 struct flowi6 *fl6, int flags)
  {
  	struct dst_entry *dst;
-	int flags = 0;
  	bool any_src;

  	dst = l3mdev_rt6_dst_by_oif(net, fl6);
@@ -1208,6 +1207,13 @@ struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,

  	return fib6_rule_lookup(net, fl6, flags, ip6_pol_route_output);
  }
+EXPORT_SYMBOL_GPL(ip6_route_output_flags);
+
+struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,
+				   struct flowi6 *fl6)
+{
+	return ip6_route_output_flags(net, sk, fl6, 0);
+}
  EXPORT_SYMBOL(ip6_route_output);
I think this can just be a static inline function.

Is it a lot of work to introduce the flags argument globally? Most other 
functions already have a flags parameter, maybe instead of just adding 
another wrapper just bite the bullet and add it everywhere?

Thanks,
Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help