diff options
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/bluetooth/bluetooth.h | 2 | ||||
-rw-r--r-- | include/net/dst.h | 23 | ||||
-rw-r--r-- | include/net/irda/irttp.h | 6 | ||||
-rw-r--r-- | include/net/neighbour.h | 4 | ||||
-rw-r--r-- | include/net/net_namespace.h | 1 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_extend.h | 1 | ||||
-rw-r--r-- | include/net/sctp/sctp.h | 12 | ||||
-rw-r--r-- | include/net/xfrm.h | 31 |
8 files changed, 60 insertions, 20 deletions
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index 771d17783c18..750648df13f4 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
@@ -170,7 +170,7 @@ static inline int skb_frags_no(struct sk_buff *skb) | |||
170 | int bt_err(__u16 code); | 170 | int bt_err(__u16 code); |
171 | 171 | ||
172 | extern int hci_sock_init(void); | 172 | extern int hci_sock_init(void); |
173 | extern int hci_sock_cleanup(void); | 173 | extern void hci_sock_cleanup(void); |
174 | 174 | ||
175 | extern int bt_sysfs_init(void); | 175 | extern int bt_sysfs_init(void); |
176 | extern void bt_sysfs_cleanup(void); | 176 | extern void bt_sysfs_cleanup(void); |
diff --git a/include/net/dst.h b/include/net/dst.h index e3ac7d0fc4e1..ae13370e8484 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
@@ -52,15 +52,10 @@ struct dst_entry | |||
52 | unsigned short header_len; /* more space at head required */ | 52 | unsigned short header_len; /* more space at head required */ |
53 | unsigned short trailer_len; /* space to reserve at tail */ | 53 | unsigned short trailer_len; /* space to reserve at tail */ |
54 | 54 | ||
55 | u32 metrics[RTAX_MAX]; | ||
56 | struct dst_entry *path; | ||
57 | |||
58 | unsigned long rate_last; /* rate limiting for ICMP */ | ||
59 | unsigned int rate_tokens; | 55 | unsigned int rate_tokens; |
56 | unsigned long rate_last; /* rate limiting for ICMP */ | ||
60 | 57 | ||
61 | #ifdef CONFIG_NET_CLS_ROUTE | 58 | struct dst_entry *path; |
62 | __u32 tclassid; | ||
63 | #endif | ||
64 | 59 | ||
65 | struct neighbour *neighbour; | 60 | struct neighbour *neighbour; |
66 | struct hh_cache *hh; | 61 | struct hh_cache *hh; |
@@ -70,10 +65,20 @@ struct dst_entry | |||
70 | int (*output)(struct sk_buff*); | 65 | int (*output)(struct sk_buff*); |
71 | 66 | ||
72 | struct dst_ops *ops; | 67 | struct dst_ops *ops; |
73 | 68 | ||
74 | unsigned long lastuse; | 69 | u32 metrics[RTAX_MAX]; |
70 | |||
71 | #ifdef CONFIG_NET_CLS_ROUTE | ||
72 | __u32 tclassid; | ||
73 | #endif | ||
74 | |||
75 | /* | ||
76 | * __refcnt wants to be on a different cache line from | ||
77 | * input/output/ops or performance tanks badly | ||
78 | */ | ||
75 | atomic_t __refcnt; /* client references */ | 79 | atomic_t __refcnt; /* client references */ |
76 | int __use; | 80 | int __use; |
81 | unsigned long lastuse; | ||
77 | union { | 82 | union { |
78 | struct dst_entry *next; | 83 | struct dst_entry *next; |
79 | struct rtable *rt_next; | 84 | struct rtable *rt_next; |
diff --git a/include/net/irda/irttp.h b/include/net/irda/irttp.h index 32c385dd9e06..0788c23d2828 100644 --- a/include/net/irda/irttp.h +++ b/include/net/irda/irttp.h | |||
@@ -169,17 +169,17 @@ int irttp_disconnect_request(struct tsap_cb *self, struct sk_buff *skb, | |||
169 | void irttp_flow_request(struct tsap_cb *self, LOCAL_FLOW flow); | 169 | void irttp_flow_request(struct tsap_cb *self, LOCAL_FLOW flow); |
170 | struct tsap_cb *irttp_dup(struct tsap_cb *self, void *instance); | 170 | struct tsap_cb *irttp_dup(struct tsap_cb *self, void *instance); |
171 | 171 | ||
172 | static __inline __u32 irttp_get_saddr(struct tsap_cb *self) | 172 | static inline __u32 irttp_get_saddr(struct tsap_cb *self) |
173 | { | 173 | { |
174 | return irlmp_get_saddr(self->lsap); | 174 | return irlmp_get_saddr(self->lsap); |
175 | } | 175 | } |
176 | 176 | ||
177 | static __inline __u32 irttp_get_daddr(struct tsap_cb *self) | 177 | static inline __u32 irttp_get_daddr(struct tsap_cb *self) |
178 | { | 178 | { |
179 | return irlmp_get_daddr(self->lsap); | 179 | return irlmp_get_daddr(self->lsap); |
180 | } | 180 | } |
181 | 181 | ||
182 | static __inline __u32 irttp_get_max_seg_size(struct tsap_cb *self) | 182 | static inline __u32 irttp_get_max_seg_size(struct tsap_cb *self) |
183 | { | 183 | { |
184 | return self->max_seg_size; | 184 | return self->max_seg_size; |
185 | } | 185 | } |
diff --git a/include/net/neighbour.h b/include/net/neighbour.h index ebbfb509822e..64a5f0120b52 100644 --- a/include/net/neighbour.h +++ b/include/net/neighbour.h | |||
@@ -218,6 +218,10 @@ extern unsigned long neigh_rand_reach_time(unsigned long base); | |||
218 | extern void pneigh_enqueue(struct neigh_table *tbl, struct neigh_parms *p, | 218 | extern void pneigh_enqueue(struct neigh_table *tbl, struct neigh_parms *p, |
219 | struct sk_buff *skb); | 219 | struct sk_buff *skb); |
220 | extern struct pneigh_entry *pneigh_lookup(struct neigh_table *tbl, struct net *net, const void *key, struct net_device *dev, int creat); | 220 | extern struct pneigh_entry *pneigh_lookup(struct neigh_table *tbl, struct net *net, const void *key, struct net_device *dev, int creat); |
221 | extern struct pneigh_entry *__pneigh_lookup(struct neigh_table *tbl, | ||
222 | struct net *net, | ||
223 | const void *key, | ||
224 | struct net_device *dev); | ||
221 | extern int pneigh_delete(struct neigh_table *tbl, struct net *net, const void *key, struct net_device *dev); | 225 | extern int pneigh_delete(struct neigh_table *tbl, struct net *net, const void *key, struct net_device *dev); |
222 | 226 | ||
223 | extern void neigh_app_ns(struct neighbour *n); | 227 | extern void neigh_app_ns(struct neighbour *n); |
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 28738b7d53eb..923f2b8b9096 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h | |||
@@ -31,7 +31,6 @@ struct net { | |||
31 | 31 | ||
32 | struct proc_dir_entry *proc_net; | 32 | struct proc_dir_entry *proc_net; |
33 | struct proc_dir_entry *proc_net_stat; | 33 | struct proc_dir_entry *proc_net_stat; |
34 | struct proc_dir_entry *proc_net_root; | ||
35 | 34 | ||
36 | struct list_head sysctl_table_headers; | 35 | struct list_head sysctl_table_headers; |
37 | 36 | ||
diff --git a/include/net/netfilter/nf_conntrack_extend.h b/include/net/netfilter/nf_conntrack_extend.h index 49aac6323fbe..f736e842977f 100644 --- a/include/net/netfilter/nf_conntrack_extend.h +++ b/include/net/netfilter/nf_conntrack_extend.h | |||
@@ -17,7 +17,6 @@ enum nf_ct_ext_id | |||
17 | struct nf_ct_ext { | 17 | struct nf_ct_ext { |
18 | u8 offset[NF_CT_EXT_NUM]; | 18 | u8 offset[NF_CT_EXT_NUM]; |
19 | u8 len; | 19 | u8 len; |
20 | u8 real_len; | ||
21 | char data[0]; | 20 | char data[0]; |
22 | }; | 21 | }; |
23 | 22 | ||
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 57df27f19588..ea806732b084 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
@@ -380,15 +380,19 @@ static inline int sctp_sysctl_jiffies_ms(ctl_table *table, int __user *name, int | |||
380 | 380 | ||
381 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | 381 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) |
382 | 382 | ||
383 | int sctp_v6_init(void); | 383 | void sctp_v6_pf_init(void); |
384 | void sctp_v6_exit(void); | 384 | void sctp_v6_pf_exit(void); |
385 | int sctp_v6_protosw_init(void); | ||
386 | void sctp_v6_protosw_exit(void); | ||
385 | int sctp_v6_add_protocol(void); | 387 | int sctp_v6_add_protocol(void); |
386 | void sctp_v6_del_protocol(void); | 388 | void sctp_v6_del_protocol(void); |
387 | 389 | ||
388 | #else /* #ifdef defined(CONFIG_IPV6) */ | 390 | #else /* #ifdef defined(CONFIG_IPV6) */ |
389 | 391 | ||
390 | static inline int sctp_v6_init(void) { return 0; } | 392 | static inline void sctp_v6_pf_init(void) { return; } |
391 | static inline void sctp_v6_exit(void) { return; } | 393 | static inline void sctp_v6_pf_exit(void) { return; } |
394 | static inline int sctp_v6_protosw_init(void) { return 0; } | ||
395 | static inline void sctp_v6_protosw_exit(void) { return; } | ||
392 | static inline int sctp_v6_add_protocol(void) { return 0; } | 396 | static inline int sctp_v6_add_protocol(void) { return 0; } |
393 | static inline void sctp_v6_del_protocol(void) { return; } | 397 | static inline void sctp_v6_del_protocol(void) { return; } |
394 | 398 | ||
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index eea7785cc757..0d255ae008b6 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
@@ -204,6 +204,7 @@ struct xfrm_state | |||
204 | * transformer. */ | 204 | * transformer. */ |
205 | const struct xfrm_type *type; | 205 | const struct xfrm_type *type; |
206 | struct xfrm_mode *inner_mode; | 206 | struct xfrm_mode *inner_mode; |
207 | struct xfrm_mode *inner_mode_iaf; | ||
207 | struct xfrm_mode *outer_mode; | 208 | struct xfrm_mode *outer_mode; |
208 | 209 | ||
209 | /* Security context */ | 210 | /* Security context */ |
@@ -277,7 +278,7 @@ extern int __xfrm_state_delete(struct xfrm_state *x); | |||
277 | struct xfrm_state_afinfo { | 278 | struct xfrm_state_afinfo { |
278 | unsigned int family; | 279 | unsigned int family; |
279 | unsigned int proto; | 280 | unsigned int proto; |
280 | unsigned int eth_proto; | 281 | __be16 eth_proto; |
281 | struct module *owner; | 282 | struct module *owner; |
282 | const struct xfrm_type *type_map[IPPROTO_MAX]; | 283 | const struct xfrm_type *type_map[IPPROTO_MAX]; |
283 | struct xfrm_mode *mode_map[XFRM_MODE_MAX]; | 284 | struct xfrm_mode *mode_map[XFRM_MODE_MAX]; |
@@ -387,6 +388,27 @@ enum { | |||
387 | extern int xfrm_register_mode(struct xfrm_mode *mode, int family); | 388 | extern int xfrm_register_mode(struct xfrm_mode *mode, int family); |
388 | extern int xfrm_unregister_mode(struct xfrm_mode *mode, int family); | 389 | extern int xfrm_unregister_mode(struct xfrm_mode *mode, int family); |
389 | 390 | ||
391 | static inline int xfrm_af2proto(unsigned int family) | ||
392 | { | ||
393 | switch(family) { | ||
394 | case AF_INET: | ||
395 | return IPPROTO_IPIP; | ||
396 | case AF_INET6: | ||
397 | return IPPROTO_IPV6; | ||
398 | default: | ||
399 | return 0; | ||
400 | } | ||
401 | } | ||
402 | |||
403 | static inline struct xfrm_mode *xfrm_ip2inner_mode(struct xfrm_state *x, int ipproto) | ||
404 | { | ||
405 | if ((ipproto == IPPROTO_IPIP && x->props.family == AF_INET) || | ||
406 | (ipproto == IPPROTO_IPV6 && x->props.family == AF_INET6)) | ||
407 | return x->inner_mode; | ||
408 | else | ||
409 | return x->inner_mode_iaf; | ||
410 | } | ||
411 | |||
390 | struct xfrm_tmpl | 412 | struct xfrm_tmpl |
391 | { | 413 | { |
392 | /* id in template is interpreted as: | 414 | /* id in template is interpreted as: |
@@ -530,6 +552,9 @@ struct xfrm_mode_skb_cb { | |||
530 | __be16 id; | 552 | __be16 id; |
531 | __be16 frag_off; | 553 | __be16 frag_off; |
532 | 554 | ||
555 | /* IP header length (excluding options or extension headers). */ | ||
556 | u8 ihl; | ||
557 | |||
533 | /* TOS for IPv4, class for IPv6. */ | 558 | /* TOS for IPv4, class for IPv6. */ |
534 | u8 tos; | 559 | u8 tos; |
535 | 560 | ||
@@ -539,6 +564,9 @@ struct xfrm_mode_skb_cb { | |||
539 | /* Protocol for IPv4, NH for IPv6. */ | 564 | /* Protocol for IPv4, NH for IPv6. */ |
540 | u8 protocol; | 565 | u8 protocol; |
541 | 566 | ||
567 | /* Option length for IPv4, zero for IPv6. */ | ||
568 | u8 optlen; | ||
569 | |||
542 | /* Used by IPv6 only, zero for IPv4. */ | 570 | /* Used by IPv6 only, zero for IPv4. */ |
543 | u8 flow_lbl[3]; | 571 | u8 flow_lbl[3]; |
544 | }; | 572 | }; |
@@ -1253,6 +1281,7 @@ extern int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, | |||
1253 | extern int xfrm_input_resume(struct sk_buff *skb, int nexthdr); | 1281 | extern int xfrm_input_resume(struct sk_buff *skb, int nexthdr); |
1254 | extern int xfrm_output_resume(struct sk_buff *skb, int err); | 1282 | extern int xfrm_output_resume(struct sk_buff *skb, int err); |
1255 | extern int xfrm_output(struct sk_buff *skb); | 1283 | extern int xfrm_output(struct sk_buff *skb); |
1284 | extern int xfrm_inner_extract_output(struct xfrm_state *x, struct sk_buff *skb); | ||
1256 | extern int xfrm4_extract_header(struct sk_buff *skb); | 1285 | extern int xfrm4_extract_header(struct sk_buff *skb); |
1257 | extern int xfrm4_extract_input(struct xfrm_state *x, struct sk_buff *skb); | 1286 | extern int xfrm4_extract_input(struct xfrm_state *x, struct sk_buff *skb); |
1258 | extern int xfrm4_rcv_encap(struct sk_buff *skb, int nexthdr, __be32 spi, | 1287 | extern int xfrm4_rcv_encap(struct sk_buff *skb, int nexthdr, __be32 spi, |