summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2015-07-31 15:21:30 -0700
committerDavid S. Miller <davem@davemloft.net>2015-07-31 15:21:30 -0700
commit7576012e61d96a9369c8f98e6373a4de384d3126 (patch)
tree4cf1e6e3ec1d76e730778ec0d8b2a7efbe6b9499 /include
parentd3aa45ce6b94c65b83971257317867db13e5f492 (diff)
parentbf21563acc1de2391d21ac2141c3471aa4815c1a (diff)
Merge branch 'mpls-build-fix'
Roopa Prabhu says: ==================== af_mpls: fix undefined reference to ip6_route_output with CONFIG_IPV6=n This patch series uses ipv6_stub_impl.ipv6_dst_lookup instead of ip6_route_output. Follows the vxlan drivers usage of ipv6_stub_impl.ipv6_dst_lookup. There is no sk in the af_mpls context from where ipv6_stub_impl.ipv6_dst_lookup is used. sk appears to be needed to get the namespace 'net' and is optional otherwise. This patch series changes ipv6_stub_impl.ipv6_dst_lookup to take net argument. sk remains optional. v1 - v2: use IS_BUILTIN v2 - v3: Use new Kconfig option that depends on (IPV6 || IPV6=n) as suggested by Dave. Also uses IS_ERR as suggested by Thomas. v3 - v4: Include missed case of (MPLS_ROUTING=y && IPV6=m) reported by Dave. v4 - v5: Use ipv6_stub_impl.ipv6_dst_lookup as suggested by Hannes v5 - v6: protect against null ipv6_stub by statically declaring a ipv6_dst_lookup NOP func ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/addrconf.h4
-rw-r--r--include/net/ipv6.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/include/net/addrconf.h b/include/net/addrconf.h
index def59d3a34d5..0c3ac5acb85f 100644
--- a/include/net/addrconf.h
+++ b/include/net/addrconf.h
@@ -158,8 +158,8 @@ struct ipv6_stub {
const struct in6_addr *addr);
int (*ipv6_sock_mc_drop)(struct sock *sk, int ifindex,
const struct in6_addr *addr);
- int (*ipv6_dst_lookup)(struct sock *sk, struct dst_entry **dst,
- struct flowi6 *fl6);
+ int (*ipv6_dst_lookup)(struct net *net, struct sock *sk,
+ struct dst_entry **dst, struct flowi6 *fl6);
void (*udpv6_encap_enable)(void);
void (*ndisc_send_na)(struct net_device *dev, struct neighbour *neigh,
const struct in6_addr *daddr,
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 7c79798bcaab..eecdfc92f807 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -813,7 +813,8 @@ static inline struct sk_buff *ip6_finish_skb(struct sock *sk)
&inet6_sk(sk)->cork);
}
-int ip6_dst_lookup(struct sock *sk, struct dst_entry **dst, struct flowi6 *fl6);
+int ip6_dst_lookup(struct net *net, struct sock *sk, struct dst_entry **dst,
+ struct flowi6 *fl6);
struct dst_entry *ip6_dst_lookup_flow(struct sock *sk, struct flowi6 *fl6,
const struct in6_addr *final_dst);
struct dst_entry *ip6_sk_dst_lookup_flow(struct sock *sk, struct flowi6 *fl6,