]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/net/addrconf.h
vxlan: add ipv6 proxy support
[karo-tx-linux.git] / include / net / addrconf.h
index 43fa31a610b81e9d7ae8677d58d34b431cd47576..fb314de2b61ba228059b1f09cb916d7d275a6a9b 100644 (file)
@@ -141,6 +141,26 @@ bool ipv6_chk_mcast_addr(struct net_device *dev, const struct in6_addr *group,
                         const struct in6_addr *src_addr);
 
 void ipv6_mc_dad_complete(struct inet6_dev *idev);
+
+/* A stub used by vxlan module. This is ugly, ideally these
+ * symbols should be built into the core kernel.
+ */
+struct ipv6_stub {
+       int (*ipv6_sock_mc_join)(struct sock *sk, int ifindex,
+                                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);
+       void (*udpv6_encap_enable)(void);
+       void (*ndisc_send_na)(struct net_device *dev, struct neighbour *neigh,
+                             const struct in6_addr *daddr,
+                             const struct in6_addr *solicited_addr,
+                             bool router, bool solicited, bool override, bool inc_opt);
+       struct neigh_table *nd_tbl;
+};
+extern const struct ipv6_stub *ipv6_stub __read_mostly;
+
 /*
  * identify MLD packets for MLD filter exceptions
  */