diff options
54 files changed, 208 insertions, 162 deletions
diff --git a/include/linux/if_ether.h b/include/linux/if_ether.h index b5b58e9c054c..fc2d4c8225aa 100644 --- a/include/linux/if_ether.h +++ b/include/linux/if_ether.h | |||
@@ -110,6 +110,8 @@ static inline struct ethhdr *eth_hdr(const struct sk_buff *skb) | |||
110 | { | 110 | { |
111 | return (struct ethhdr *)skb->mac.raw; | 111 | return (struct ethhdr *)skb->mac.raw; |
112 | } | 112 | } |
113 | |||
114 | extern struct ctl_table ether_table[]; | ||
113 | #endif | 115 | #endif |
114 | 116 | ||
115 | #endif /* _LINUX_IF_ETHER_H */ | 117 | #endif /* _LINUX_IF_ETHER_H */ |
diff --git a/include/linux/if_frad.h b/include/linux/if_frad.h index 3c94b1736570..511999c7eeda 100644 --- a/include/linux/if_frad.h +++ b/include/linux/if_frad.h | |||
@@ -191,10 +191,12 @@ struct frad_local | |||
191 | int buffer; /* current buffer for S508 firmware */ | 191 | int buffer; /* current buffer for S508 firmware */ |
192 | }; | 192 | }; |
193 | 193 | ||
194 | extern void dlci_ioctl_set(int (*hook)(unsigned int, void __user *)); | ||
195 | |||
196 | #endif /* __KERNEL__ */ | 194 | #endif /* __KERNEL__ */ |
197 | 195 | ||
198 | #endif /* CONFIG_DLCI || CONFIG_DLCI_MODULE */ | 196 | #endif /* CONFIG_DLCI || CONFIG_DLCI_MODULE */ |
199 | 197 | ||
198 | #ifdef __KERNEL__ | ||
199 | extern void dlci_ioctl_set(int (*hook)(unsigned int, void __user *)); | ||
200 | #endif | ||
201 | |||
200 | #endif | 202 | #endif |
diff --git a/include/linux/if_tr.h b/include/linux/if_tr.h index 3fba9e2f5427..5502f597cf0e 100644 --- a/include/linux/if_tr.h +++ b/include/linux/if_tr.h | |||
@@ -43,12 +43,16 @@ struct trh_hdr { | |||
43 | }; | 43 | }; |
44 | 44 | ||
45 | #ifdef __KERNEL__ | 45 | #ifdef __KERNEL__ |
46 | #include <linux/config.h> | ||
46 | #include <linux/skbuff.h> | 47 | #include <linux/skbuff.h> |
47 | 48 | ||
48 | static inline struct trh_hdr *tr_hdr(const struct sk_buff *skb) | 49 | static inline struct trh_hdr *tr_hdr(const struct sk_buff *skb) |
49 | { | 50 | { |
50 | return (struct trh_hdr *)skb->mac.raw; | 51 | return (struct trh_hdr *)skb->mac.raw; |
51 | } | 52 | } |
53 | #ifdef CONFIG_SYSCTL | ||
54 | extern struct ctl_table tr_table[]; | ||
55 | #endif | ||
52 | #endif | 56 | #endif |
53 | 57 | ||
54 | /* This is an Token-Ring LLC structure */ | 58 | /* This is an Token-Ring LLC structure */ |
diff --git a/include/linux/igmp.h b/include/linux/igmp.h index 0c31ef0b5bad..28f4f3b36950 100644 --- a/include/linux/igmp.h +++ b/include/linux/igmp.h | |||
@@ -129,6 +129,9 @@ struct igmpv3_query { | |||
129 | #include <linux/skbuff.h> | 129 | #include <linux/skbuff.h> |
130 | #include <linux/in.h> | 130 | #include <linux/in.h> |
131 | 131 | ||
132 | extern int sysctl_igmp_max_memberships; | ||
133 | extern int sysctl_igmp_max_msf; | ||
134 | |||
132 | struct ip_sf_socklist | 135 | struct ip_sf_socklist |
133 | { | 136 | { |
134 | unsigned int sl_max; | 137 | unsigned int sl_max; |
diff --git a/include/linux/net.h b/include/linux/net.h index 5f8b632ff653..4e981585a89a 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
@@ -286,5 +286,12 @@ static struct proto_ops name##_ops = { \ | |||
286 | #define MODULE_ALIAS_NET_PF_PROTO(pf, proto) \ | 286 | #define MODULE_ALIAS_NET_PF_PROTO(pf, proto) \ |
287 | MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto)) | 287 | MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto)) |
288 | 288 | ||
289 | #ifdef CONFIG_SYSCTL | ||
290 | #include <linux/sysctl.h> | ||
291 | extern ctl_table net_table[]; | ||
292 | extern int net_msg_cost; | ||
293 | extern int net_msg_burst; | ||
294 | #endif | ||
295 | |||
289 | #endif /* __KERNEL__ */ | 296 | #endif /* __KERNEL__ */ |
290 | #endif /* _LINUX_NET_H */ | 297 | #endif /* _LINUX_NET_H */ |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index d8e52edfd526..1fcaa88b8625 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -244,6 +244,7 @@ struct netdev_boot_setup { | |||
244 | }; | 244 | }; |
245 | #define NETDEV_BOOT_SETUP_MAX 8 | 245 | #define NETDEV_BOOT_SETUP_MAX 8 |
246 | 246 | ||
247 | extern int __init netdev_boot_setup(char *str); | ||
247 | 248 | ||
248 | /* | 249 | /* |
249 | * The DEVICE structure. | 250 | * The DEVICE structure. |
@@ -673,6 +674,7 @@ extern void dev_queue_xmit_nit(struct sk_buff *skb, struct net_device *dev); | |||
673 | extern void dev_init(void); | 674 | extern void dev_init(void); |
674 | 675 | ||
675 | extern int netdev_nit; | 676 | extern int netdev_nit; |
677 | extern int netdev_budget; | ||
676 | 678 | ||
677 | /* Called by rtnetlink.c:rtnl_unlock() */ | 679 | /* Called by rtnetlink.c:rtnl_unlock() */ |
678 | extern void netdev_run_todo(void); | 680 | extern void netdev_run_todo(void); |
@@ -908,6 +910,14 @@ extern int skb_checksum_help(struct sk_buff *skb, int inward); | |||
908 | extern void net_enable_timestamp(void); | 910 | extern void net_enable_timestamp(void); |
909 | extern void net_disable_timestamp(void); | 911 | extern void net_disable_timestamp(void); |
910 | 912 | ||
913 | #ifdef CONFIG_PROC_FS | ||
914 | extern void *dev_seq_start(struct seq_file *seq, loff_t *pos); | ||
915 | extern void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos); | ||
916 | extern void dev_seq_stop(struct seq_file *seq, void *v); | ||
917 | #endif | ||
918 | |||
919 | extern void linkwatch_run_queue(void); | ||
920 | |||
911 | #endif /* __KERNEL__ */ | 921 | #endif /* __KERNEL__ */ |
912 | 922 | ||
913 | #endif /* _LINUX_DEV_H */ | 923 | #endif /* _LINUX_DEV_H */ |
diff --git a/include/linux/netfilter_ipv6.h b/include/linux/netfilter_ipv6.h index 5d204ee7a312..edcc2c6eb5c7 100644 --- a/include/linux/netfilter_ipv6.h +++ b/include/linux/netfilter_ipv6.h | |||
@@ -71,7 +71,7 @@ enum nf_ip6_hook_priorities { | |||
71 | NF_IP6_PRI_LAST = INT_MAX, | 71 | NF_IP6_PRI_LAST = INT_MAX, |
72 | }; | 72 | }; |
73 | 73 | ||
74 | int ipv6_netfilter_init(void); | 74 | extern int ipv6_netfilter_init(void); |
75 | void ipv6_netfilter_fini(void); | 75 | extern void ipv6_netfilter_fini(void); |
76 | 76 | ||
77 | #endif /*__LINUX_IP6_NETFILTER_H*/ | 77 | #endif /*__LINUX_IP6_NETFILTER_H*/ |
diff --git a/include/linux/security.h b/include/linux/security.h index b42095a68b1c..7aab6ab7c57f 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
@@ -2727,7 +2727,8 @@ static inline int security_socket_getpeersec(struct socket *sock, char __user *o | |||
2727 | return security_ops->socket_getpeersec(sock, optval, optlen, len); | 2727 | return security_ops->socket_getpeersec(sock, optval, optlen, len); |
2728 | } | 2728 | } |
2729 | 2729 | ||
2730 | static inline int security_sk_alloc(struct sock *sk, int family, int priority) | 2730 | static inline int security_sk_alloc(struct sock *sk, int family, |
2731 | unsigned int __nocast priority) | ||
2731 | { | 2732 | { |
2732 | return security_ops->sk_alloc_security(sk, family, priority); | 2733 | return security_ops->sk_alloc_security(sk, family, priority); |
2733 | } | 2734 | } |
@@ -2844,7 +2845,8 @@ static inline int security_socket_getpeersec(struct socket *sock, char __user *o | |||
2844 | return -ENOPROTOOPT; | 2845 | return -ENOPROTOOPT; |
2845 | } | 2846 | } |
2846 | 2847 | ||
2847 | static inline int security_sk_alloc(struct sock *sk, int family, int priority) | 2848 | static inline int security_sk_alloc(struct sock *sk, int family, |
2849 | unsigned int __nocast priority) | ||
2848 | { | 2850 | { |
2849 | return 0; | 2851 | return 0; |
2850 | } | 2852 | } |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 32635c401d4d..db10335e4192 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -1203,6 +1203,8 @@ extern void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to); | |||
1203 | extern void skb_split(struct sk_buff *skb, | 1203 | extern void skb_split(struct sk_buff *skb, |
1204 | struct sk_buff *skb1, const u32 len); | 1204 | struct sk_buff *skb1, const u32 len); |
1205 | 1205 | ||
1206 | extern void skb_release_data(struct sk_buff *skb); | ||
1207 | |||
1206 | static inline void *skb_header_pointer(const struct sk_buff *skb, int offset, | 1208 | static inline void *skb_header_pointer(const struct sk_buff *skb, int offset, |
1207 | int len, void *buffer) | 1209 | int len, void *buffer) |
1208 | { | 1210 | { |
diff --git a/include/linux/socket.h b/include/linux/socket.h index acc55aac8a43..1739c2d5b95b 100644 --- a/include/linux/socket.h +++ b/include/linux/socket.h | |||
@@ -26,6 +26,13 @@ struct __kernel_sockaddr_storage { | |||
26 | #include <linux/types.h> /* pid_t */ | 26 | #include <linux/types.h> /* pid_t */ |
27 | #include <linux/compiler.h> /* __user */ | 27 | #include <linux/compiler.h> /* __user */ |
28 | 28 | ||
29 | extern int sysctl_somaxconn; | ||
30 | extern void sock_init(void); | ||
31 | #ifdef CONFIG_PROC_FS | ||
32 | struct seq_file; | ||
33 | extern void socket_seq_show(struct seq_file *seq); | ||
34 | #endif | ||
35 | |||
29 | typedef unsigned short sa_family_t; | 36 | typedef unsigned short sa_family_t; |
30 | 37 | ||
31 | /* | 38 | /* |
diff --git a/include/net/addrconf.h b/include/net/addrconf.h index a0ed93672176..750e2508dd90 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h | |||
@@ -45,6 +45,7 @@ struct prefix_info { | |||
45 | 45 | ||
46 | #ifdef __KERNEL__ | 46 | #ifdef __KERNEL__ |
47 | 47 | ||
48 | #include <linux/config.h> | ||
48 | #include <linux/netdevice.h> | 49 | #include <linux/netdevice.h> |
49 | #include <net/if_inet6.h> | 50 | #include <net/if_inet6.h> |
50 | #include <net/ipv6.h> | 51 | #include <net/ipv6.h> |
@@ -238,5 +239,10 @@ static inline int ipv6_addr_is_ll_all_routers(const struct in6_addr *addr) | |||
238 | addr->s6_addr32[3] == htonl(0x00000002)); | 239 | addr->s6_addr32[3] == htonl(0x00000002)); |
239 | } | 240 | } |
240 | 241 | ||
242 | #ifdef CONFIG_PROC_FS | ||
243 | extern int if6_proc_init(void); | ||
244 | extern void if6_proc_exit(void); | ||
245 | #endif | ||
246 | |||
241 | #endif | 247 | #endif |
242 | #endif | 248 | #endif |
diff --git a/include/net/af_unix.h b/include/net/af_unix.h index b60b3846b9d1..b5d785ab4a0e 100644 --- a/include/net/af_unix.h +++ b/include/net/af_unix.h | |||
@@ -1,5 +1,11 @@ | |||
1 | #ifndef __LINUX_NET_AFUNIX_H | 1 | #ifndef __LINUX_NET_AFUNIX_H |
2 | #define __LINUX_NET_AFUNIX_H | 2 | #define __LINUX_NET_AFUNIX_H |
3 | |||
4 | #include <linux/config.h> | ||
5 | #include <linux/socket.h> | ||
6 | #include <linux/un.h> | ||
7 | #include <net/sock.h> | ||
8 | |||
3 | extern void unix_inflight(struct file *fp); | 9 | extern void unix_inflight(struct file *fp); |
4 | extern void unix_notinflight(struct file *fp); | 10 | extern void unix_notinflight(struct file *fp); |
5 | extern void unix_gc(void); | 11 | extern void unix_gc(void); |
@@ -74,5 +80,14 @@ struct unix_sock { | |||
74 | wait_queue_head_t peer_wait; | 80 | wait_queue_head_t peer_wait; |
75 | }; | 81 | }; |
76 | #define unix_sk(__sk) ((struct unix_sock *)__sk) | 82 | #define unix_sk(__sk) ((struct unix_sock *)__sk) |
83 | |||
84 | #ifdef CONFIG_SYSCTL | ||
85 | extern int sysctl_unix_max_dgram_qlen; | ||
86 | extern void unix_sysctl_register(void); | ||
87 | extern void unix_sysctl_unregister(void); | ||
88 | #else | ||
89 | static inline void unix_sysctl_register(void) {} | ||
90 | static inline void unix_sysctl_unregister(void) {} | ||
91 | #endif | ||
77 | #endif | 92 | #endif |
78 | #endif | 93 | #endif |
diff --git a/include/net/icmp.h b/include/net/icmp.h index e5ef0d15fb45..6cdebeee5f96 100644 --- a/include/net/icmp.h +++ b/include/net/icmp.h | |||
@@ -57,4 +57,11 @@ static inline struct raw_sock *raw_sk(const struct sock *sk) | |||
57 | return (struct raw_sock *)sk; | 57 | return (struct raw_sock *)sk; |
58 | } | 58 | } |
59 | 59 | ||
60 | extern int sysctl_icmp_echo_ignore_all; | ||
61 | extern int sysctl_icmp_echo_ignore_broadcasts; | ||
62 | extern int sysctl_icmp_ignore_bogus_error_responses; | ||
63 | extern int sysctl_icmp_errors_use_inbound_ifaddr; | ||
64 | extern int sysctl_icmp_ratelimit; | ||
65 | extern int sysctl_icmp_ratemask; | ||
66 | |||
60 | #endif /* _ICMP_H */ | 67 | #endif /* _ICMP_H */ |
diff --git a/include/net/ip.h b/include/net/ip.h index c16fb6ac3446..7623e414a5fb 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
@@ -163,6 +163,24 @@ extern int sysctl_local_port_range[2]; | |||
163 | extern int sysctl_ip_default_ttl; | 163 | extern int sysctl_ip_default_ttl; |
164 | extern int sysctl_ip_nonlocal_bind; | 164 | extern int sysctl_ip_nonlocal_bind; |
165 | 165 | ||
166 | /* From ip_fragment.c */ | ||
167 | extern int sysctl_ipfrag_high_thresh; | ||
168 | extern int sysctl_ipfrag_low_thresh; | ||
169 | extern int sysctl_ipfrag_time; | ||
170 | extern int sysctl_ipfrag_secret_interval; | ||
171 | |||
172 | /* From inetpeer.c */ | ||
173 | extern int inet_peer_threshold; | ||
174 | extern int inet_peer_minttl; | ||
175 | extern int inet_peer_maxttl; | ||
176 | extern int inet_peer_gc_mintime; | ||
177 | extern int inet_peer_gc_maxtime; | ||
178 | |||
179 | /* From ip_output.c */ | ||
180 | extern int sysctl_ip_dynaddr; | ||
181 | |||
182 | extern void ipfrag_init(void); | ||
183 | |||
166 | #ifdef CONFIG_INET | 184 | #ifdef CONFIG_INET |
167 | /* The function in 2.2 was invalid, producing wrong result for | 185 | /* The function in 2.2 was invalid, producing wrong result for |
168 | * check=0xFEFF. It was noticed by Arthur Skawina _year_ ago. --ANK(000625) */ | 186 | * check=0xFEFF. It was noticed by Arthur Skawina _year_ ago. --ANK(000625) */ |
@@ -348,5 +366,10 @@ int ipv4_doint_and_flush_strategy(ctl_table *table, int __user *name, int nlen, | |||
348 | void __user *oldval, size_t __user *oldlenp, | 366 | void __user *oldval, size_t __user *oldlenp, |
349 | void __user *newval, size_t newlen, | 367 | void __user *newval, size_t newlen, |
350 | void **context); | 368 | void **context); |
369 | #ifdef CONFIG_PROC_FS | ||
370 | extern int ip_misc_proc_init(void); | ||
371 | #endif | ||
372 | |||
373 | extern struct ctl_table ipv4_table[]; | ||
351 | 374 | ||
352 | #endif /* _IP_H */ | 375 | #endif /* _IP_H */ |
diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h index a4208a336ac0..14de4ebd1211 100644 --- a/include/net/ip_fib.h +++ b/include/net/ip_fib.h | |||
@@ -295,4 +295,9 @@ static inline void fib_res_put(struct fib_result *res) | |||
295 | #endif | 295 | #endif |
296 | } | 296 | } |
297 | 297 | ||
298 | #ifdef CONFIG_PROC_FS | ||
299 | extern int fib_proc_init(void); | ||
300 | extern void fib_proc_exit(void); | ||
301 | #endif | ||
302 | |||
298 | #endif /* _NET_FIB_H */ | 303 | #endif /* _NET_FIB_H */ |
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index c5a02ddc594a..3203eaff4bd4 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
@@ -104,6 +104,7 @@ struct frag_hdr { | |||
104 | 104 | ||
105 | #ifdef __KERNEL__ | 105 | #ifdef __KERNEL__ |
106 | 106 | ||
107 | #include <linux/config.h> | ||
107 | #include <net/sock.h> | 108 | #include <net/sock.h> |
108 | 109 | ||
109 | /* sysctls */ | 110 | /* sysctls */ |
@@ -464,8 +465,38 @@ extern int sysctl_ip6frag_low_thresh; | |||
464 | extern int sysctl_ip6frag_time; | 465 | extern int sysctl_ip6frag_time; |
465 | extern int sysctl_ip6frag_secret_interval; | 466 | extern int sysctl_ip6frag_secret_interval; |
466 | 467 | ||
467 | #endif /* __KERNEL__ */ | 468 | extern struct proto_ops inet6_stream_ops; |
468 | #endif /* _NET_IPV6_H */ | 469 | extern struct proto_ops inet6_dgram_ops; |
470 | |||
471 | extern int ip6_mc_source(int add, int omode, struct sock *sk, | ||
472 | struct group_source_req *pgsr); | ||
473 | extern int ip6_mc_msfilter(struct sock *sk, struct group_filter *gsf); | ||
474 | extern int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf, | ||
475 | struct group_filter __user *optval, | ||
476 | int __user *optlen); | ||
477 | |||
478 | #ifdef CONFIG_PROC_FS | ||
479 | extern int ac6_proc_init(void); | ||
480 | extern void ac6_proc_exit(void); | ||
481 | extern int raw6_proc_init(void); | ||
482 | extern void raw6_proc_exit(void); | ||
483 | extern int tcp6_proc_init(void); | ||
484 | extern void tcp6_proc_exit(void); | ||
485 | extern int udp6_proc_init(void); | ||
486 | extern void udp6_proc_exit(void); | ||
487 | extern int ipv6_misc_proc_init(void); | ||
488 | extern void ipv6_misc_proc_exit(void); | ||
489 | |||
490 | extern struct rt6_statistics rt6_stats; | ||
491 | #endif | ||
469 | 492 | ||
493 | #ifdef CONFIG_SYSCTL | ||
494 | extern ctl_table ipv6_route_table[]; | ||
495 | extern ctl_table ipv6_icmp_table[]; | ||
470 | 496 | ||
497 | extern void ipv6_sysctl_register(void); | ||
498 | extern void ipv6_sysctl_unregister(void); | ||
499 | #endif | ||
471 | 500 | ||
501 | #endif /* __KERNEL__ */ | ||
502 | #endif /* _NET_IPV6_H */ | ||
diff --git a/include/net/p8022.h b/include/net/p8022.h index 223f8fa9ffca..42e9fac51b31 100644 --- a/include/net/p8022.h +++ b/include/net/p8022.h | |||
@@ -8,4 +8,6 @@ extern struct datalink_proto * | |||
8 | struct net_device *orig_dev)); | 8 | struct net_device *orig_dev)); |
9 | extern void unregister_8022_client(struct datalink_proto *proto); | 9 | extern void unregister_8022_client(struct datalink_proto *proto); |
10 | 10 | ||
11 | extern struct datalink_proto *make_8023_client(void); | ||
12 | extern void destroy_8023_client(struct datalink_proto *dl); | ||
11 | #endif | 13 | #endif |
diff --git a/include/net/raw.h b/include/net/raw.h index 1c4bc3e6809f..f47917469b12 100644 --- a/include/net/raw.h +++ b/include/net/raw.h | |||
@@ -17,10 +17,10 @@ | |||
17 | #ifndef _RAW_H | 17 | #ifndef _RAW_H |
18 | #define _RAW_H | 18 | #define _RAW_H |
19 | 19 | ||
20 | #include <linux/config.h> | ||
20 | 21 | ||
21 | extern struct proto raw_prot; | 22 | extern struct proto raw_prot; |
22 | 23 | ||
23 | |||
24 | extern void raw_err(struct sock *, struct sk_buff *, u32 info); | 24 | extern void raw_err(struct sock *, struct sk_buff *, u32 info); |
25 | extern int raw_rcv(struct sock *, struct sk_buff *); | 25 | extern int raw_rcv(struct sock *, struct sk_buff *); |
26 | 26 | ||
@@ -39,4 +39,9 @@ extern struct sock *__raw_v4_lookup(struct sock *sk, unsigned short num, | |||
39 | 39 | ||
40 | extern int raw_v4_input(struct sk_buff *skb, struct iphdr *iph, int hash); | 40 | extern int raw_v4_input(struct sk_buff *skb, struct iphdr *iph, int hash); |
41 | 41 | ||
42 | #ifdef CONFIG_PROC_FS | ||
43 | extern int raw_proc_init(void); | ||
44 | extern void raw_proc_exit(void); | ||
45 | #endif | ||
46 | |||
42 | #endif /* _RAW_H */ | 47 | #endif /* _RAW_H */ |
diff --git a/include/net/route.h b/include/net/route.h index 63c94558236d..dbe79ca67d31 100644 --- a/include/net/route.h +++ b/include/net/route.h | |||
@@ -195,4 +195,6 @@ static inline struct inet_peer *rt_get_peer(struct rtable *rt) | |||
195 | return rt->peer; | 195 | return rt->peer; |
196 | } | 196 | } |
197 | 197 | ||
198 | extern ctl_table ipv4_route_table[]; | ||
199 | |||
198 | #endif /* _ROUTE_H */ | 200 | #endif /* _ROUTE_H */ |
diff --git a/include/net/sock.h b/include/net/sock.h index d59428877078..14183883e8e6 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -1370,4 +1370,16 @@ static inline int siocdevprivate_ioctl(unsigned int fd, unsigned int cmd, unsign | |||
1370 | } | 1370 | } |
1371 | #endif | 1371 | #endif |
1372 | 1372 | ||
1373 | extern void sk_init(void); | ||
1374 | |||
1375 | #ifdef CONFIG_SYSCTL | ||
1376 | extern struct ctl_table core_table[]; | ||
1377 | extern int sysctl_optmem_max; | ||
1378 | #endif | ||
1379 | |||
1380 | #ifdef CONFIG_PROC_FS | ||
1381 | extern __u32 sysctl_wmem_default; | ||
1382 | extern __u32 sysctl_rmem_default; | ||
1383 | #endif | ||
1384 | |||
1373 | #endif /* _SOCK_H */ | 1385 | #endif /* _SOCK_H */ |
diff --git a/include/net/tcp.h b/include/net/tcp.h index d958260af23c..d6bcf1317a6a 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -1183,4 +1183,16 @@ struct tcp_iter_state { | |||
1183 | extern int tcp_proc_register(struct tcp_seq_afinfo *afinfo); | 1183 | extern int tcp_proc_register(struct tcp_seq_afinfo *afinfo); |
1184 | extern void tcp_proc_unregister(struct tcp_seq_afinfo *afinfo); | 1184 | extern void tcp_proc_unregister(struct tcp_seq_afinfo *afinfo); |
1185 | 1185 | ||
1186 | extern struct request_sock_ops tcp_request_sock_ops; | ||
1187 | |||
1188 | extern int tcp_v4_destroy_sock(struct sock *sk); | ||
1189 | |||
1190 | #ifdef CONFIG_PROC_FS | ||
1191 | extern int tcp4_proc_init(void); | ||
1192 | extern void tcp4_proc_exit(void); | ||
1193 | #endif | ||
1194 | |||
1195 | extern void tcp_v4_init(struct net_proto_family *ops); | ||
1196 | extern void tcp_init(void); | ||
1197 | |||
1186 | #endif /* _TCP_H */ | 1198 | #endif /* _TCP_H */ |
diff --git a/include/net/udp.h b/include/net/udp.h index ac229b761dbc..107b9d791a1f 100644 --- a/include/net/udp.h +++ b/include/net/udp.h | |||
@@ -94,6 +94,11 @@ struct udp_iter_state { | |||
94 | struct seq_operations seq_ops; | 94 | struct seq_operations seq_ops; |
95 | }; | 95 | }; |
96 | 96 | ||
97 | #ifdef CONFIG_PROC_FS | ||
97 | extern int udp_proc_register(struct udp_seq_afinfo *afinfo); | 98 | extern int udp_proc_register(struct udp_seq_afinfo *afinfo); |
98 | extern void udp_proc_unregister(struct udp_seq_afinfo *afinfo); | 99 | extern void udp_proc_unregister(struct udp_seq_afinfo *afinfo); |
100 | |||
101 | extern int udp4_proc_init(void); | ||
102 | extern void udp4_proc_exit(void); | ||
103 | #endif | ||
99 | #endif /* _UDP_H */ | 104 | #endif /* _UDP_H */ |
diff --git a/init/main.c b/init/main.c index c9c311cf1771..ff410063e4e1 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <linux/rmap.h> | 47 | #include <linux/rmap.h> |
48 | #include <linux/mempolicy.h> | 48 | #include <linux/mempolicy.h> |
49 | #include <linux/key.h> | 49 | #include <linux/key.h> |
50 | #include <net/sock.h> | ||
50 | 51 | ||
51 | #include <asm/io.h> | 52 | #include <asm/io.h> |
52 | #include <asm/bugs.h> | 53 | #include <asm/bugs.h> |
@@ -80,7 +81,6 @@ | |||
80 | static int init(void *); | 81 | static int init(void *); |
81 | 82 | ||
82 | extern void init_IRQ(void); | 83 | extern void init_IRQ(void); |
83 | extern void sock_init(void); | ||
84 | extern void fork_init(unsigned long); | 84 | extern void fork_init(unsigned long); |
85 | extern void mca_init(void); | 85 | extern void mca_init(void); |
86 | extern void sbus_init(void); | 86 | extern void sbus_init(void); |
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 3e0bbee549ea..8e56e2495542 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/smp_lock.h> | 31 | #include <linux/smp_lock.h> |
32 | #include <linux/init.h> | 32 | #include <linux/init.h> |
33 | #include <linux/kernel.h> | 33 | #include <linux/kernel.h> |
34 | #include <linux/net.h> | ||
34 | #include <linux/sysrq.h> | 35 | #include <linux/sysrq.h> |
35 | #include <linux/highuid.h> | 36 | #include <linux/highuid.h> |
36 | #include <linux/writeback.h> | 37 | #include <linux/writeback.h> |
@@ -136,9 +137,6 @@ static struct ctl_table_header root_table_header = | |||
136 | 137 | ||
137 | static ctl_table kern_table[]; | 138 | static ctl_table kern_table[]; |
138 | static ctl_table vm_table[]; | 139 | static ctl_table vm_table[]; |
139 | #ifdef CONFIG_NET | ||
140 | extern ctl_table net_table[]; | ||
141 | #endif | ||
142 | static ctl_table proc_table[]; | 140 | static ctl_table proc_table[]; |
143 | static ctl_table fs_table[]; | 141 | static ctl_table fs_table[]; |
144 | static ctl_table debug_table[]; | 142 | static ctl_table debug_table[]; |
diff --git a/net/802/p8023.c b/net/802/p8023.c index a0b61b40225f..6368d3dce444 100644 --- a/net/802/p8023.c +++ b/net/802/p8023.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/skbuff.h> | 20 | #include <linux/skbuff.h> |
21 | 21 | ||
22 | #include <net/datalink.h> | 22 | #include <net/datalink.h> |
23 | #include <net/p8022.h> | ||
23 | 24 | ||
24 | /* | 25 | /* |
25 | * Place an 802.3 header on a packet. The driver will do the mac | 26 | * Place an 802.3 header on a packet. The driver will do the mac |
diff --git a/net/802/sysctl_net_802.c b/net/802/sysctl_net_802.c index 36079630c49f..700129556c13 100644 --- a/net/802/sysctl_net_802.c +++ b/net/802/sysctl_net_802.c | |||
@@ -10,9 +10,10 @@ | |||
10 | * 2 of the License, or (at your option) any later version. | 10 | * 2 of the License, or (at your option) any later version. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/config.h> | ||
13 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
15 | #include <linux/if_tr.h> | ||
14 | #include <linux/sysctl.h> | 16 | #include <linux/sysctl.h> |
15 | #include <linux/config.h> | ||
16 | 17 | ||
17 | #ifdef CONFIG_TR | 18 | #ifdef CONFIG_TR |
18 | extern int sysctl_tr_rif_timeout; | 19 | extern int sysctl_tr_rif_timeout; |
diff --git a/net/core/dev.c b/net/core/dev.c index a3ed53cc4af8..c01511e3d0c1 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -267,10 +267,6 @@ void dev_add_pack(struct packet_type *pt) | |||
267 | spin_unlock_bh(&ptype_lock); | 267 | spin_unlock_bh(&ptype_lock); |
268 | } | 268 | } |
269 | 269 | ||
270 | extern void linkwatch_run_queue(void); | ||
271 | |||
272 | |||
273 | |||
274 | /** | 270 | /** |
275 | * __dev_remove_pack - remove packet handler | 271 | * __dev_remove_pack - remove packet handler |
276 | * @pt: packet type declaration | 272 | * @pt: packet type declaration |
@@ -1133,8 +1129,6 @@ static inline int illegal_highdma(struct net_device *dev, struct sk_buff *skb) | |||
1133 | #define illegal_highdma(dev, skb) (0) | 1129 | #define illegal_highdma(dev, skb) (0) |
1134 | #endif | 1130 | #endif |
1135 | 1131 | ||
1136 | extern void skb_release_data(struct sk_buff *); | ||
1137 | |||
1138 | /* Keep head the same: replace data */ | 1132 | /* Keep head the same: replace data */ |
1139 | int __skb_linearize(struct sk_buff *skb, unsigned int __nocast gfp_mask) | 1133 | int __skb_linearize(struct sk_buff *skb, unsigned int __nocast gfp_mask) |
1140 | { | 1134 | { |
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index 8f817ad9f546..2f278c8e4743 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c | |||
@@ -9,23 +9,18 @@ | |||
9 | #include <linux/sysctl.h> | 9 | #include <linux/sysctl.h> |
10 | #include <linux/config.h> | 10 | #include <linux/config.h> |
11 | #include <linux/module.h> | 11 | #include <linux/module.h> |
12 | #include <linux/socket.h> | ||
13 | #include <net/sock.h> | ||
12 | 14 | ||
13 | #ifdef CONFIG_SYSCTL | 15 | #ifdef CONFIG_SYSCTL |
14 | 16 | ||
15 | extern int netdev_max_backlog; | 17 | extern int netdev_max_backlog; |
16 | extern int netdev_budget; | ||
17 | extern int weight_p; | 18 | extern int weight_p; |
18 | extern int net_msg_cost; | ||
19 | extern int net_msg_burst; | ||
20 | 19 | ||
21 | extern __u32 sysctl_wmem_max; | 20 | extern __u32 sysctl_wmem_max; |
22 | extern __u32 sysctl_rmem_max; | 21 | extern __u32 sysctl_rmem_max; |
23 | extern __u32 sysctl_wmem_default; | ||
24 | extern __u32 sysctl_rmem_default; | ||
25 | 22 | ||
26 | extern int sysctl_core_destroy_delay; | 23 | extern int sysctl_core_destroy_delay; |
27 | extern int sysctl_optmem_max; | ||
28 | extern int sysctl_somaxconn; | ||
29 | 24 | ||
30 | #ifdef CONFIG_NET_DIVERT | 25 | #ifdef CONFIG_NET_DIVERT |
31 | extern char sysctl_divert_version[]; | 26 | extern char sysctl_divert_version[]; |
diff --git a/net/core/utils.c b/net/core/utils.c index 88eb8b68e26b..7b5970fc9e40 100644 --- a/net/core/utils.c +++ b/net/core/utils.c | |||
@@ -16,7 +16,9 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/jiffies.h> | 17 | #include <linux/jiffies.h> |
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/inet.h> | ||
19 | #include <linux/mm.h> | 20 | #include <linux/mm.h> |
21 | #include <linux/net.h> | ||
20 | #include <linux/string.h> | 22 | #include <linux/string.h> |
21 | #include <linux/types.h> | 23 | #include <linux/types.h> |
22 | #include <linux/random.h> | 24 | #include <linux/random.h> |
diff --git a/net/core/wireless.c b/net/core/wireless.c index 19fa6a5389b3..5caae2399f3a 100644 --- a/net/core/wireless.c +++ b/net/core/wireless.c | |||
@@ -571,10 +571,6 @@ static int wireless_seq_show(struct seq_file *seq, void *v) | |||
571 | return 0; | 571 | return 0; |
572 | } | 572 | } |
573 | 573 | ||
574 | extern void *dev_seq_start(struct seq_file *seq, loff_t *pos); | ||
575 | extern void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos); | ||
576 | extern void dev_seq_stop(struct seq_file *seq, void *v); | ||
577 | |||
578 | static struct seq_operations wireless_seq_ops = { | 574 | static struct seq_operations wireless_seq_ops = { |
579 | .start = dev_seq_start, | 575 | .start = dev_seq_start, |
580 | .next = dev_seq_next, | 576 | .next = dev_seq_next, |
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index f444a2f2675f..87a052a9a84f 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c | |||
@@ -62,8 +62,6 @@ | |||
62 | #include <asm/system.h> | 62 | #include <asm/system.h> |
63 | #include <asm/checksum.h> | 63 | #include <asm/checksum.h> |
64 | 64 | ||
65 | extern int __init netdev_boot_setup(char *str); | ||
66 | |||
67 | __setup("ether=", netdev_boot_setup); | 65 | __setup("ether=", netdev_boot_setup); |
68 | 66 | ||
69 | /* | 67 | /* |
diff --git a/net/ethernet/sysctl_net_ether.c b/net/ethernet/sysctl_net_ether.c index b81a6d532342..66b39fc342d2 100644 --- a/net/ethernet/sysctl_net_ether.c +++ b/net/ethernet/sysctl_net_ether.c | |||
@@ -7,6 +7,7 @@ | |||
7 | 7 | ||
8 | #include <linux/mm.h> | 8 | #include <linux/mm.h> |
9 | #include <linux/sysctl.h> | 9 | #include <linux/sysctl.h> |
10 | #include <linux/if_ether.h> | ||
10 | 11 | ||
11 | ctl_table ether_table[] = { | 12 | ctl_table ether_table[] = { |
12 | {0} | 13 | {0} |
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 20f52b5f5dea..5810f9d14914 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -859,10 +859,6 @@ static struct net_proto_family inet_family_ops = { | |||
859 | .owner = THIS_MODULE, | 859 | .owner = THIS_MODULE, |
860 | }; | 860 | }; |
861 | 861 | ||
862 | |||
863 | extern void tcp_init(void); | ||
864 | extern void tcp_v4_init(struct net_proto_family *); | ||
865 | |||
866 | /* Upon startup we insert all the elements in inetsw_array[] into | 862 | /* Upon startup we insert all the elements in inetsw_array[] into |
867 | * the linked list inetsw. | 863 | * the linked list inetsw. |
868 | */ | 864 | */ |
@@ -1132,7 +1128,6 @@ static int __init init_ipv4_mibs(void) | |||
1132 | } | 1128 | } |
1133 | 1129 | ||
1134 | static int ipv4_proc_init(void); | 1130 | static int ipv4_proc_init(void); |
1135 | extern void ipfrag_init(void); | ||
1136 | 1131 | ||
1137 | /* | 1132 | /* |
1138 | * IP protocol layer initialiser | 1133 | * IP protocol layer initialiser |
@@ -1253,19 +1248,10 @@ module_init(inet_init); | |||
1253 | /* ------------------------------------------------------------------------ */ | 1248 | /* ------------------------------------------------------------------------ */ |
1254 | 1249 | ||
1255 | #ifdef CONFIG_PROC_FS | 1250 | #ifdef CONFIG_PROC_FS |
1256 | extern int fib_proc_init(void); | ||
1257 | extern void fib_proc_exit(void); | ||
1258 | #ifdef CONFIG_IP_FIB_TRIE | 1251 | #ifdef CONFIG_IP_FIB_TRIE |
1259 | extern int fib_stat_proc_init(void); | 1252 | extern int fib_stat_proc_init(void); |
1260 | extern void fib_stat_proc_exit(void); | 1253 | extern void fib_stat_proc_exit(void); |
1261 | #endif | 1254 | #endif |
1262 | extern int ip_misc_proc_init(void); | ||
1263 | extern int raw_proc_init(void); | ||
1264 | extern void raw_proc_exit(void); | ||
1265 | extern int tcp4_proc_init(void); | ||
1266 | extern void tcp4_proc_exit(void); | ||
1267 | extern int udp4_proc_init(void); | ||
1268 | extern void udp4_proc_exit(void); | ||
1269 | 1255 | ||
1270 | static int __init ipv4_proc_init(void) | 1256 | static int __init ipv4_proc_init(void) |
1271 | { | 1257 | { |
diff --git a/net/ipv4/datagram.c b/net/ipv4/datagram.c index 3fd49f4282ac..c1b42b5257f8 100644 --- a/net/ipv4/datagram.c +++ b/net/ipv4/datagram.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/ip.h> | 17 | #include <linux/ip.h> |
18 | #include <linux/in.h> | 18 | #include <linux/in.h> |
19 | #include <net/ip.h> | ||
19 | #include <net/sock.h> | 20 | #include <net/sock.h> |
20 | #include <net/route.h> | 21 | #include <net/route.h> |
21 | #include <net/tcp_states.h> | 22 | #include <net/tcp_states.h> |
diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c index 3c513ceaca76..4410b9dc03e9 100644 --- a/net/ipv4/inetpeer.c +++ b/net/ipv4/inetpeer.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
21 | #include <linux/mm.h> | 21 | #include <linux/mm.h> |
22 | #include <linux/net.h> | 22 | #include <linux/net.h> |
23 | #include <net/ip.h> | ||
23 | #include <net/inetpeer.h> | 24 | #include <net/inetpeer.h> |
24 | 25 | ||
25 | /* | 26 | /* |
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index ddb1aedbdc6d..aca088b3707a 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c | |||
@@ -614,7 +614,6 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval, | |||
614 | } | 614 | } |
615 | case IP_MSFILTER: | 615 | case IP_MSFILTER: |
616 | { | 616 | { |
617 | extern int sysctl_optmem_max; | ||
618 | extern int sysctl_igmp_max_msf; | 617 | extern int sysctl_igmp_max_msf; |
619 | struct ip_msfilter *msf; | 618 | struct ip_msfilter *msf; |
620 | 619 | ||
@@ -769,7 +768,6 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval, | |||
769 | } | 768 | } |
770 | case MCAST_MSFILTER: | 769 | case MCAST_MSFILTER: |
771 | { | 770 | { |
772 | extern int sysctl_optmem_max; | ||
773 | extern int sysctl_igmp_max_msf; | 771 | extern int sysctl_igmp_max_msf; |
774 | struct sockaddr_in *psin; | 772 | struct sockaddr_in *psin; |
775 | struct ip_msfilter *msf = NULL; | 773 | struct ip_msfilter *msf = NULL; |
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index 3eadbb271871..f7943ba1f43c 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c | |||
@@ -59,9 +59,6 @@ static int fold_prot_inuse(struct proto *proto) | |||
59 | */ | 59 | */ |
60 | static int sockstat_seq_show(struct seq_file *seq, void *v) | 60 | static int sockstat_seq_show(struct seq_file *seq, void *v) |
61 | { | 61 | { |
62 | /* From net/socket.c */ | ||
63 | extern void socket_seq_show(struct seq_file *seq); | ||
64 | |||
65 | socket_seq_show(seq); | 62 | socket_seq_show(seq); |
66 | seq_printf(seq, "TCP: inuse %d orphan %d tw %d alloc %d mem %d\n", | 63 | seq_printf(seq, "TCP: inuse %d orphan %d tw %d alloc %d mem %d\n", |
67 | fold_prot_inuse(&tcp_prot), atomic_read(&tcp_orphan_count), | 64 | fold_prot_inuse(&tcp_prot), atomic_read(&tcp_orphan_count), |
diff --git a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c index 8692cb9d4bdb..a34e60ea48a1 100644 --- a/net/ipv4/syncookies.c +++ b/net/ipv4/syncookies.c | |||
@@ -169,8 +169,6 @@ static inline int cookie_check(struct sk_buff *skb, __u32 cookie) | |||
169 | return mssind < NUM_MSS ? msstab[mssind] + 1 : 0; | 169 | return mssind < NUM_MSS ? msstab[mssind] + 1 : 0; |
170 | } | 170 | } |
171 | 171 | ||
172 | extern struct request_sock_ops tcp_request_sock_ops; | ||
173 | |||
174 | static inline struct sock *get_cookie_sock(struct sock *sk, struct sk_buff *skb, | 172 | static inline struct sock *get_cookie_sock(struct sock *sk, struct sk_buff *skb, |
175 | struct request_sock *req, | 173 | struct request_sock *req, |
176 | struct dst_entry *dst) | 174 | struct dst_entry *dst) |
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index ce47a345ecc5..652685623519 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c | |||
@@ -11,7 +11,9 @@ | |||
11 | #include <linux/module.h> | 11 | #include <linux/module.h> |
12 | #include <linux/sysctl.h> | 12 | #include <linux/sysctl.h> |
13 | #include <linux/config.h> | 13 | #include <linux/config.h> |
14 | #include <linux/igmp.h> | ||
14 | #include <net/snmp.h> | 15 | #include <net/snmp.h> |
16 | #include <net/icmp.h> | ||
15 | #include <net/ip.h> | 17 | #include <net/ip.h> |
16 | #include <net/route.h> | 18 | #include <net/route.h> |
17 | #include <net/tcp.h> | 19 | #include <net/tcp.h> |
@@ -19,36 +21,6 @@ | |||
19 | /* From af_inet.c */ | 21 | /* From af_inet.c */ |
20 | extern int sysctl_ip_nonlocal_bind; | 22 | extern int sysctl_ip_nonlocal_bind; |
21 | 23 | ||
22 | /* From icmp.c */ | ||
23 | extern int sysctl_icmp_echo_ignore_all; | ||
24 | extern int sysctl_icmp_echo_ignore_broadcasts; | ||
25 | extern int sysctl_icmp_ignore_bogus_error_responses; | ||
26 | extern int sysctl_icmp_errors_use_inbound_ifaddr; | ||
27 | |||
28 | /* From ip_fragment.c */ | ||
29 | extern int sysctl_ipfrag_low_thresh; | ||
30 | extern int sysctl_ipfrag_high_thresh; | ||
31 | extern int sysctl_ipfrag_time; | ||
32 | extern int sysctl_ipfrag_secret_interval; | ||
33 | |||
34 | /* From ip_output.c */ | ||
35 | extern int sysctl_ip_dynaddr; | ||
36 | |||
37 | /* From icmp.c */ | ||
38 | extern int sysctl_icmp_ratelimit; | ||
39 | extern int sysctl_icmp_ratemask; | ||
40 | |||
41 | /* From igmp.c */ | ||
42 | extern int sysctl_igmp_max_memberships; | ||
43 | extern int sysctl_igmp_max_msf; | ||
44 | |||
45 | /* From inetpeer.c */ | ||
46 | extern int inet_peer_threshold; | ||
47 | extern int inet_peer_minttl; | ||
48 | extern int inet_peer_maxttl; | ||
49 | extern int inet_peer_gc_mintime; | ||
50 | extern int inet_peer_gc_maxtime; | ||
51 | |||
52 | #ifdef CONFIG_SYSCTL | 24 | #ifdef CONFIG_SYSCTL |
53 | static int tcp_retr1_max = 255; | 25 | static int tcp_retr1_max = 255; |
54 | static int ip_local_port_range_min[] = { 1, 1 }; | 26 | static int ip_local_port_range_min[] = { 1, 1 }; |
@@ -57,8 +29,6 @@ static int ip_local_port_range_max[] = { 65535, 65535 }; | |||
57 | 29 | ||
58 | struct ipv4_config ipv4_config; | 30 | struct ipv4_config ipv4_config; |
59 | 31 | ||
60 | extern ctl_table ipv4_route_table[]; | ||
61 | |||
62 | #ifdef CONFIG_SYSCTL | 32 | #ifdef CONFIG_SYSCTL |
63 | 33 | ||
64 | static | 34 | static |
@@ -136,10 +106,11 @@ static int proc_tcp_congestion_control(ctl_table *ctl, int write, struct file * | |||
136 | return ret; | 106 | return ret; |
137 | } | 107 | } |
138 | 108 | ||
139 | int sysctl_tcp_congestion_control(ctl_table *table, int __user *name, int nlen, | 109 | static int sysctl_tcp_congestion_control(ctl_table *table, int __user *name, |
140 | void __user *oldval, size_t __user *oldlenp, | 110 | int nlen, void __user *oldval, |
141 | void __user *newval, size_t newlen, | 111 | size_t __user *oldlenp, |
142 | void **context) | 112 | void __user *newval, size_t newlen, |
113 | void **context) | ||
143 | { | 114 | { |
144 | char val[TCP_CA_NAME_MAX]; | 115 | char val[TCP_CA_NAME_MAX]; |
145 | ctl_table tbl = { | 116 | ctl_table tbl = { |
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index ebb8654e3dee..1afb080bdf0c 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -4229,7 +4229,7 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, | |||
4229 | */ | 4229 | */ |
4230 | if (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr && | 4230 | if (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr && |
4231 | !tp->srtt) | 4231 | !tp->srtt) |
4232 | tcp_ack_saw_tstamp(sk, 0, 0); | 4232 | tcp_ack_saw_tstamp(sk, NULL, 0); |
4233 | 4233 | ||
4234 | if (tp->rx_opt.tstamp_ok) | 4234 | if (tp->rx_opt.tstamp_ok) |
4235 | tp->advmss -= TCPOLEN_TSTAMP_ALIGNED; | 4235 | tp->advmss -= TCPOLEN_TSTAMP_ALIGNED; |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 97bbf595230d..13dfb391cdf1 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -66,6 +66,7 @@ | |||
66 | #include <net/icmp.h> | 66 | #include <net/icmp.h> |
67 | #include <net/inet_hashtables.h> | 67 | #include <net/inet_hashtables.h> |
68 | #include <net/tcp.h> | 68 | #include <net/tcp.h> |
69 | #include <net/transp_v6.h> | ||
69 | #include <net/ipv6.h> | 70 | #include <net/ipv6.h> |
70 | #include <net/inet_common.h> | 71 | #include <net/inet_common.h> |
71 | #include <net/xfrm.h> | 72 | #include <net/xfrm.h> |
@@ -76,7 +77,6 @@ | |||
76 | #include <linux/proc_fs.h> | 77 | #include <linux/proc_fs.h> |
77 | #include <linux/seq_file.h> | 78 | #include <linux/seq_file.h> |
78 | 79 | ||
79 | extern int sysctl_ip_dynaddr; | ||
80 | int sysctl_tcp_tw_reuse; | 80 | int sysctl_tcp_tw_reuse; |
81 | int sysctl_tcp_low_latency; | 81 | int sysctl_tcp_low_latency; |
82 | 82 | ||
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 493abf94bcfc..937ad32db77c 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -1126,7 +1126,7 @@ void addrconf_leave_solict(struct inet6_dev *idev, struct in6_addr *addr) | |||
1126 | __ipv6_dev_mc_dec(idev, &maddr); | 1126 | __ipv6_dev_mc_dec(idev, &maddr); |
1127 | } | 1127 | } |
1128 | 1128 | ||
1129 | void addrconf_join_anycast(struct inet6_ifaddr *ifp) | 1129 | static void addrconf_join_anycast(struct inet6_ifaddr *ifp) |
1130 | { | 1130 | { |
1131 | struct in6_addr addr; | 1131 | struct in6_addr addr; |
1132 | ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); | 1132 | ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); |
@@ -1135,7 +1135,7 @@ void addrconf_join_anycast(struct inet6_ifaddr *ifp) | |||
1135 | ipv6_dev_ac_inc(ifp->idev->dev, &addr); | 1135 | ipv6_dev_ac_inc(ifp->idev->dev, &addr); |
1136 | } | 1136 | } |
1137 | 1137 | ||
1138 | void addrconf_leave_anycast(struct inet6_ifaddr *ifp) | 1138 | static void addrconf_leave_anycast(struct inet6_ifaddr *ifp) |
1139 | { | 1139 | { |
1140 | struct in6_addr addr; | 1140 | struct in6_addr addr; |
1141 | ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); | 1141 | ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); |
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 7df2ccb380d9..4f8795af2edb 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c | |||
@@ -67,23 +67,6 @@ MODULE_AUTHOR("Cast of dozens"); | |||
67 | MODULE_DESCRIPTION("IPv6 protocol stack for Linux"); | 67 | MODULE_DESCRIPTION("IPv6 protocol stack for Linux"); |
68 | MODULE_LICENSE("GPL"); | 68 | MODULE_LICENSE("GPL"); |
69 | 69 | ||
70 | /* IPv6 procfs goodies... */ | ||
71 | |||
72 | #ifdef CONFIG_PROC_FS | ||
73 | extern int raw6_proc_init(void); | ||
74 | extern void raw6_proc_exit(void); | ||
75 | extern int tcp6_proc_init(void); | ||
76 | extern void tcp6_proc_exit(void); | ||
77 | extern int udp6_proc_init(void); | ||
78 | extern void udp6_proc_exit(void); | ||
79 | extern int ipv6_misc_proc_init(void); | ||
80 | extern void ipv6_misc_proc_exit(void); | ||
81 | extern int ac6_proc_init(void); | ||
82 | extern void ac6_proc_exit(void); | ||
83 | extern int if6_proc_init(void); | ||
84 | extern void if6_proc_exit(void); | ||
85 | #endif | ||
86 | |||
87 | int sysctl_ipv6_bindv6only; | 70 | int sysctl_ipv6_bindv6only; |
88 | 71 | ||
89 | /* The inetsw table contains everything that inet_create needs to | 72 | /* The inetsw table contains everything that inet_create needs to |
@@ -505,11 +488,6 @@ static struct net_proto_family inet6_family_ops = { | |||
505 | .owner = THIS_MODULE, | 488 | .owner = THIS_MODULE, |
506 | }; | 489 | }; |
507 | 490 | ||
508 | #ifdef CONFIG_SYSCTL | ||
509 | extern void ipv6_sysctl_register(void); | ||
510 | extern void ipv6_sysctl_unregister(void); | ||
511 | #endif | ||
512 | |||
513 | /* Same as inet6_dgram_ops, sans udp_poll. */ | 491 | /* Same as inet6_dgram_ops, sans udp_poll. */ |
514 | static struct proto_ops inet6_sockraw_ops = { | 492 | static struct proto_ops inet6_sockraw_ops = { |
515 | .family = PF_INET6, | 493 | .family = PF_INET6, |
@@ -676,8 +654,6 @@ static void cleanup_ipv6_mibs(void) | |||
676 | snmp6_mib_free((void **)udp_stats_in6); | 654 | snmp6_mib_free((void **)udp_stats_in6); |
677 | } | 655 | } |
678 | 656 | ||
679 | extern int ipv6_misc_proc_init(void); | ||
680 | |||
681 | static int __init inet6_init(void) | 657 | static int __init inet6_init(void) |
682 | { | 658 | { |
683 | struct sk_buff *dummy_skb; | 659 | struct sk_buff *dummy_skb; |
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index 76fe23925d77..7516b8829a9d 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c | |||
@@ -109,13 +109,6 @@ int ip6_ra_control(struct sock *sk, int sel, void (*destructor)(struct sock *)) | |||
109 | return 0; | 109 | return 0; |
110 | } | 110 | } |
111 | 111 | ||
112 | extern int ip6_mc_source(int add, int omode, struct sock *sk, | ||
113 | struct group_source_req *pgsr); | ||
114 | extern int ip6_mc_msfilter(struct sock *sk, struct group_filter *gsf); | ||
115 | extern int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf, | ||
116 | struct group_filter __user *optval, int __user *optlen); | ||
117 | |||
118 | |||
119 | int ipv6_setsockopt(struct sock *sk, int level, int optname, | 112 | int ipv6_setsockopt(struct sock *sk, int level, int optname, |
120 | char __user *optval, int optlen) | 113 | char __user *optval, int optlen) |
121 | { | 114 | { |
@@ -446,7 +439,6 @@ done: | |||
446 | } | 439 | } |
447 | case MCAST_MSFILTER: | 440 | case MCAST_MSFILTER: |
448 | { | 441 | { |
449 | extern int sysctl_optmem_max; | ||
450 | extern int sysctl_mld_max_msf; | 442 | extern int sysctl_mld_max_msf; |
451 | struct group_filter *gsf; | 443 | struct group_filter *gsf; |
452 | 444 | ||
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 6ea494ab4e02..5d5bbb49ec78 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -1372,7 +1372,7 @@ int ipv6_route_ioctl(unsigned int cmd, void __user *arg) | |||
1372 | * Drop the packet on the floor | 1372 | * Drop the packet on the floor |
1373 | */ | 1373 | */ |
1374 | 1374 | ||
1375 | int ip6_pkt_discard(struct sk_buff *skb) | 1375 | static int ip6_pkt_discard(struct sk_buff *skb) |
1376 | { | 1376 | { |
1377 | IP6_INC_STATS(IPSTATS_MIB_OUTNOROUTES); | 1377 | IP6_INC_STATS(IPSTATS_MIB_OUTNOROUTES); |
1378 | icmpv6_send(skb, ICMPV6_DEST_UNREACH, ICMPV6_NOROUTE, 0, skb->dev); | 1378 | icmpv6_send(skb, ICMPV6_DEST_UNREACH, ICMPV6_NOROUTE, 0, skb->dev); |
@@ -1380,7 +1380,7 @@ int ip6_pkt_discard(struct sk_buff *skb) | |||
1380 | return 0; | 1380 | return 0; |
1381 | } | 1381 | } |
1382 | 1382 | ||
1383 | int ip6_pkt_discard_out(struct sk_buff *skb) | 1383 | static int ip6_pkt_discard_out(struct sk_buff *skb) |
1384 | { | 1384 | { |
1385 | skb->dev = skb->dst->dev; | 1385 | skb->dev = skb->dst->dev; |
1386 | return ip6_pkt_discard(skb); | 1386 | return ip6_pkt_discard(skb); |
@@ -1960,8 +1960,6 @@ static int rt6_proc_info(char *buffer, char **start, off_t offset, int length) | |||
1960 | return arg.len; | 1960 | return arg.len; |
1961 | } | 1961 | } |
1962 | 1962 | ||
1963 | extern struct rt6_statistics rt6_stats; | ||
1964 | |||
1965 | static int rt6_stats_seq_show(struct seq_file *seq, void *v) | 1963 | static int rt6_stats_seq_show(struct seq_file *seq, void *v) |
1966 | { | 1964 | { |
1967 | seq_printf(seq, "%04x %04x %04x %04x %04x %04x %04x\n", | 1965 | seq_printf(seq, "%04x %04x %04x %04x %04x %04x %04x\n", |
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index e553e5b80d6e..c3123c9e1a8e 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c | |||
@@ -770,7 +770,7 @@ static int ipip6_tunnel_init(struct net_device *dev) | |||
770 | return 0; | 770 | return 0; |
771 | } | 771 | } |
772 | 772 | ||
773 | int __init ipip6_fb_tunnel_init(struct net_device *dev) | 773 | static int __init ipip6_fb_tunnel_init(struct net_device *dev) |
774 | { | 774 | { |
775 | struct ip_tunnel *tunnel = dev->priv; | 775 | struct ip_tunnel *tunnel = dev->priv; |
776 | struct iphdr *iph = &tunnel->parms.iph; | 776 | struct iphdr *iph = &tunnel->parms.iph; |
diff --git a/net/ipv6/sysctl_net_ipv6.c b/net/ipv6/sysctl_net_ipv6.c index 3a18e0e6ffed..8eff9fa1e983 100644 --- a/net/ipv6/sysctl_net_ipv6.c +++ b/net/ipv6/sysctl_net_ipv6.c | |||
@@ -14,9 +14,6 @@ | |||
14 | #include <net/ipv6.h> | 14 | #include <net/ipv6.h> |
15 | #include <net/addrconf.h> | 15 | #include <net/addrconf.h> |
16 | 16 | ||
17 | extern ctl_table ipv6_route_table[]; | ||
18 | extern ctl_table ipv6_icmp_table[]; | ||
19 | |||
20 | #ifdef CONFIG_SYSCTL | 17 | #ifdef CONFIG_SYSCTL |
21 | 18 | ||
22 | static ctl_table ipv6_table[] = { | 19 | static ctl_table ipv6_table[] = { |
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index fb291b81cf63..794734f1d230 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -1910,8 +1910,6 @@ static int tcp_v6_init_sock(struct sock *sk) | |||
1910 | 1910 | ||
1911 | static int tcp_v6_destroy_sock(struct sock *sk) | 1911 | static int tcp_v6_destroy_sock(struct sock *sk) |
1912 | { | 1912 | { |
1913 | extern int tcp_v4_destroy_sock(struct sock *sk); | ||
1914 | |||
1915 | tcp_v4_destroy_sock(sk); | 1913 | tcp_v4_destroy_sock(sk); |
1916 | return inet6_destroy_sock(sk); | 1914 | return inet6_destroy_sock(sk); |
1917 | } | 1915 | } |
@@ -2123,8 +2121,6 @@ static struct inet6_protocol tcpv6_protocol = { | |||
2123 | .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, | 2121 | .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, |
2124 | }; | 2122 | }; |
2125 | 2123 | ||
2126 | extern struct proto_ops inet6_stream_ops; | ||
2127 | |||
2128 | static struct inet_protosw tcpv6_protosw = { | 2124 | static struct inet_protosw tcpv6_protosw = { |
2129 | .type = SOCK_STREAM, | 2125 | .type = SOCK_STREAM, |
2130 | .protocol = IPPROTO_TCP, | 2126 | .protocol = IPPROTO_TCP, |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index c348307e5773..67d9a04b6902 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -1054,8 +1054,6 @@ struct proto udpv6_prot = { | |||
1054 | .obj_size = sizeof(struct udp6_sock), | 1054 | .obj_size = sizeof(struct udp6_sock), |
1055 | }; | 1055 | }; |
1056 | 1056 | ||
1057 | extern struct proto_ops inet6_dgram_ops; | ||
1058 | |||
1059 | static struct inet_protosw udpv6_protosw = { | 1057 | static struct inet_protosw udpv6_protosw = { |
1060 | .type = SOCK_DGRAM, | 1058 | .type = SOCK_DGRAM, |
1061 | .protocol = IPPROTO_UDP, | 1059 | .protocol = IPPROTO_UDP, |
diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c index 180e383f707c..34b3bb868409 100644 --- a/net/ipx/af_ipx.c +++ b/net/ipx/af_ipx.c | |||
@@ -1940,9 +1940,7 @@ static struct notifier_block ipx_dev_notifier = { | |||
1940 | }; | 1940 | }; |
1941 | 1941 | ||
1942 | extern struct datalink_proto *make_EII_client(void); | 1942 | extern struct datalink_proto *make_EII_client(void); |
1943 | extern struct datalink_proto *make_8023_client(void); | ||
1944 | extern void destroy_EII_client(struct datalink_proto *); | 1943 | extern void destroy_EII_client(struct datalink_proto *); |
1945 | extern void destroy_8023_client(struct datalink_proto *); | ||
1946 | 1944 | ||
1947 | static unsigned char ipx_8022_type = 0xE0; | 1945 | static unsigned char ipx_8022_type = 0xE0; |
1948 | static unsigned char ipx_snap_id[5] = { 0x0, 0x0, 0x0, 0x81, 0x37 }; | 1946 | static unsigned char ipx_snap_id[5] = { 0x0, 0x0, 0x0, 0x81, 0x37 }; |
diff --git a/net/socket.c b/net/socket.c index 5f76ab8a1594..ce69b7862f59 100644 --- a/net/socket.c +++ b/net/socket.c | |||
@@ -70,6 +70,8 @@ | |||
70 | #include <linux/seq_file.h> | 70 | #include <linux/seq_file.h> |
71 | #include <linux/wanrouter.h> | 71 | #include <linux/wanrouter.h> |
72 | #include <linux/if_bridge.h> | 72 | #include <linux/if_bridge.h> |
73 | #include <linux/if_frad.h> | ||
74 | #include <linux/if_vlan.h> | ||
73 | #include <linux/init.h> | 75 | #include <linux/init.h> |
74 | #include <linux/poll.h> | 76 | #include <linux/poll.h> |
75 | #include <linux/cache.h> | 77 | #include <linux/cache.h> |
@@ -724,8 +726,8 @@ static ssize_t sock_aio_write(struct kiocb *iocb, const char __user *ubuf, | |||
724 | return __sock_sendmsg(iocb, sock, &x->async_msg, size); | 726 | return __sock_sendmsg(iocb, sock, &x->async_msg, size); |
725 | } | 727 | } |
726 | 728 | ||
727 | ssize_t sock_sendpage(struct file *file, struct page *page, | 729 | static ssize_t sock_sendpage(struct file *file, struct page *page, |
728 | int offset, size_t size, loff_t *ppos, int more) | 730 | int offset, size_t size, loff_t *ppos, int more) |
729 | { | 731 | { |
730 | struct socket *sock; | 732 | struct socket *sock; |
731 | int flags; | 733 | int flags; |
@@ -948,7 +950,7 @@ static int sock_mmap(struct file * file, struct vm_area_struct * vma) | |||
948 | return sock->ops->mmap(file, sock, vma); | 950 | return sock->ops->mmap(file, sock, vma); |
949 | } | 951 | } |
950 | 952 | ||
951 | int sock_close(struct inode *inode, struct file *filp) | 953 | static int sock_close(struct inode *inode, struct file *filp) |
952 | { | 954 | { |
953 | /* | 955 | /* |
954 | * It was possible the inode is NULL we were | 956 | * It was possible the inode is NULL we were |
@@ -2027,9 +2029,6 @@ int sock_unregister(int family) | |||
2027 | return 0; | 2029 | return 0; |
2028 | } | 2030 | } |
2029 | 2031 | ||
2030 | |||
2031 | extern void sk_init(void); | ||
2032 | |||
2033 | void __init sock_init(void) | 2032 | void __init sock_init(void) |
2034 | { | 2033 | { |
2035 | /* | 2034 | /* |
diff --git a/net/sysctl_net.c b/net/sysctl_net.c index 3f6e31069c54..c5241fcbb966 100644 --- a/net/sysctl_net.c +++ b/net/sysctl_net.c | |||
@@ -17,17 +17,15 @@ | |||
17 | #include <linux/sysctl.h> | 17 | #include <linux/sysctl.h> |
18 | 18 | ||
19 | #ifdef CONFIG_INET | 19 | #ifdef CONFIG_INET |
20 | extern struct ctl_table ipv4_table[]; | 20 | #include <net/ip.h> |
21 | #endif | 21 | #endif |
22 | 22 | ||
23 | extern struct ctl_table core_table[]; | ||
24 | |||
25 | #ifdef CONFIG_NET | 23 | #ifdef CONFIG_NET |
26 | extern struct ctl_table ether_table[]; | 24 | #include <linux/if_ether.h> |
27 | #endif | 25 | #endif |
28 | 26 | ||
29 | #ifdef CONFIG_TR | 27 | #ifdef CONFIG_TR |
30 | extern struct ctl_table tr_table[]; | 28 | #include <linux/if_tr.h> |
31 | #endif | 29 | #endif |
32 | 30 | ||
33 | struct ctl_table net_table[] = { | 31 | struct ctl_table net_table[] = { |
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index bc4c44552c1f..41feca3bef86 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -2026,14 +2026,6 @@ static struct net_proto_family unix_family_ops = { | |||
2026 | .owner = THIS_MODULE, | 2026 | .owner = THIS_MODULE, |
2027 | }; | 2027 | }; |
2028 | 2028 | ||
2029 | #ifdef CONFIG_SYSCTL | ||
2030 | extern void unix_sysctl_register(void); | ||
2031 | extern void unix_sysctl_unregister(void); | ||
2032 | #else | ||
2033 | static inline void unix_sysctl_register(void) {} | ||
2034 | static inline void unix_sysctl_unregister(void) {} | ||
2035 | #endif | ||
2036 | |||
2037 | static int __init af_unix_init(void) | 2029 | static int __init af_unix_init(void) |
2038 | { | 2030 | { |
2039 | int rc = -1; | 2031 | int rc = -1; |
diff --git a/net/unix/sysctl_net_unix.c b/net/unix/sysctl_net_unix.c index c974dac4580a..690ffa5d5bfb 100644 --- a/net/unix/sysctl_net_unix.c +++ b/net/unix/sysctl_net_unix.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/mm.h> | 12 | #include <linux/mm.h> |
13 | #include <linux/sysctl.h> | 13 | #include <linux/sysctl.h> |
14 | 14 | ||
15 | extern int sysctl_unix_max_dgram_qlen; | 15 | #include <net/af_unix.h> |
16 | 16 | ||
17 | static ctl_table unix_table[] = { | 17 | static ctl_table unix_table[] = { |
18 | { | 18 | { |