Commit a495f836 authored by Chris Elston's avatar Chris Elston Committed by David S. Miller

ipv6: Export ipv6 functions for use by other protocols

For implementing other protocols on top of IPv6, such as L2TPv3's IP
encapsulation over ipv6, we'd like to call some IPv6 functions which
are not currently exported. This patch exports them.
Signed-off-by: default avatarChris Elston <celston@katalix.com>
Signed-off-by: default avatarJames Chapman <jchapman@katalix.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f9bac8df
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <linux/ipv6.h> #include <linux/ipv6.h>
#include <linux/route.h> #include <linux/route.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/export.h>
#include <net/ipv6.h> #include <net/ipv6.h>
#include <net/ndisc.h> #include <net/ndisc.h>
...@@ -202,6 +203,7 @@ int ip6_datagram_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) ...@@ -202,6 +203,7 @@ int ip6_datagram_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
fl6_sock_release(flowlabel); fl6_sock_release(flowlabel);
return err; return err;
} }
EXPORT_SYMBOL_GPL(ip6_datagram_connect);
void ipv6_icmp_error(struct sock *sk, struct sk_buff *skb, int err, void ipv6_icmp_error(struct sock *sk, struct sk_buff *skb, int err,
__be16 port, u32 info, u8 *payload) __be16 port, u32 info, u8 *payload)
...@@ -414,6 +416,7 @@ int ipv6_recv_error(struct sock *sk, struct msghdr *msg, int len) ...@@ -414,6 +416,7 @@ int ipv6_recv_error(struct sock *sk, struct msghdr *msg, int len)
out: out:
return err; return err;
} }
EXPORT_SYMBOL_GPL(ipv6_recv_error);
/* /*
* Handle IPV6_RECVPATHMTU * Handle IPV6_RECVPATHMTU
...@@ -868,3 +871,4 @@ int datagram_send_ctl(struct net *net, struct sock *sk, ...@@ -868,3 +871,4 @@ int datagram_send_ctl(struct net *net, struct sock *sk,
exit_f: exit_f:
return err; return err;
} }
EXPORT_SYMBOL_GPL(datagram_send_ctl);
...@@ -883,6 +883,7 @@ struct ipv6_txoptions *ipv6_fixup_options(struct ipv6_txoptions *opt_space, ...@@ -883,6 +883,7 @@ struct ipv6_txoptions *ipv6_fixup_options(struct ipv6_txoptions *opt_space,
return opt; return opt;
} }
EXPORT_SYMBOL_GPL(ipv6_fixup_options);
/** /**
* fl6_update_dst - update flowi destination address with info given * fl6_update_dst - update flowi destination address with info given
......
...@@ -294,6 +294,7 @@ struct ipv6_txoptions *fl6_merge_options(struct ipv6_txoptions * opt_space, ...@@ -294,6 +294,7 @@ struct ipv6_txoptions *fl6_merge_options(struct ipv6_txoptions * opt_space,
opt_space->opt_flen = fopt->opt_flen; opt_space->opt_flen = fopt->opt_flen;
return opt_space; return opt_space;
} }
EXPORT_SYMBOL_GPL(fl6_merge_options);
static unsigned long check_linger(unsigned long ttl) static unsigned long check_linger(unsigned long ttl)
{ {
......
...@@ -1535,6 +1535,7 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, ...@@ -1535,6 +1535,7 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to,
IP6_INC_STATS(sock_net(sk), rt->rt6i_idev, IPSTATS_MIB_OUTDISCARDS); IP6_INC_STATS(sock_net(sk), rt->rt6i_idev, IPSTATS_MIB_OUTDISCARDS);
return err; return err;
} }
EXPORT_SYMBOL_GPL(ip6_append_data);
static void ip6_cork_release(struct inet_sock *inet, struct ipv6_pinfo *np) static void ip6_cork_release(struct inet_sock *inet, struct ipv6_pinfo *np)
{ {
...@@ -1638,6 +1639,7 @@ int ip6_push_pending_frames(struct sock *sk) ...@@ -1638,6 +1639,7 @@ int ip6_push_pending_frames(struct sock *sk)
IP6_INC_STATS(net, rt->rt6i_idev, IPSTATS_MIB_OUTDISCARDS); IP6_INC_STATS(net, rt->rt6i_idev, IPSTATS_MIB_OUTDISCARDS);
goto out; goto out;
} }
EXPORT_SYMBOL_GPL(ip6_push_pending_frames);
void ip6_flush_pending_frames(struct sock *sk) void ip6_flush_pending_frames(struct sock *sk)
{ {
...@@ -1652,3 +1654,4 @@ void ip6_flush_pending_frames(struct sock *sk) ...@@ -1652,3 +1654,4 @@ void ip6_flush_pending_frames(struct sock *sk)
ip6_cork_release(inet_sk(sk), inet6_sk(sk)); ip6_cork_release(inet_sk(sk), inet6_sk(sk));
} }
EXPORT_SYMBOL_GPL(ip6_flush_pending_frames);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment