diff options
Diffstat (limited to 'include/net/ipv6.h')
-rw-r--r-- | include/net/ipv6.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 31b3f1b45a2b..cc796cbc1b26 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
@@ -120,12 +120,21 @@ extern int sysctl_mld_max_msf; | |||
120 | SNMP_INC_STATS##modifier(statname##_statistics, (field)); \ | 120 | SNMP_INC_STATS##modifier(statname##_statistics, (field)); \ |
121 | }) | 121 | }) |
122 | 122 | ||
123 | #define _DEVADD(statname, modifier, idev, field, val) \ | ||
124 | ({ \ | ||
125 | struct inet6_dev *_idev = (idev); \ | ||
126 | if (likely(_idev != NULL)) \ | ||
127 | SNMP_ADD_STATS##modifier((_idev)->stats.statname, (field), (val)); \ | ||
128 | SNMP_ADD_STATS##modifier(statname##_statistics, (field), (val));\ | ||
129 | }) | ||
130 | |||
123 | /* MIBs */ | 131 | /* MIBs */ |
124 | DECLARE_SNMP_STAT(struct ipstats_mib, ipv6_statistics); | 132 | DECLARE_SNMP_STAT(struct ipstats_mib, ipv6_statistics); |
125 | 133 | ||
126 | #define IP6_INC_STATS(idev,field) _DEVINC(ipv6, , idev, field) | 134 | #define IP6_INC_STATS(idev,field) _DEVINC(ipv6, , idev, field) |
127 | #define IP6_INC_STATS_BH(idev,field) _DEVINC(ipv6, _BH, idev, field) | 135 | #define IP6_INC_STATS_BH(idev,field) _DEVINC(ipv6, _BH, idev, field) |
128 | #define IP6_INC_STATS_USER(idev,field) _DEVINC(ipv6, _USER, idev, field) | 136 | #define IP6_INC_STATS_USER(idev,field) _DEVINC(ipv6, _USER, idev, field) |
137 | #define IP6_ADD_STATS_BH(idev,field,val) _DEVADD(ipv6, _BH, idev, field, val) | ||
129 | 138 | ||
130 | DECLARE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics); | 139 | DECLARE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics); |
131 | DECLARE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg_statistics); | 140 | DECLARE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg_statistics); |
@@ -240,7 +249,7 @@ extern int ip6_ra_control(struct sock *sk, int sel, | |||
240 | void (*destructor)(struct sock *)); | 249 | void (*destructor)(struct sock *)); |
241 | 250 | ||
242 | 251 | ||
243 | extern int ipv6_parse_hopopts(struct sk_buff **skbp); | 252 | extern int ipv6_parse_hopopts(struct sk_buff *skb); |
244 | 253 | ||
245 | extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt); | 254 | extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt); |
246 | extern struct ipv6_txoptions * ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt, | 255 | extern struct ipv6_txoptions * ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt, |
@@ -252,8 +261,8 @@ struct ipv6_txoptions *ipv6_fixup_options(struct ipv6_txoptions *opt_space, | |||
252 | 261 | ||
253 | extern int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb); | 262 | extern int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb); |
254 | 263 | ||
255 | extern int ip6_frag_nqueues; | 264 | int ip6_frag_nqueues(void); |
256 | extern atomic_t ip6_frag_mem; | 265 | int ip6_frag_mem(void); |
257 | 266 | ||
258 | #define IPV6_FRAG_TIMEOUT (60*HZ) /* 60 seconds */ | 267 | #define IPV6_FRAG_TIMEOUT (60*HZ) /* 60 seconds */ |
259 | 268 | ||
@@ -565,10 +574,8 @@ extern int inet6_hash_connect(struct inet_timewait_death_row *death_row, | |||
565 | /* | 574 | /* |
566 | * reassembly.c | 575 | * reassembly.c |
567 | */ | 576 | */ |
568 | extern int sysctl_ip6frag_high_thresh; | 577 | struct inet_frags_ctl; |
569 | extern int sysctl_ip6frag_low_thresh; | 578 | extern struct inet_frags_ctl ip6_frags_ctl; |
570 | extern int sysctl_ip6frag_time; | ||
571 | extern int sysctl_ip6frag_secret_interval; | ||
572 | 579 | ||
573 | extern const struct proto_ops inet6_stream_ops; | 580 | extern const struct proto_ops inet6_stream_ops; |
574 | extern const struct proto_ops inet6_dgram_ops; | 581 | extern const struct proto_ops inet6_dgram_ops; |