summaryrefslogtreecommitdiff
path: root/pfinet/linux-src/include
diff options
context:
space:
mode:
Diffstat (limited to 'pfinet/linux-src/include')
-rw-r--r--pfinet/linux-src/include/linux/in6.h1
-rw-r--r--pfinet/linux-src/include/linux/ipv6.h9
-rw-r--r--pfinet/linux-src/include/linux/sysctl.h3
-rw-r--r--pfinet/linux-src/include/net/ipv6.h3
-rw-r--r--pfinet/linux-src/include/net/sock.h3
5 files changed, 17 insertions, 2 deletions
diff --git a/pfinet/linux-src/include/linux/in6.h b/pfinet/linux-src/include/linux/in6.h
index ca5e768b..35e018c7 100644
--- a/pfinet/linux-src/include/linux/in6.h
+++ b/pfinet/linux-src/include/linux/in6.h
@@ -179,6 +179,7 @@ struct in6_flowlabel_req
#define IPV6_MTU_DISCOVER 23
#define IPV6_MTU 24
#define IPV6_RECVERR 25
+#define IPV6_V6ONLY 26
/* IPV6_MTU_DISCOVER values */
#define IPV6_PMTUDISC_DONT 0
diff --git a/pfinet/linux-src/include/linux/ipv6.h b/pfinet/linux-src/include/linux/ipv6.h
index 84564bae..299db1a5 100644
--- a/pfinet/linux-src/include/linux/ipv6.h
+++ b/pfinet/linux-src/include/linux/ipv6.h
@@ -1,6 +1,7 @@
#ifndef _IPV6_H
#define _IPV6_H
+#include <linux/config.h>
#include <linux/in6.h>
#include <asm/byteorder.h>
@@ -118,6 +119,14 @@ struct inet6_skb_parm
__u16 dst1;
};
+#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#define __ipv6_only_sock(sk) (sk->net_pinfo.af_inet6.ipv6only)
+#define ipv6_only_sock(sk) ((sk)->family == PF_INET6 && __ipv6_only_sock(sk))
+#else
+#define __ipv6_only_sock(sk) 0
+#define ipv6_only_sock(sk) 0
+#endif
+
#endif
#endif
diff --git a/pfinet/linux-src/include/linux/sysctl.h b/pfinet/linux-src/include/linux/sysctl.h
index 00bebabe..1067bfbb 100644
--- a/pfinet/linux-src/include/linux/sysctl.h
+++ b/pfinet/linux-src/include/linux/sysctl.h
@@ -276,7 +276,8 @@ enum
enum {
NET_IPV6_CONF=16,
NET_IPV6_NEIGH=17,
- NET_IPV6_ROUTE=18
+ NET_IPV6_ROUTE=18,
+ NET_IPV6_BINDV6ONLY=20,
};
enum {
diff --git a/pfinet/linux-src/include/net/ipv6.h b/pfinet/linux-src/include/net/ipv6.h
index 50e2299f..77520eeb 100644
--- a/pfinet/linux-src/include/net/ipv6.h
+++ b/pfinet/linux-src/include/net/ipv6.h
@@ -86,6 +86,9 @@ struct frag_hdr {
#include <net/sock.h>
+/* sysctls */
+extern int sysctl_ipv6_bindv6only;
+
extern struct ipv6_mib ipv6_statistics;
extern struct icmpv6_mib icmpv6_statistics;
extern struct udp_mib udp_stats_in6;
diff --git a/pfinet/linux-src/include/net/sock.h b/pfinet/linux-src/include/net/sock.h
index 7789ec40..96fdfe8b 100644
--- a/pfinet/linux-src/include/net/sock.h
+++ b/pfinet/linux-src/include/net/sock.h
@@ -170,7 +170,8 @@ struct ipv6_pinfo {
__u8 mc_loop:1,
recverr:1,
sndflow:1,
- pmtudisc:2;
+ pmtudisc:2,
+ ipv6only:1;
struct ipv6_mc_socklist *ipv6_mc_list;
struct ipv6_fl_socklist *ipv6_fl_list;