|
@@ -205,6 +205,16 @@ out:
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(ip6_datagram_connect);
|
|
|
|
|
|
+int ip6_datagram_connect_v6_only(struct sock *sk, struct sockaddr *uaddr,
|
|
|
+ int addr_len)
|
|
|
+{
|
|
|
+ DECLARE_SOCKADDR(struct sockaddr_in6 *, sin6, uaddr);
|
|
|
+ if (sin6->sin6_family != AF_INET6)
|
|
|
+ return -EAFNOSUPPORT;
|
|
|
+ return ip6_datagram_connect(sk, uaddr, addr_len);
|
|
|
+}
|
|
|
+EXPORT_SYMBOL_GPL(ip6_datagram_connect_v6_only);
|
|
|
+
|
|
|
void ipv6_icmp_error(struct sock *sk, struct sk_buff *skb, int err,
|
|
|
__be16 port, u32 info, u8 *payload)
|
|
|
{
|