diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-15 17:06:58 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-15 17:06:58 -0400 |
| commit | a52cefc80fc92981592c688d1c8067442afe4cec (patch) | |
| tree | ad119b5a4f5e4a257779c0ef324b5c9354c915f1 /include | |
| parent | fba956c46a72f9e7503fd464ffee43c632307e31 (diff) | |
| parent | 4acad72ded8e3f0211bd2a762e23c28229c61a51 (diff) | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)
[IPV6]: Consolidate the ip6_pol_route_(input|output) pair
[TCP]: Make snd_cwnd_cnt 32-bit
[TCP]: Update the /proc/net/tcp documentation
[NETNS]: Don't panic on creating the namespace's loopback
[NEIGH]: Ensure that pneigh_lookup is protected with RTNL
[INET]: kmalloc+memset -> kzalloc in frag_alloc_queue
[ISDN]: Fix compile with CONFIG_ISDN_X25 disabled.
[IPV6]: Replace sk_buff ** with sk_buff * in input handlers
[SELINUX]: Update for netfilter ->hook() arg changes.
[INET]: Consolidate the xxx_put
[INET]: Small cleanup for xxx_put after evictor consolidation
[INET]: Consolidate the xxx_evictor
[INET]: Consolidate the xxx_frag_destroy
[INET]: Consolidate xxx_the secret_rebuild
[INET]: Consolidate the xxx_frag_kill
[INET]: Collect common frag sysctl variables together
[INET]: Collect frag queues management objects together
[INET]: Move common fields from frag_queues in one place.
[TG3]: Fix performance regression on 5705.
[ISDN]: Remove local copy of device name to make sure renames work.
...
Diffstat (limited to 'include')
31 files changed, 144 insertions, 80 deletions
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h index 99e3a1a00099..58e43e566457 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h | |||
| @@ -107,7 +107,7 @@ struct __fdb_entry | |||
| 107 | extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *)); | 107 | extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *)); |
| 108 | extern struct sk_buff *(*br_handle_frame_hook)(struct net_bridge_port *p, | 108 | extern struct sk_buff *(*br_handle_frame_hook)(struct net_bridge_port *p, |
| 109 | struct sk_buff *skb); | 109 | struct sk_buff *skb); |
| 110 | extern int (*br_should_route_hook)(struct sk_buff **pskb); | 110 | extern int (*br_should_route_hook)(struct sk_buff *skb); |
| 111 | 111 | ||
| 112 | #endif | 112 | #endif |
| 113 | 113 | ||
diff --git a/include/linux/isdn.h b/include/linux/isdn.h index ad09506554a3..d5dda4b643ac 100644 --- a/include/linux/isdn.h +++ b/include/linux/isdn.h | |||
| @@ -286,7 +286,6 @@ typedef struct { | |||
| 286 | /* Local interface-data */ | 286 | /* Local interface-data */ |
| 287 | typedef struct isdn_net_local_s { | 287 | typedef struct isdn_net_local_s { |
| 288 | ulong magic; | 288 | ulong magic; |
| 289 | char name[10]; /* Name of device */ | ||
| 290 | struct net_device_stats stats; /* Ethernet Statistics */ | 289 | struct net_device_stats stats; /* Ethernet Statistics */ |
| 291 | int isdn_device; /* Index to isdn-device */ | 290 | int isdn_device; /* Index to isdn-device */ |
| 292 | int isdn_channel; /* Index to isdn-channel */ | 291 | int isdn_channel; /* Index to isdn-channel */ |
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 1dd075eda595..16adac688af5 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h | |||
| @@ -51,7 +51,7 @@ struct sk_buff; | |||
| 51 | struct net_device; | 51 | struct net_device; |
| 52 | 52 | ||
| 53 | typedef unsigned int nf_hookfn(unsigned int hooknum, | 53 | typedef unsigned int nf_hookfn(unsigned int hooknum, |
| 54 | struct sk_buff **skb, | 54 | struct sk_buff *skb, |
| 55 | const struct net_device *in, | 55 | const struct net_device *in, |
| 56 | const struct net_device *out, | 56 | const struct net_device *out, |
| 57 | int (*okfn)(struct sk_buff *)); | 57 | int (*okfn)(struct sk_buff *)); |
| @@ -183,7 +183,7 @@ void nf_log_packet(int pf, | |||
| 183 | struct nf_loginfo *li, | 183 | struct nf_loginfo *li, |
| 184 | const char *fmt, ...); | 184 | const char *fmt, ...); |
| 185 | 185 | ||
| 186 | int nf_hook_slow(int pf, unsigned int hook, struct sk_buff **pskb, | 186 | int nf_hook_slow(int pf, unsigned int hook, struct sk_buff *skb, |
| 187 | struct net_device *indev, struct net_device *outdev, | 187 | struct net_device *indev, struct net_device *outdev, |
| 188 | int (*okfn)(struct sk_buff *), int thresh); | 188 | int (*okfn)(struct sk_buff *), int thresh); |
| 189 | 189 | ||
| @@ -195,7 +195,7 @@ int nf_hook_slow(int pf, unsigned int hook, struct sk_buff **pskb, | |||
| 195 | * value indicates the packet has been consumed by the hook. | 195 | * value indicates the packet has been consumed by the hook. |
| 196 | */ | 196 | */ |
| 197 | static inline int nf_hook_thresh(int pf, unsigned int hook, | 197 | static inline int nf_hook_thresh(int pf, unsigned int hook, |
| 198 | struct sk_buff **pskb, | 198 | struct sk_buff *skb, |
| 199 | struct net_device *indev, | 199 | struct net_device *indev, |
| 200 | struct net_device *outdev, | 200 | struct net_device *outdev, |
| 201 | int (*okfn)(struct sk_buff *), int thresh, | 201 | int (*okfn)(struct sk_buff *), int thresh, |
| @@ -207,14 +207,14 @@ static inline int nf_hook_thresh(int pf, unsigned int hook, | |||
| 207 | if (list_empty(&nf_hooks[pf][hook])) | 207 | if (list_empty(&nf_hooks[pf][hook])) |
| 208 | return 1; | 208 | return 1; |
| 209 | #endif | 209 | #endif |
| 210 | return nf_hook_slow(pf, hook, pskb, indev, outdev, okfn, thresh); | 210 | return nf_hook_slow(pf, hook, skb, indev, outdev, okfn, thresh); |
| 211 | } | 211 | } |
| 212 | 212 | ||
| 213 | static inline int nf_hook(int pf, unsigned int hook, struct sk_buff **pskb, | 213 | static inline int nf_hook(int pf, unsigned int hook, struct sk_buff *skb, |
| 214 | struct net_device *indev, struct net_device *outdev, | 214 | struct net_device *indev, struct net_device *outdev, |
| 215 | int (*okfn)(struct sk_buff *)) | 215 | int (*okfn)(struct sk_buff *)) |
| 216 | { | 216 | { |
| 217 | return nf_hook_thresh(pf, hook, pskb, indev, outdev, okfn, INT_MIN, 1); | 217 | return nf_hook_thresh(pf, hook, skb, indev, outdev, okfn, INT_MIN, 1); |
| 218 | } | 218 | } |
| 219 | 219 | ||
| 220 | /* Activate hook; either okfn or kfree_skb called, unless a hook | 220 | /* Activate hook; either okfn or kfree_skb called, unless a hook |
| @@ -241,13 +241,13 @@ static inline int nf_hook(int pf, unsigned int hook, struct sk_buff **pskb, | |||
| 241 | 241 | ||
| 242 | #define NF_HOOK_THRESH(pf, hook, skb, indev, outdev, okfn, thresh) \ | 242 | #define NF_HOOK_THRESH(pf, hook, skb, indev, outdev, okfn, thresh) \ |
| 243 | ({int __ret; \ | 243 | ({int __ret; \ |
| 244 | if ((__ret=nf_hook_thresh(pf, hook, &(skb), indev, outdev, okfn, thresh, 1)) == 1)\ | 244 | if ((__ret=nf_hook_thresh(pf, hook, (skb), indev, outdev, okfn, thresh, 1)) == 1)\ |
| 245 | __ret = (okfn)(skb); \ | 245 | __ret = (okfn)(skb); \ |
| 246 | __ret;}) | 246 | __ret;}) |
| 247 | 247 | ||
| 248 | #define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) \ | 248 | #define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) \ |
| 249 | ({int __ret; \ | 249 | ({int __ret; \ |
| 250 | if ((__ret=nf_hook_thresh(pf, hook, &(skb), indev, outdev, okfn, INT_MIN, cond)) == 1)\ | 250 | if ((__ret=nf_hook_thresh(pf, hook, (skb), indev, outdev, okfn, INT_MIN, cond)) == 1)\ |
| 251 | __ret = (okfn)(skb); \ | 251 | __ret = (okfn)(skb); \ |
| 252 | __ret;}) | 252 | __ret;}) |
| 253 | 253 | ||
| @@ -287,7 +287,7 @@ extern void nf_invalidate_cache(int pf); | |||
| 287 | /* Call this before modifying an existing packet: ensures it is | 287 | /* Call this before modifying an existing packet: ensures it is |
| 288 | modifiable and linear to the point you care about (writable_len). | 288 | modifiable and linear to the point you care about (writable_len). |
| 289 | Returns true or false. */ | 289 | Returns true or false. */ |
| 290 | extern int skb_make_writable(struct sk_buff **pskb, unsigned int writable_len); | 290 | extern int skb_make_writable(struct sk_buff *skb, unsigned int writable_len); |
| 291 | 291 | ||
| 292 | static inline void nf_csum_replace4(__sum16 *sum, __be32 from, __be32 to) | 292 | static inline void nf_csum_replace4(__sum16 *sum, __be32 from, __be32 to) |
| 293 | { | 293 | { |
| @@ -317,7 +317,7 @@ struct nf_afinfo { | |||
| 317 | unsigned int dataoff, u_int8_t protocol); | 317 | unsigned int dataoff, u_int8_t protocol); |
| 318 | void (*saveroute)(const struct sk_buff *skb, | 318 | void (*saveroute)(const struct sk_buff *skb, |
| 319 | struct nf_info *info); | 319 | struct nf_info *info); |
| 320 | int (*reroute)(struct sk_buff **skb, | 320 | int (*reroute)(struct sk_buff *skb, |
| 321 | const struct nf_info *info); | 321 | const struct nf_info *info); |
| 322 | int route_key_size; | 322 | int route_key_size; |
| 323 | }; | 323 | }; |
| @@ -371,15 +371,15 @@ extern struct proc_dir_entry *proc_net_netfilter; | |||
| 371 | #define NF_HOOK(pf, hook, skb, indev, outdev, okfn) (okfn)(skb) | 371 | #define NF_HOOK(pf, hook, skb, indev, outdev, okfn) (okfn)(skb) |
| 372 | #define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) (okfn)(skb) | 372 | #define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) (okfn)(skb) |
| 373 | static inline int nf_hook_thresh(int pf, unsigned int hook, | 373 | static inline int nf_hook_thresh(int pf, unsigned int hook, |
| 374 | struct sk_buff **pskb, | 374 | struct sk_buff *skb, |
| 375 | struct net_device *indev, | 375 | struct net_device *indev, |
| 376 | struct net_device *outdev, | 376 | struct net_device *outdev, |
| 377 | int (*okfn)(struct sk_buff *), int thresh, | 377 | int (*okfn)(struct sk_buff *), int thresh, |
| 378 | int cond) | 378 | int cond) |
| 379 | { | 379 | { |
| 380 | return okfn(*pskb); | 380 | return okfn(skb); |
| 381 | } | 381 | } |
| 382 | static inline int nf_hook(int pf, unsigned int hook, struct sk_buff **pskb, | 382 | static inline int nf_hook(int pf, unsigned int hook, struct sk_buff *skb, |
| 383 | struct net_device *indev, struct net_device *outdev, | 383 | struct net_device *indev, struct net_device *outdev, |
| 384 | int (*okfn)(struct sk_buff *)) | 384 | int (*okfn)(struct sk_buff *)) |
| 385 | { | 385 | { |
diff --git a/include/linux/netfilter/nf_conntrack_amanda.h b/include/linux/netfilter/nf_conntrack_amanda.h index 26c223544ae8..0bb5a6976bf3 100644 --- a/include/linux/netfilter/nf_conntrack_amanda.h +++ b/include/linux/netfilter/nf_conntrack_amanda.h | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | #define _NF_CONNTRACK_AMANDA_H | 2 | #define _NF_CONNTRACK_AMANDA_H |
| 3 | /* AMANDA tracking. */ | 3 | /* AMANDA tracking. */ |
| 4 | 4 | ||
| 5 | extern unsigned int (*nf_nat_amanda_hook)(struct sk_buff **pskb, | 5 | extern unsigned int (*nf_nat_amanda_hook)(struct sk_buff *skb, |
| 6 | enum ip_conntrack_info ctinfo, | 6 | enum ip_conntrack_info ctinfo, |
| 7 | unsigned int matchoff, | 7 | unsigned int matchoff, |
| 8 | unsigned int matchlen, | 8 | unsigned int matchlen, |
diff --git a/include/linux/netfilter/nf_conntrack_ftp.h b/include/linux/netfilter/nf_conntrack_ftp.h index b7c360ffd0d0..47727d7546ea 100644 --- a/include/linux/netfilter/nf_conntrack_ftp.h +++ b/include/linux/netfilter/nf_conntrack_ftp.h | |||
| @@ -32,7 +32,7 @@ struct nf_conntrack_expect; | |||
| 32 | 32 | ||
| 33 | /* For NAT to hook in when we find a packet which describes what other | 33 | /* For NAT to hook in when we find a packet which describes what other |
| 34 | * connection we should expect. */ | 34 | * connection we should expect. */ |
| 35 | extern unsigned int (*nf_nat_ftp_hook)(struct sk_buff **pskb, | 35 | extern unsigned int (*nf_nat_ftp_hook)(struct sk_buff *skb, |
| 36 | enum ip_conntrack_info ctinfo, | 36 | enum ip_conntrack_info ctinfo, |
| 37 | enum nf_ct_ftp_type type, | 37 | enum nf_ct_ftp_type type, |
| 38 | unsigned int matchoff, | 38 | unsigned int matchoff, |
diff --git a/include/linux/netfilter/nf_conntrack_h323.h b/include/linux/netfilter/nf_conntrack_h323.h index 08e2f4977c2e..aabd24ac7631 100644 --- a/include/linux/netfilter/nf_conntrack_h323.h +++ b/include/linux/netfilter/nf_conntrack_h323.h | |||
| @@ -36,27 +36,27 @@ extern void nf_conntrack_h245_expect(struct nf_conn *new, | |||
| 36 | struct nf_conntrack_expect *this); | 36 | struct nf_conntrack_expect *this); |
| 37 | extern void nf_conntrack_q931_expect(struct nf_conn *new, | 37 | extern void nf_conntrack_q931_expect(struct nf_conn *new, |
| 38 | struct nf_conntrack_expect *this); | 38 | struct nf_conntrack_expect *this); |
| 39 | extern int (*set_h245_addr_hook) (struct sk_buff **pskb, | 39 | extern int (*set_h245_addr_hook) (struct sk_buff *skb, |
| 40 | unsigned char **data, int dataoff, | 40 | unsigned char **data, int dataoff, |
| 41 | H245_TransportAddress *taddr, | 41 | H245_TransportAddress *taddr, |
| 42 | union nf_conntrack_address *addr, | 42 | union nf_conntrack_address *addr, |
| 43 | __be16 port); | 43 | __be16 port); |
| 44 | extern int (*set_h225_addr_hook) (struct sk_buff **pskb, | 44 | extern int (*set_h225_addr_hook) (struct sk_buff *skb, |
| 45 | unsigned char **data, int dataoff, | 45 | unsigned char **data, int dataoff, |
| 46 | TransportAddress *taddr, | 46 | TransportAddress *taddr, |
| 47 | union nf_conntrack_address *addr, | 47 | union nf_conntrack_address *addr, |
| 48 | __be16 port); | 48 | __be16 port); |
| 49 | extern int (*set_sig_addr_hook) (struct sk_buff **pskb, | 49 | extern int (*set_sig_addr_hook) (struct sk_buff *skb, |
| 50 | struct nf_conn *ct, | 50 | struct nf_conn *ct, |
| 51 | enum ip_conntrack_info ctinfo, | 51 | enum ip_conntrack_info ctinfo, |
| 52 | unsigned char **data, | 52 | unsigned char **data, |
| 53 | TransportAddress *taddr, int count); | 53 | TransportAddress *taddr, int count); |
| 54 | extern int (*set_ras_addr_hook) (struct sk_buff **pskb, | 54 | extern int (*set_ras_addr_hook) (struct sk_buff *skb, |
| 55 | struct nf_conn *ct, | 55 | struct nf_conn *ct, |
| 56 | enum ip_conntrack_info ctinfo, | 56 | enum ip_conntrack_info ctinfo, |
| 57 | unsigned char **data, | 57 | unsigned char **data, |
| 58 | TransportAddress *taddr, int count); | 58 | TransportAddress *taddr, int count); |
| 59 | extern int (*nat_rtp_rtcp_hook) (struct sk_buff **pskb, | 59 | extern int (*nat_rtp_rtcp_hook) (struct sk_buff *skb, |
| 60 | struct nf_conn *ct, | 60 | struct nf_conn *ct, |
| 61 | enum ip_conntrack_info ctinfo, | 61 | enum ip_conntrack_info ctinfo, |
| 62 | unsigned char **data, int dataoff, | 62 | unsigned char **data, int dataoff, |
| @@ -64,24 +64,24 @@ extern int (*nat_rtp_rtcp_hook) (struct sk_buff **pskb, | |||
| 64 | __be16 port, __be16 rtp_port, | 64 | __be16 port, __be16 rtp_port, |
| 65 | struct nf_conntrack_expect *rtp_exp, | 65 | struct nf_conntrack_expect *rtp_exp, |
| 66 | struct nf_conntrack_expect *rtcp_exp); | 66 | struct nf_conntrack_expect *rtcp_exp); |
| 67 | extern int (*nat_t120_hook) (struct sk_buff **pskb, struct nf_conn *ct, | 67 | extern int (*nat_t120_hook) (struct sk_buff *skb, struct nf_conn *ct, |
| 68 | enum ip_conntrack_info ctinfo, | 68 | enum ip_conntrack_info ctinfo, |
| 69 | unsigned char **data, int dataoff, | 69 | unsigned char **data, int dataoff, |
| 70 | H245_TransportAddress *taddr, __be16 port, | 70 | H245_TransportAddress *taddr, __be16 port, |
| 71 | struct nf_conntrack_expect *exp); | 71 | struct nf_conntrack_expect *exp); |
| 72 | extern int (*nat_h245_hook) (struct sk_buff **pskb, struct nf_conn *ct, | 72 | extern int (*nat_h245_hook) (struct sk_buff *skb, struct nf_conn *ct, |
| 73 | enum ip_conntrack_info ctinfo, | 73 | enum ip_conntrack_info ctinfo, |
| 74 | unsigned char **data, int dataoff, | 74 | unsigned char **data, int dataoff, |
| 75 | TransportAddress *taddr, __be16 port, | 75 | TransportAddress *taddr, __be16 port, |
| 76 | struct nf_conntrack_expect *exp); | 76 | struct nf_conntrack_expect *exp); |
| 77 | extern int (*nat_callforwarding_hook) (struct sk_buff **pskb, | 77 | extern int (*nat_callforwarding_hook) (struct sk_buff *skb, |
| 78 | struct nf_conn *ct, | 78 | struct nf_conn *ct, |
| 79 | enum ip_conntrack_info ctinfo, | 79 | enum ip_conntrack_info ctinfo, |
| 80 | unsigned char **data, int dataoff, | 80 | unsigned char **data, int dataoff, |
| 81 | TransportAddress *taddr, | 81 | TransportAddress *taddr, |
| 82 | __be16 port, | 82 | __be16 port, |
| 83 | struct nf_conntrack_expect *exp); | 83 | struct nf_conntrack_expect *exp); |
| 84 | extern int (*nat_q931_hook) (struct sk_buff **pskb, struct nf_conn *ct, | 84 | extern int (*nat_q931_hook) (struct sk_buff *skb, struct nf_conn *ct, |
| 85 | enum ip_conntrack_info ctinfo, | 85 | enum ip_conntrack_info ctinfo, |
| 86 | unsigned char **data, TransportAddress *taddr, | 86 | unsigned char **data, TransportAddress *taddr, |
| 87 | int idx, __be16 port, | 87 | int idx, __be16 port, |
diff --git a/include/linux/netfilter/nf_conntrack_irc.h b/include/linux/netfilter/nf_conntrack_irc.h index 2ab6b8255911..36282bf71b63 100644 --- a/include/linux/netfilter/nf_conntrack_irc.h +++ b/include/linux/netfilter/nf_conntrack_irc.h | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | #define IRC_PORT 6667 | 6 | #define IRC_PORT 6667 |
| 7 | 7 | ||
| 8 | extern unsigned int (*nf_nat_irc_hook)(struct sk_buff **pskb, | 8 | extern unsigned int (*nf_nat_irc_hook)(struct sk_buff *skb, |
| 9 | enum ip_conntrack_info ctinfo, | 9 | enum ip_conntrack_info ctinfo, |
| 10 | unsigned int matchoff, | 10 | unsigned int matchoff, |
| 11 | unsigned int matchlen, | 11 | unsigned int matchlen, |
diff --git a/include/linux/netfilter/nf_conntrack_pptp.h b/include/linux/netfilter/nf_conntrack_pptp.h index c93061f33144..23435496d24a 100644 --- a/include/linux/netfilter/nf_conntrack_pptp.h +++ b/include/linux/netfilter/nf_conntrack_pptp.h | |||
| @@ -301,13 +301,13 @@ struct nf_conn; | |||
| 301 | struct nf_conntrack_expect; | 301 | struct nf_conntrack_expect; |
| 302 | 302 | ||
| 303 | extern int | 303 | extern int |
| 304 | (*nf_nat_pptp_hook_outbound)(struct sk_buff **pskb, | 304 | (*nf_nat_pptp_hook_outbound)(struct sk_buff *skb, |
| 305 | struct nf_conn *ct, enum ip_conntrack_info ctinfo, | 305 | struct nf_conn *ct, enum ip_conntrack_info ctinfo, |
| 306 | struct PptpControlHeader *ctlh, | 306 | struct PptpControlHeader *ctlh, |
| 307 | union pptp_ctrl_union *pptpReq); | 307 | union pptp_ctrl_union *pptpReq); |
| 308 | 308 | ||
| 309 | extern int | 309 | extern int |
| 310 | (*nf_nat_pptp_hook_inbound)(struct sk_buff **pskb, | 310 | (*nf_nat_pptp_hook_inbound)(struct sk_buff *skb, |
| 311 | struct nf_conn *ct, enum ip_conntrack_info ctinfo, | 311 | struct nf_conn *ct, enum ip_conntrack_info ctinfo, |
| 312 | struct PptpControlHeader *ctlh, | 312 | struct PptpControlHeader *ctlh, |
| 313 | union pptp_ctrl_union *pptpReq); | 313 | union pptp_ctrl_union *pptpReq); |
diff --git a/include/linux/netfilter/nf_conntrack_sip.h b/include/linux/netfilter/nf_conntrack_sip.h index bb7f2041db74..9fff19779bd5 100644 --- a/include/linux/netfilter/nf_conntrack_sip.h +++ b/include/linux/netfilter/nf_conntrack_sip.h | |||
| @@ -21,11 +21,11 @@ enum sip_header_pos { | |||
| 21 | POS_SDP_HEADER, | 21 | POS_SDP_HEADER, |
| 22 | }; | 22 | }; |
| 23 | 23 | ||
| 24 | extern unsigned int (*nf_nat_sip_hook)(struct sk_buff **pskb, | 24 | extern unsigned int (*nf_nat_sip_hook)(struct sk_buff *skb, |
| 25 | enum ip_conntrack_info ctinfo, | 25 | enum ip_conntrack_info ctinfo, |
| 26 | struct nf_conn *ct, | 26 | struct nf_conn *ct, |
| 27 | const char **dptr); | 27 | const char **dptr); |
| 28 | extern unsigned int (*nf_nat_sdp_hook)(struct sk_buff **pskb, | 28 | extern unsigned int (*nf_nat_sdp_hook)(struct sk_buff *skb, |
| 29 | enum ip_conntrack_info ctinfo, | 29 | enum ip_conntrack_info ctinfo, |
| 30 | struct nf_conntrack_expect *exp, | 30 | struct nf_conntrack_expect *exp, |
| 31 | const char *dptr); | 31 | const char *dptr); |
diff --git a/include/linux/netfilter/nf_conntrack_tftp.h b/include/linux/netfilter/nf_conntrack_tftp.h index 0d79b7ae051f..c78d38fdb050 100644 --- a/include/linux/netfilter/nf_conntrack_tftp.h +++ b/include/linux/netfilter/nf_conntrack_tftp.h | |||
| @@ -13,7 +13,7 @@ struct tftphdr { | |||
| 13 | #define TFTP_OPCODE_ACK 4 | 13 | #define TFTP_OPCODE_ACK 4 |
| 14 | #define TFTP_OPCODE_ERROR 5 | 14 | #define TFTP_OPCODE_ERROR 5 |
| 15 | 15 | ||
| 16 | extern unsigned int (*nf_nat_tftp_hook)(struct sk_buff **pskb, | 16 | extern unsigned int (*nf_nat_tftp_hook)(struct sk_buff *skb, |
| 17 | enum ip_conntrack_info ctinfo, | 17 | enum ip_conntrack_info ctinfo, |
| 18 | struct nf_conntrack_expect *exp); | 18 | struct nf_conntrack_expect *exp); |
| 19 | 19 | ||
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 64f425a855bb..03e6ce979eaa 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h | |||
| @@ -191,7 +191,7 @@ struct xt_target | |||
| 191 | /* Returns verdict. Argument order changed since 2.6.9, as this | 191 | /* Returns verdict. Argument order changed since 2.6.9, as this |
| 192 | must now handle non-linear skbs, using skb_copy_bits and | 192 | must now handle non-linear skbs, using skb_copy_bits and |
| 193 | skb_ip_make_writable. */ | 193 | skb_ip_make_writable. */ |
| 194 | unsigned int (*target)(struct sk_buff **pskb, | 194 | unsigned int (*target)(struct sk_buff *skb, |
| 195 | const struct net_device *in, | 195 | const struct net_device *in, |
| 196 | const struct net_device *out, | 196 | const struct net_device *out, |
| 197 | unsigned int hooknum, | 197 | unsigned int hooknum, |
diff --git a/include/linux/netfilter_arp/arp_tables.h b/include/linux/netfilter_arp/arp_tables.h index 584cd1b18f12..2fc73fa8e37f 100644 --- a/include/linux/netfilter_arp/arp_tables.h +++ b/include/linux/netfilter_arp/arp_tables.h | |||
| @@ -287,7 +287,7 @@ struct arpt_error | |||
| 287 | extern int arpt_register_table(struct arpt_table *table, | 287 | extern int arpt_register_table(struct arpt_table *table, |
| 288 | const struct arpt_replace *repl); | 288 | const struct arpt_replace *repl); |
| 289 | extern void arpt_unregister_table(struct arpt_table *table); | 289 | extern void arpt_unregister_table(struct arpt_table *table); |
| 290 | extern unsigned int arpt_do_table(struct sk_buff **pskb, | 290 | extern unsigned int arpt_do_table(struct sk_buff *skb, |
| 291 | unsigned int hook, | 291 | unsigned int hook, |
| 292 | const struct net_device *in, | 292 | const struct net_device *in, |
| 293 | const struct net_device *out, | 293 | const struct net_device *out, |
diff --git a/include/linux/netfilter_bridge/ebtables.h b/include/linux/netfilter_bridge/ebtables.h index 94e0a7dc0cb2..892f5b7771c7 100644 --- a/include/linux/netfilter_bridge/ebtables.h +++ b/include/linux/netfilter_bridge/ebtables.h | |||
| @@ -237,7 +237,7 @@ struct ebt_target | |||
| 237 | struct list_head list; | 237 | struct list_head list; |
| 238 | const char name[EBT_FUNCTION_MAXNAMELEN]; | 238 | const char name[EBT_FUNCTION_MAXNAMELEN]; |
| 239 | /* returns one of the standard verdicts */ | 239 | /* returns one of the standard verdicts */ |
| 240 | int (*target)(struct sk_buff **pskb, unsigned int hooknr, | 240 | int (*target)(struct sk_buff *skb, unsigned int hooknr, |
| 241 | const struct net_device *in, const struct net_device *out, | 241 | const struct net_device *in, const struct net_device *out, |
| 242 | const void *targetdata, unsigned int datalen); | 242 | const void *targetdata, unsigned int datalen); |
| 243 | /* 0 == let it in */ | 243 | /* 0 == let it in */ |
| @@ -294,7 +294,7 @@ extern int ebt_register_watcher(struct ebt_watcher *watcher); | |||
| 294 | extern void ebt_unregister_watcher(struct ebt_watcher *watcher); | 294 | extern void ebt_unregister_watcher(struct ebt_watcher *watcher); |
| 295 | extern int ebt_register_target(struct ebt_target *target); | 295 | extern int ebt_register_target(struct ebt_target *target); |
| 296 | extern void ebt_unregister_target(struct ebt_target *target); | 296 | extern void ebt_unregister_target(struct ebt_target *target); |
| 297 | extern unsigned int ebt_do_table(unsigned int hook, struct sk_buff **pskb, | 297 | extern unsigned int ebt_do_table(unsigned int hook, struct sk_buff *skb, |
| 298 | const struct net_device *in, const struct net_device *out, | 298 | const struct net_device *in, const struct net_device *out, |
| 299 | struct ebt_table *table); | 299 | struct ebt_table *table); |
| 300 | 300 | ||
diff --git a/include/linux/netfilter_ipv4.h b/include/linux/netfilter_ipv4.h index ceae87a4c891..1a63adf5c4c1 100644 --- a/include/linux/netfilter_ipv4.h +++ b/include/linux/netfilter_ipv4.h | |||
| @@ -75,8 +75,8 @@ enum nf_ip_hook_priorities { | |||
| 75 | #define SO_ORIGINAL_DST 80 | 75 | #define SO_ORIGINAL_DST 80 |
| 76 | 76 | ||
| 77 | #ifdef __KERNEL__ | 77 | #ifdef __KERNEL__ |
| 78 | extern int ip_route_me_harder(struct sk_buff **pskb, unsigned addr_type); | 78 | extern int ip_route_me_harder(struct sk_buff *skb, unsigned addr_type); |
| 79 | extern int ip_xfrm_me_harder(struct sk_buff **pskb); | 79 | extern int ip_xfrm_me_harder(struct sk_buff *skb); |
| 80 | extern __sum16 nf_ip_checksum(struct sk_buff *skb, unsigned int hook, | 80 | extern __sum16 nf_ip_checksum(struct sk_buff *skb, unsigned int hook, |
| 81 | unsigned int dataoff, u_int8_t protocol); | 81 | unsigned int dataoff, u_int8_t protocol); |
| 82 | #endif /*__KERNEL__*/ | 82 | #endif /*__KERNEL__*/ |
diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h index e992cd6b28f5..d79ed69cbc1f 100644 --- a/include/linux/netfilter_ipv4/ip_tables.h +++ b/include/linux/netfilter_ipv4/ip_tables.h | |||
| @@ -337,7 +337,7 @@ struct ipt_error | |||
| 337 | .target.errorname = "ERROR", \ | 337 | .target.errorname = "ERROR", \ |
| 338 | } | 338 | } |
| 339 | 339 | ||
| 340 | extern unsigned int ipt_do_table(struct sk_buff **pskb, | 340 | extern unsigned int ipt_do_table(struct sk_buff *skb, |
| 341 | unsigned int hook, | 341 | unsigned int hook, |
| 342 | const struct net_device *in, | 342 | const struct net_device *in, |
| 343 | const struct net_device *out, | 343 | const struct net_device *out, |
diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h index 9a720f05888f..7dc481ce7cba 100644 --- a/include/linux/netfilter_ipv6/ip6_tables.h +++ b/include/linux/netfilter_ipv6/ip6_tables.h | |||
| @@ -336,7 +336,7 @@ extern void ip6t_init(void) __init; | |||
| 336 | extern int ip6t_register_table(struct xt_table *table, | 336 | extern int ip6t_register_table(struct xt_table *table, |
| 337 | const struct ip6t_replace *repl); | 337 | const struct ip6t_replace *repl); |
| 338 | extern void ip6t_unregister_table(struct xt_table *table); | 338 | extern void ip6t_unregister_table(struct xt_table *table); |
| 339 | extern unsigned int ip6t_do_table(struct sk_buff **pskb, | 339 | extern unsigned int ip6t_do_table(struct sk_buff *skb, |
| 340 | unsigned int hook, | 340 | unsigned int hook, |
| 341 | const struct net_device *in, | 341 | const struct net_device *in, |
| 342 | const struct net_device *out, | 342 | const struct net_device *out, |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 8101e8b0d7ba..f93f22b3d2ff 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -357,6 +357,7 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size, | |||
| 357 | } | 357 | } |
| 358 | 358 | ||
| 359 | extern void kfree_skbmem(struct sk_buff *skb); | 359 | extern void kfree_skbmem(struct sk_buff *skb); |
| 360 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); | ||
| 360 | extern struct sk_buff *skb_clone(struct sk_buff *skb, | 361 | extern struct sk_buff *skb_clone(struct sk_buff *skb, |
| 361 | gfp_t priority); | 362 | gfp_t priority); |
| 362 | extern struct sk_buff *skb_copy(const struct sk_buff *skb, | 363 | extern struct sk_buff *skb_copy(const struct sk_buff *skb, |
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index c5b94c1a5ee2..bac17c59b24e 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
| @@ -315,7 +315,7 @@ struct tcp_sock { | |||
| 315 | */ | 315 | */ |
| 316 | u32 snd_ssthresh; /* Slow start size threshold */ | 316 | u32 snd_ssthresh; /* Slow start size threshold */ |
| 317 | u32 snd_cwnd; /* Sending congestion window */ | 317 | u32 snd_cwnd; /* Sending congestion window */ |
| 318 | u16 snd_cwnd_cnt; /* Linear increase counter */ | 318 | u32 snd_cwnd_cnt; /* Linear increase counter */ |
| 319 | u32 snd_cwnd_clamp; /* Do not allow snd_cwnd to grow above this */ | 319 | u32 snd_cwnd_clamp; /* Do not allow snd_cwnd to grow above this */ |
| 320 | u32 snd_cwnd_used; | 320 | u32 snd_cwnd_used; |
| 321 | u32 snd_cwnd_stamp; | 321 | u32 snd_cwnd_stamp; |
diff --git a/include/net/inet_frag.h b/include/net/inet_frag.h new file mode 100644 index 000000000000..911c2cd02941 --- /dev/null +++ b/include/net/inet_frag.h | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | #ifndef __NET_FRAG_H__ | ||
| 2 | #define __NET_FRAG_H__ | ||
| 3 | |||
| 4 | struct inet_frag_queue { | ||
| 5 | struct hlist_node list; | ||
| 6 | struct list_head lru_list; /* lru list member */ | ||
| 7 | spinlock_t lock; | ||
| 8 | atomic_t refcnt; | ||
| 9 | struct timer_list timer; /* when will this queue expire? */ | ||
| 10 | struct sk_buff *fragments; /* list of received fragments */ | ||
| 11 | ktime_t stamp; | ||
| 12 | int len; /* total length of orig datagram */ | ||
| 13 | int meat; | ||
| 14 | __u8 last_in; /* first/last segment arrived? */ | ||
| 15 | |||
| 16 | #define COMPLETE 4 | ||
| 17 | #define FIRST_IN 2 | ||
| 18 | #define LAST_IN 1 | ||
| 19 | }; | ||
| 20 | |||
| 21 | #define INETFRAGS_HASHSZ 64 | ||
| 22 | |||
| 23 | struct inet_frags_ctl { | ||
| 24 | int high_thresh; | ||
| 25 | int low_thresh; | ||
| 26 | int timeout; | ||
| 27 | int secret_interval; | ||
| 28 | }; | ||
| 29 | |||
| 30 | struct inet_frags { | ||
| 31 | struct list_head lru_list; | ||
| 32 | struct hlist_head hash[INETFRAGS_HASHSZ]; | ||
| 33 | rwlock_t lock; | ||
| 34 | u32 rnd; | ||
| 35 | int nqueues; | ||
| 36 | int qsize; | ||
| 37 | atomic_t mem; | ||
| 38 | struct timer_list secret_timer; | ||
| 39 | struct inet_frags_ctl *ctl; | ||
| 40 | |||
| 41 | unsigned int (*hashfn)(struct inet_frag_queue *); | ||
| 42 | void (*destructor)(struct inet_frag_queue *); | ||
| 43 | void (*skb_free)(struct sk_buff *); | ||
| 44 | }; | ||
| 45 | |||
| 46 | void inet_frags_init(struct inet_frags *); | ||
| 47 | void inet_frags_fini(struct inet_frags *); | ||
| 48 | |||
| 49 | void inet_frag_kill(struct inet_frag_queue *q, struct inet_frags *f); | ||
| 50 | void inet_frag_destroy(struct inet_frag_queue *q, | ||
| 51 | struct inet_frags *f, int *work); | ||
| 52 | int inet_frag_evictor(struct inet_frags *f); | ||
| 53 | |||
| 54 | static inline void inet_frag_put(struct inet_frag_queue *q, struct inet_frags *f) | ||
| 55 | { | ||
| 56 | if (atomic_dec_and_test(&q->refcnt)) | ||
| 57 | inet_frag_destroy(q, f, NULL); | ||
| 58 | } | ||
| 59 | |||
| 60 | #endif | ||
diff --git a/include/net/ip.h b/include/net/ip.h index 3af3ed9d320b..840dd91b513b 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
| @@ -160,6 +160,7 @@ DECLARE_SNMP_STAT(struct ipstats_mib, ip_statistics); | |||
| 160 | #define IP_INC_STATS(field) SNMP_INC_STATS(ip_statistics, field) | 160 | #define IP_INC_STATS(field) SNMP_INC_STATS(ip_statistics, field) |
| 161 | #define IP_INC_STATS_BH(field) SNMP_INC_STATS_BH(ip_statistics, field) | 161 | #define IP_INC_STATS_BH(field) SNMP_INC_STATS_BH(ip_statistics, field) |
| 162 | #define IP_INC_STATS_USER(field) SNMP_INC_STATS_USER(ip_statistics, field) | 162 | #define IP_INC_STATS_USER(field) SNMP_INC_STATS_USER(ip_statistics, field) |
| 163 | #define IP_ADD_STATS_BH(field, val) SNMP_ADD_STATS_BH(ip_statistics, field, val) | ||
| 163 | DECLARE_SNMP_STAT(struct linux_mib, net_statistics); | 164 | DECLARE_SNMP_STAT(struct linux_mib, net_statistics); |
| 164 | #define NET_INC_STATS(field) SNMP_INC_STATS(net_statistics, field) | 165 | #define NET_INC_STATS(field) SNMP_INC_STATS(net_statistics, field) |
| 165 | #define NET_INC_STATS_BH(field) SNMP_INC_STATS_BH(net_statistics, field) | 166 | #define NET_INC_STATS_BH(field) SNMP_INC_STATS_BH(net_statistics, field) |
| @@ -177,10 +178,8 @@ extern int sysctl_ip_default_ttl; | |||
| 177 | extern int sysctl_ip_nonlocal_bind; | 178 | extern int sysctl_ip_nonlocal_bind; |
| 178 | 179 | ||
| 179 | /* From ip_fragment.c */ | 180 | /* From ip_fragment.c */ |
| 180 | extern int sysctl_ipfrag_high_thresh; | 181 | struct inet_frags_ctl; |
| 181 | extern int sysctl_ipfrag_low_thresh; | 182 | extern struct inet_frags_ctl ip4_frags_ctl; |
| 182 | extern int sysctl_ipfrag_time; | ||
| 183 | extern int sysctl_ipfrag_secret_interval; | ||
| 184 | extern int sysctl_ipfrag_max_dist; | 183 | extern int sysctl_ipfrag_max_dist; |
| 185 | 184 | ||
| 186 | /* From inetpeer.c */ | 185 | /* From inetpeer.c */ |
| @@ -332,9 +331,9 @@ enum ip_defrag_users | |||
| 332 | IP_DEFRAG_VS_FWD | 331 | IP_DEFRAG_VS_FWD |
| 333 | }; | 332 | }; |
| 334 | 333 | ||
| 335 | struct sk_buff *ip_defrag(struct sk_buff *skb, u32 user); | 334 | int ip_defrag(struct sk_buff *skb, u32 user); |
| 336 | extern int ip_frag_nqueues; | 335 | int ip_frag_mem(void); |
| 337 | extern atomic_t ip_frag_mem; | 336 | int ip_frag_nqueues(void); |
| 338 | 337 | ||
| 339 | /* | 338 | /* |
| 340 | * Functions provided by ip_forward.c | 339 | * Functions provided by ip_forward.c |
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h index 672564e5a81d..41870564df8e 100644 --- a/include/net/ip_vs.h +++ b/include/net/ip_vs.h | |||
| @@ -464,10 +464,10 @@ struct ip_vs_protocol { | |||
| 464 | unsigned int proto_off, | 464 | unsigned int proto_off, |
| 465 | int inverse); | 465 | int inverse); |
| 466 | 466 | ||
| 467 | int (*snat_handler)(struct sk_buff **pskb, | 467 | int (*snat_handler)(struct sk_buff *skb, |
| 468 | struct ip_vs_protocol *pp, struct ip_vs_conn *cp); | 468 | struct ip_vs_protocol *pp, struct ip_vs_conn *cp); |
| 469 | 469 | ||
| 470 | int (*dnat_handler)(struct sk_buff **pskb, | 470 | int (*dnat_handler)(struct sk_buff *skb, |
| 471 | struct ip_vs_protocol *pp, struct ip_vs_conn *cp); | 471 | struct ip_vs_protocol *pp, struct ip_vs_conn *cp); |
| 472 | 472 | ||
| 473 | int (*csum_check)(struct sk_buff *skb, struct ip_vs_protocol *pp); | 473 | int (*csum_check)(struct sk_buff *skb, struct ip_vs_protocol *pp); |
| @@ -654,11 +654,11 @@ struct ip_vs_app | |||
| 654 | 654 | ||
| 655 | /* output hook: return false if can't linearize. diff set for TCP. */ | 655 | /* output hook: return false if can't linearize. diff set for TCP. */ |
| 656 | int (*pkt_out)(struct ip_vs_app *, struct ip_vs_conn *, | 656 | int (*pkt_out)(struct ip_vs_app *, struct ip_vs_conn *, |
| 657 | struct sk_buff **, int *diff); | 657 | struct sk_buff *, int *diff); |
| 658 | 658 | ||
| 659 | /* input hook: return false if can't linearize. diff set for TCP. */ | 659 | /* input hook: return false if can't linearize. diff set for TCP. */ |
| 660 | int (*pkt_in)(struct ip_vs_app *, struct ip_vs_conn *, | 660 | int (*pkt_in)(struct ip_vs_app *, struct ip_vs_conn *, |
| 661 | struct sk_buff **, int *diff); | 661 | struct sk_buff *, int *diff); |
| 662 | 662 | ||
| 663 | /* ip_vs_app initializer */ | 663 | /* ip_vs_app initializer */ |
| 664 | int (*init_conn)(struct ip_vs_app *, struct ip_vs_conn *); | 664 | int (*init_conn)(struct ip_vs_app *, struct ip_vs_conn *); |
| @@ -832,8 +832,8 @@ register_ip_vs_app_inc(struct ip_vs_app *app, __u16 proto, __u16 port); | |||
| 832 | extern int ip_vs_app_inc_get(struct ip_vs_app *inc); | 832 | extern int ip_vs_app_inc_get(struct ip_vs_app *inc); |
| 833 | extern void ip_vs_app_inc_put(struct ip_vs_app *inc); | 833 | extern void ip_vs_app_inc_put(struct ip_vs_app *inc); |
| 834 | 834 | ||
| 835 | extern int ip_vs_app_pkt_out(struct ip_vs_conn *, struct sk_buff **pskb); | 835 | extern int ip_vs_app_pkt_out(struct ip_vs_conn *, struct sk_buff *skb); |
| 836 | extern int ip_vs_app_pkt_in(struct ip_vs_conn *, struct sk_buff **pskb); | 836 | extern int ip_vs_app_pkt_in(struct ip_vs_conn *, struct sk_buff *skb); |
| 837 | extern int ip_vs_skb_replace(struct sk_buff *skb, gfp_t pri, | 837 | extern int ip_vs_skb_replace(struct sk_buff *skb, gfp_t pri, |
| 838 | char *o_buf, int o_len, char *n_buf, int n_len); | 838 | char *o_buf, int o_len, char *n_buf, int n_len); |
| 839 | extern int ip_vs_app_init(void); | 839 | extern int ip_vs_app_init(void); |
| @@ -984,7 +984,6 @@ static inline char ip_vs_fwd_tag(struct ip_vs_conn *cp) | |||
| 984 | return fwd; | 984 | return fwd; |
| 985 | } | 985 | } |
| 986 | 986 | ||
| 987 | extern int ip_vs_make_skb_writable(struct sk_buff **pskb, int len); | ||
| 988 | extern void ip_vs_nat_icmp(struct sk_buff *skb, struct ip_vs_protocol *pp, | 987 | extern void ip_vs_nat_icmp(struct sk_buff *skb, struct ip_vs_protocol *pp, |
| 989 | struct ip_vs_conn *cp, int dir); | 988 | struct ip_vs_conn *cp, int dir); |
| 990 | 989 | ||
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; |
diff --git a/include/net/netfilter/ipv6/nf_conntrack_ipv6.h b/include/net/netfilter/ipv6/nf_conntrack_ipv6.h index 070d12cb4634..f703533fb4db 100644 --- a/include/net/netfilter/ipv6/nf_conntrack_ipv6.h +++ b/include/net/netfilter/ipv6/nf_conntrack_ipv6.h | |||
| @@ -15,8 +15,7 @@ extern void nf_ct_frag6_output(unsigned int hooknum, struct sk_buff *skb, | |||
| 15 | struct net_device *out, | 15 | struct net_device *out, |
| 16 | int (*okfn)(struct sk_buff *)); | 16 | int (*okfn)(struct sk_buff *)); |
| 17 | 17 | ||
| 18 | extern unsigned int nf_ct_frag6_timeout; | 18 | struct inet_frags_ctl; |
| 19 | extern unsigned int nf_ct_frag6_low_thresh; | 19 | extern struct inet_frags_ctl nf_frags_ctl; |
| 20 | extern unsigned int nf_ct_frag6_high_thresh; | ||
| 21 | 20 | ||
| 22 | #endif /* _NF_CONNTRACK_IPV6_H*/ | 21 | #endif /* _NF_CONNTRACK_IPV6_H*/ |
diff --git a/include/net/netfilter/nf_conntrack_core.h b/include/net/netfilter/nf_conntrack_core.h index 4056f5f08da1..a532e7b5ed6a 100644 --- a/include/net/netfilter/nf_conntrack_core.h +++ b/include/net/netfilter/nf_conntrack_core.h | |||
| @@ -22,7 +22,7 @@ | |||
| 22 | of connection tracking. */ | 22 | of connection tracking. */ |
| 23 | extern unsigned int nf_conntrack_in(int pf, | 23 | extern unsigned int nf_conntrack_in(int pf, |
| 24 | unsigned int hooknum, | 24 | unsigned int hooknum, |
| 25 | struct sk_buff **pskb); | 25 | struct sk_buff *skb); |
| 26 | 26 | ||
| 27 | extern int nf_conntrack_init(void); | 27 | extern int nf_conntrack_init(void); |
| 28 | extern void nf_conntrack_cleanup(void); | 28 | extern void nf_conntrack_cleanup(void); |
| @@ -60,17 +60,17 @@ nf_ct_invert_tuple(struct nf_conntrack_tuple *inverse, | |||
| 60 | extern struct nf_conntrack_tuple_hash * | 60 | extern struct nf_conntrack_tuple_hash * |
| 61 | nf_conntrack_find_get(const struct nf_conntrack_tuple *tuple); | 61 | nf_conntrack_find_get(const struct nf_conntrack_tuple *tuple); |
| 62 | 62 | ||
| 63 | extern int __nf_conntrack_confirm(struct sk_buff **pskb); | 63 | extern int __nf_conntrack_confirm(struct sk_buff *skb); |
| 64 | 64 | ||
| 65 | /* Confirm a connection: returns NF_DROP if packet must be dropped. */ | 65 | /* Confirm a connection: returns NF_DROP if packet must be dropped. */ |
| 66 | static inline int nf_conntrack_confirm(struct sk_buff **pskb) | 66 | static inline int nf_conntrack_confirm(struct sk_buff *skb) |
| 67 | { | 67 | { |
| 68 | struct nf_conn *ct = (struct nf_conn *)(*pskb)->nfct; | 68 | struct nf_conn *ct = (struct nf_conn *)skb->nfct; |
| 69 | int ret = NF_ACCEPT; | 69 | int ret = NF_ACCEPT; |
| 70 | 70 | ||
| 71 | if (ct) { | 71 | if (ct) { |
| 72 | if (!nf_ct_is_confirmed(ct) && !nf_ct_is_dying(ct)) | 72 | if (!nf_ct_is_confirmed(ct) && !nf_ct_is_dying(ct)) |
| 73 | ret = __nf_conntrack_confirm(pskb); | 73 | ret = __nf_conntrack_confirm(skb); |
| 74 | nf_ct_deliver_cached_events(ct); | 74 | nf_ct_deliver_cached_events(ct); |
| 75 | } | 75 | } |
| 76 | return ret; | 76 | return ret; |
diff --git a/include/net/netfilter/nf_conntrack_helper.h b/include/net/netfilter/nf_conntrack_helper.h index 0dcc4c828ce9..d7b2d5483a71 100644 --- a/include/net/netfilter/nf_conntrack_helper.h +++ b/include/net/netfilter/nf_conntrack_helper.h | |||
| @@ -29,7 +29,7 @@ struct nf_conntrack_helper | |||
| 29 | 29 | ||
| 30 | /* Function to call when data passes; return verdict, or -1 to | 30 | /* Function to call when data passes; return verdict, or -1 to |
| 31 | invalidate. */ | 31 | invalidate. */ |
| 32 | int (*help)(struct sk_buff **pskb, | 32 | int (*help)(struct sk_buff *skb, |
| 33 | unsigned int protoff, | 33 | unsigned int protoff, |
| 34 | struct nf_conn *ct, | 34 | struct nf_conn *ct, |
| 35 | enum ip_conntrack_info conntrackinfo); | 35 | enum ip_conntrack_info conntrackinfo); |
diff --git a/include/net/netfilter/nf_nat_core.h b/include/net/netfilter/nf_nat_core.h index c3cd127ba4bb..f29eeb9777e0 100644 --- a/include/net/netfilter/nf_nat_core.h +++ b/include/net/netfilter/nf_nat_core.h | |||
| @@ -10,12 +10,12 @@ | |||
| 10 | extern unsigned int nf_nat_packet(struct nf_conn *ct, | 10 | extern unsigned int nf_nat_packet(struct nf_conn *ct, |
| 11 | enum ip_conntrack_info ctinfo, | 11 | enum ip_conntrack_info ctinfo, |
| 12 | unsigned int hooknum, | 12 | unsigned int hooknum, |
| 13 | struct sk_buff **pskb); | 13 | struct sk_buff *skb); |
| 14 | 14 | ||
| 15 | extern int nf_nat_icmp_reply_translation(struct nf_conn *ct, | 15 | extern int nf_nat_icmp_reply_translation(struct nf_conn *ct, |
| 16 | enum ip_conntrack_info ctinfo, | 16 | enum ip_conntrack_info ctinfo, |
| 17 | unsigned int hooknum, | 17 | unsigned int hooknum, |
| 18 | struct sk_buff **pskb); | 18 | struct sk_buff *skb); |
| 19 | 19 | ||
| 20 | static inline int nf_nat_initialized(struct nf_conn *ct, | 20 | static inline int nf_nat_initialized(struct nf_conn *ct, |
| 21 | enum nf_nat_manip_type manip) | 21 | enum nf_nat_manip_type manip) |
diff --git a/include/net/netfilter/nf_nat_helper.h b/include/net/netfilter/nf_nat_helper.h index ec98ecf95fc8..58dd22687949 100644 --- a/include/net/netfilter/nf_nat_helper.h +++ b/include/net/netfilter/nf_nat_helper.h | |||
| @@ -7,21 +7,21 @@ | |||
| 7 | struct sk_buff; | 7 | struct sk_buff; |
| 8 | 8 | ||
| 9 | /* These return true or false. */ | 9 | /* These return true or false. */ |
| 10 | extern int nf_nat_mangle_tcp_packet(struct sk_buff **skb, | 10 | extern int nf_nat_mangle_tcp_packet(struct sk_buff *skb, |
| 11 | struct nf_conn *ct, | 11 | struct nf_conn *ct, |
| 12 | enum ip_conntrack_info ctinfo, | 12 | enum ip_conntrack_info ctinfo, |
| 13 | unsigned int match_offset, | 13 | unsigned int match_offset, |
| 14 | unsigned int match_len, | 14 | unsigned int match_len, |
| 15 | const char *rep_buffer, | 15 | const char *rep_buffer, |
| 16 | unsigned int rep_len); | 16 | unsigned int rep_len); |
| 17 | extern int nf_nat_mangle_udp_packet(struct sk_buff **skb, | 17 | extern int nf_nat_mangle_udp_packet(struct sk_buff *skb, |
| 18 | struct nf_conn *ct, | 18 | struct nf_conn *ct, |
| 19 | enum ip_conntrack_info ctinfo, | 19 | enum ip_conntrack_info ctinfo, |
| 20 | unsigned int match_offset, | 20 | unsigned int match_offset, |
| 21 | unsigned int match_len, | 21 | unsigned int match_len, |
| 22 | const char *rep_buffer, | 22 | const char *rep_buffer, |
| 23 | unsigned int rep_len); | 23 | unsigned int rep_len); |
| 24 | extern int nf_nat_seq_adjust(struct sk_buff **pskb, | 24 | extern int nf_nat_seq_adjust(struct sk_buff *skb, |
| 25 | struct nf_conn *ct, | 25 | struct nf_conn *ct, |
| 26 | enum ip_conntrack_info ctinfo); | 26 | enum ip_conntrack_info ctinfo); |
| 27 | 27 | ||
diff --git a/include/net/netfilter/nf_nat_protocol.h b/include/net/netfilter/nf_nat_protocol.h index 14c7b2d7263c..04578bfe23e1 100644 --- a/include/net/netfilter/nf_nat_protocol.h +++ b/include/net/netfilter/nf_nat_protocol.h | |||
| @@ -18,7 +18,7 @@ struct nf_nat_protocol | |||
| 18 | 18 | ||
| 19 | /* Translate a packet to the target according to manip type. | 19 | /* Translate a packet to the target according to manip type. |
| 20 | Return true if succeeded. */ | 20 | Return true if succeeded. */ |
| 21 | int (*manip_pkt)(struct sk_buff **pskb, | 21 | int (*manip_pkt)(struct sk_buff *skb, |
| 22 | unsigned int iphdroff, | 22 | unsigned int iphdroff, |
| 23 | const struct nf_conntrack_tuple *tuple, | 23 | const struct nf_conntrack_tuple *tuple, |
| 24 | enum nf_nat_manip_type maniptype); | 24 | enum nf_nat_manip_type maniptype); |
diff --git a/include/net/netfilter/nf_nat_rule.h b/include/net/netfilter/nf_nat_rule.h index f9743187d57f..75d1825031d7 100644 --- a/include/net/netfilter/nf_nat_rule.h +++ b/include/net/netfilter/nf_nat_rule.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | extern int nf_nat_rule_init(void) __init; | 7 | extern int nf_nat_rule_init(void) __init; |
| 8 | extern void nf_nat_rule_cleanup(void); | 8 | extern void nf_nat_rule_cleanup(void); |
| 9 | extern int nf_nat_rule_find(struct sk_buff **pskb, | 9 | extern int nf_nat_rule_find(struct sk_buff *skb, |
| 10 | unsigned int hooknum, | 10 | unsigned int hooknum, |
| 11 | const struct net_device *in, | 11 | const struct net_device *in, |
| 12 | const struct net_device *out, | 12 | const struct net_device *out, |
diff --git a/include/net/protocol.h b/include/net/protocol.h index 105bf12b0c79..1166ffb4b3ec 100644 --- a/include/net/protocol.h +++ b/include/net/protocol.h | |||
| @@ -45,7 +45,7 @@ struct net_protocol { | |||
| 45 | #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) | 45 | #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) |
| 46 | struct inet6_protocol | 46 | struct inet6_protocol |
| 47 | { | 47 | { |
| 48 | int (*handler)(struct sk_buff **skb); | 48 | int (*handler)(struct sk_buff *skb); |
| 49 | 49 | ||
| 50 | void (*err_handler)(struct sk_buff *skb, | 50 | void (*err_handler)(struct sk_buff *skb, |
| 51 | struct inet6_skb_parm *opt, | 51 | struct inet6_skb_parm *opt, |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 77be396ca633..0e844845f3f4 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
| @@ -1051,7 +1051,7 @@ extern int xfrm4_output(struct sk_buff *skb); | |||
| 1051 | extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short family); | 1051 | extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short family); |
| 1052 | extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family); | 1052 | extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family); |
| 1053 | extern int xfrm6_rcv_spi(struct sk_buff *skb, __be32 spi); | 1053 | extern int xfrm6_rcv_spi(struct sk_buff *skb, __be32 spi); |
| 1054 | extern int xfrm6_rcv(struct sk_buff **pskb); | 1054 | extern int xfrm6_rcv(struct sk_buff *skb); |
| 1055 | extern int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr, | 1055 | extern int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr, |
| 1056 | xfrm_address_t *saddr, u8 proto); | 1056 | xfrm_address_t *saddr, u8 proto); |
| 1057 | extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler, unsigned short family); | 1057 | extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler, unsigned short family); |
