aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ipv6.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/ipv6.h')
-rw-r--r--include/net/ipv6.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 8c31d8a0c1fe..e72fb10ce573 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -73,7 +73,6 @@
73#define IPV6_ADDR_SCOPE_MASK 0x00f0U 73#define IPV6_ADDR_SCOPE_MASK 0x00f0U
74 74
75#define IPV6_ADDR_MAPPED 0x1000U 75#define IPV6_ADDR_MAPPED 0x1000U
76#define IPV6_ADDR_RESERVED 0x2000U /* reserved address space */
77 76
78/* 77/*
79 * Addr scopes 78 * Addr scopes
@@ -160,8 +159,7 @@ extern struct ctl_path net_ipv6_ctl_path[];
160#define ICMP6MSGIN_INC_STATS_BH(net, idev, field) \ 159#define ICMP6MSGIN_INC_STATS_BH(net, idev, field) \
161 _DEVINC(net, icmpv6msg, _BH, idev, field) 160 _DEVINC(net, icmpv6msg, _BH, idev, field)
162 161
163struct ip6_ra_chain 162struct ip6_ra_chain {
164{
165 struct ip6_ra_chain *next; 163 struct ip6_ra_chain *next;
166 struct sock *sk; 164 struct sock *sk;
167 int sel; 165 int sel;
@@ -176,8 +174,7 @@ extern rwlock_t ip6_ra_lock;
176 ancillary data and passed to IPv6. 174 ancillary data and passed to IPv6.
177 */ 175 */
178 176
179struct ipv6_txoptions 177struct ipv6_txoptions {
180{
181 /* Length of this structure */ 178 /* Length of this structure */
182 int tot_len; 179 int tot_len;
183 180
@@ -194,8 +191,7 @@ struct ipv6_txoptions
194 /* Option buffer, as read by IPV6_PKTOPTIONS, starts here. */ 191 /* Option buffer, as read by IPV6_PKTOPTIONS, starts here. */
195}; 192};
196 193
197struct ip6_flowlabel 194struct ip6_flowlabel {
198{
199 struct ip6_flowlabel *next; 195 struct ip6_flowlabel *next;
200 __be32 label; 196 __be32 label;
201 atomic_t users; 197 atomic_t users;
@@ -212,8 +208,7 @@ struct ip6_flowlabel
212#define IPV6_FLOWINFO_MASK cpu_to_be32(0x0FFFFFFF) 208#define IPV6_FLOWINFO_MASK cpu_to_be32(0x0FFFFFFF)
213#define IPV6_FLOWLABEL_MASK cpu_to_be32(0x000FFFFF) 209#define IPV6_FLOWLABEL_MASK cpu_to_be32(0x000FFFFF)
214 210
215struct ipv6_fl_socklist 211struct ipv6_fl_socklist {
216{
217 struct ipv6_fl_socklist *next; 212 struct ipv6_fl_socklist *next;
218 struct ip6_flowlabel *fl; 213 struct ip6_flowlabel *fl;
219}; 214};
@@ -250,7 +245,9 @@ extern int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb);
250int ip6_frag_nqueues(struct net *net); 245int ip6_frag_nqueues(struct net *net);
251int ip6_frag_mem(struct net *net); 246int ip6_frag_mem(struct net *net);
252 247
253#define IPV6_FRAG_TIMEOUT (60*HZ) /* 60 seconds */ 248#define IPV6_FRAG_HIGH_THRESH (256 * 1024) /* 262144 */
249#define IPV6_FRAG_LOW_THRESH (192 * 1024) /* 196608 */
250#define IPV6_FRAG_TIMEOUT (60 * HZ) /* 60 seconds */
254 251
255extern int __ipv6_addr_type(const struct in6_addr *addr); 252extern int __ipv6_addr_type(const struct in6_addr *addr);
256static inline int ipv6_addr_type(const struct in6_addr *addr) 253static inline int ipv6_addr_type(const struct in6_addr *addr)
@@ -354,8 +351,19 @@ static inline int ipv6_prefix_equal(const struct in6_addr *a1,
354 351
355struct inet_frag_queue; 352struct inet_frag_queue;
356 353
354enum ip6_defrag_users {
355 IP6_DEFRAG_LOCAL_DELIVER,
356 IP6_DEFRAG_CONNTRACK_IN,
357 __IP6_DEFRAG_CONNTRACK_IN = IP6_DEFRAG_CONNTRACK_IN + USHORT_MAX,
358 IP6_DEFRAG_CONNTRACK_OUT,
359 __IP6_DEFRAG_CONNTRACK_OUT = IP6_DEFRAG_CONNTRACK_OUT + USHORT_MAX,
360 IP6_DEFRAG_CONNTRACK_BRIDGE_IN,
361 __IP6_DEFRAG_CONNTRACK_BRIDGE_IN = IP6_DEFRAG_CONNTRACK_BRIDGE_IN + USHORT_MAX,
362};
363
357struct ip6_create_arg { 364struct ip6_create_arg {
358 __be32 id; 365 __be32 id;
366 u32 user;
359 struct in6_addr *src; 367 struct in6_addr *src;
360 struct in6_addr *dst; 368 struct in6_addr *dst;
361}; 369};