diff options
Diffstat (limited to 'pfinet/linux-src/include')
-rw-r--r-- | pfinet/linux-src/include/linux/in6.h | 1 | ||||
-rw-r--r-- | pfinet/linux-src/include/linux/ipv6.h | 9 | ||||
-rw-r--r-- | pfinet/linux-src/include/linux/sysctl.h | 3 | ||||
-rw-r--r-- | pfinet/linux-src/include/net/ipv6.h | 3 | ||||
-rw-r--r-- | pfinet/linux-src/include/net/sock.h | 3 |
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; |