diff options
-rw-r--r-- | net/ipv4/arp.c | 18 | ||||
-rw-r--r-- | net/ipv4/datagram.c | 2 | ||||
-rw-r--r-- | net/ipv4/fib_frontend.c | 7 | ||||
-rw-r--r-- | net/ipv4/icmp.c | 7 | ||||
-rw-r--r-- | net/ipv4/igmp.c | 9 | ||||
-rw-r--r-- | net/ipv4/inet_connection_sock.c | 19 | ||||
-rw-r--r-- | net/ipv4/inet_fragment.c | 1 | ||||
-rw-r--r-- | net/ipv4/inet_hashtables.c | 4 | ||||
-rw-r--r-- | net/ipv4/ip_fragment.c | 3 | ||||
-rw-r--r-- | net/ipv4/ip_output.c | 9 | ||||
-rw-r--r-- | net/ipv4/netfilter/ipt_REJECT.c | 2 | ||||
-rw-r--r-- | net/ipv4/protocol.c | 3 | ||||
-rw-r--r-- | net/ipv4/route.c | 7 | ||||
-rw-r--r-- | net/ipv4/tcp.c | 35 | ||||
-rw-r--r-- | net/ipv4/tcp_input.c | 18 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 35 | ||||
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 9 | ||||
-rw-r--r-- | net/ipv4/tcp_output.c | 12 | ||||
-rw-r--r-- | net/ipv4/tcp_timer.c | 1 | ||||
-rw-r--r-- | net/ipv4/tunnel4.c | 2 | ||||
-rw-r--r-- | net/ipv4/udplite.c | 3 | ||||
-rw-r--r-- | net/ipv4/xfrm4_input.c | 1 |
22 files changed, 67 insertions, 140 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 09ead1baa99e..96c1955b3e2f 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c | |||
@@ -116,6 +116,7 @@ | |||
116 | #if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE) | 116 | #if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE) |
117 | #include <net/atmclip.h> | 117 | #include <net/atmclip.h> |
118 | struct neigh_table *clip_tbl_hook; | 118 | struct neigh_table *clip_tbl_hook; |
119 | EXPORT_SYMBOL(clip_tbl_hook); | ||
119 | #endif | 120 | #endif |
120 | 121 | ||
121 | #include <asm/system.h> | 122 | #include <asm/system.h> |
@@ -169,6 +170,7 @@ const struct neigh_ops arp_broken_ops = { | |||
169 | .hh_output = dev_queue_xmit, | 170 | .hh_output = dev_queue_xmit, |
170 | .queue_xmit = dev_queue_xmit, | 171 | .queue_xmit = dev_queue_xmit, |
171 | }; | 172 | }; |
173 | EXPORT_SYMBOL(arp_broken_ops); | ||
172 | 174 | ||
173 | struct neigh_table arp_tbl = { | 175 | struct neigh_table arp_tbl = { |
174 | .family = AF_INET, | 176 | .family = AF_INET, |
@@ -198,6 +200,7 @@ struct neigh_table arp_tbl = { | |||
198 | .gc_thresh2 = 512, | 200 | .gc_thresh2 = 512, |
199 | .gc_thresh3 = 1024, | 201 | .gc_thresh3 = 1024, |
200 | }; | 202 | }; |
203 | EXPORT_SYMBOL(arp_tbl); | ||
201 | 204 | ||
202 | int arp_mc_map(__be32 addr, u8 *haddr, struct net_device *dev, int dir) | 205 | int arp_mc_map(__be32 addr, u8 *haddr, struct net_device *dev, int dir) |
203 | { | 206 | { |
@@ -499,6 +502,7 @@ int arp_find(unsigned char *haddr, struct sk_buff *skb) | |||
499 | kfree_skb(skb); | 502 | kfree_skb(skb); |
500 | return 1; | 503 | return 1; |
501 | } | 504 | } |
505 | EXPORT_SYMBOL(arp_find); | ||
502 | 506 | ||
503 | /* END OF OBSOLETE FUNCTIONS */ | 507 | /* END OF OBSOLETE FUNCTIONS */ |
504 | 508 | ||
@@ -700,6 +704,7 @@ out: | |||
700 | kfree_skb(skb); | 704 | kfree_skb(skb); |
701 | return NULL; | 705 | return NULL; |
702 | } | 706 | } |
707 | EXPORT_SYMBOL(arp_create); | ||
703 | 708 | ||
704 | /* | 709 | /* |
705 | * Send an arp packet. | 710 | * Send an arp packet. |
@@ -709,6 +714,7 @@ void arp_xmit(struct sk_buff *skb) | |||
709 | /* Send it off, maybe filter it using firewalling first. */ | 714 | /* Send it off, maybe filter it using firewalling first. */ |
710 | NF_HOOK(NFPROTO_ARP, NF_ARP_OUT, skb, NULL, skb->dev, dev_queue_xmit); | 715 | NF_HOOK(NFPROTO_ARP, NF_ARP_OUT, skb, NULL, skb->dev, dev_queue_xmit); |
711 | } | 716 | } |
717 | EXPORT_SYMBOL(arp_xmit); | ||
712 | 718 | ||
713 | /* | 719 | /* |
714 | * Create and send an arp packet. | 720 | * Create and send an arp packet. |
@@ -735,6 +741,7 @@ void arp_send(int type, int ptype, __be32 dest_ip, | |||
735 | 741 | ||
736 | arp_xmit(skb); | 742 | arp_xmit(skb); |
737 | } | 743 | } |
744 | EXPORT_SYMBOL(arp_send); | ||
738 | 745 | ||
739 | /* | 746 | /* |
740 | * Process an arp request. | 747 | * Process an arp request. |
@@ -1452,14 +1459,3 @@ static int __init arp_proc_init(void) | |||
1452 | } | 1459 | } |
1453 | 1460 | ||
1454 | #endif /* CONFIG_PROC_FS */ | 1461 | #endif /* CONFIG_PROC_FS */ |
1455 | |||
1456 | EXPORT_SYMBOL(arp_broken_ops); | ||
1457 | EXPORT_SYMBOL(arp_find); | ||
1458 | EXPORT_SYMBOL(arp_create); | ||
1459 | EXPORT_SYMBOL(arp_xmit); | ||
1460 | EXPORT_SYMBOL(arp_send); | ||
1461 | EXPORT_SYMBOL(arp_tbl); | ||
1462 | |||
1463 | #if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE) | ||
1464 | EXPORT_SYMBOL(clip_tbl_hook); | ||
1465 | #endif | ||
diff --git a/net/ipv4/datagram.c b/net/ipv4/datagram.c index fe3daa7f07a9..f0550941df7b 100644 --- a/net/ipv4/datagram.c +++ b/net/ipv4/datagram.c | |||
@@ -72,6 +72,4 @@ int ip4_datagram_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) | |||
72 | sk_dst_set(sk, &rt->dst); | 72 | sk_dst_set(sk, &rt->dst); |
73 | return(0); | 73 | return(0); |
74 | } | 74 | } |
75 | |||
76 | EXPORT_SYMBOL(ip4_datagram_connect); | 75 | EXPORT_SYMBOL(ip4_datagram_connect); |
77 | |||
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index e830f7a123bd..a43968918350 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c | |||
@@ -175,6 +175,7 @@ out: | |||
175 | fib_res_put(&res); | 175 | fib_res_put(&res); |
176 | return dev; | 176 | return dev; |
177 | } | 177 | } |
178 | EXPORT_SYMBOL(ip_dev_find); | ||
178 | 179 | ||
179 | /* | 180 | /* |
180 | * Find address type as if only "dev" was present in the system. If | 181 | * Find address type as if only "dev" was present in the system. If |
@@ -214,12 +215,14 @@ unsigned int inet_addr_type(struct net *net, __be32 addr) | |||
214 | { | 215 | { |
215 | return __inet_dev_addr_type(net, NULL, addr); | 216 | return __inet_dev_addr_type(net, NULL, addr); |
216 | } | 217 | } |
218 | EXPORT_SYMBOL(inet_addr_type); | ||
217 | 219 | ||
218 | unsigned int inet_dev_addr_type(struct net *net, const struct net_device *dev, | 220 | unsigned int inet_dev_addr_type(struct net *net, const struct net_device *dev, |
219 | __be32 addr) | 221 | __be32 addr) |
220 | { | 222 | { |
221 | return __inet_dev_addr_type(net, dev, addr); | 223 | return __inet_dev_addr_type(net, dev, addr); |
222 | } | 224 | } |
225 | EXPORT_SYMBOL(inet_dev_addr_type); | ||
223 | 226 | ||
224 | /* Given (packet source, input interface) and optional (dst, oif, tos): | 227 | /* Given (packet source, input interface) and optional (dst, oif, tos): |
225 | - (main) check, that source is valid i.e. not broadcast or our local | 228 | - (main) check, that source is valid i.e. not broadcast or our local |
@@ -1077,7 +1080,3 @@ void __init ip_fib_init(void) | |||
1077 | 1080 | ||
1078 | fib_hash_init(); | 1081 | fib_hash_init(); |
1079 | } | 1082 | } |
1080 | |||
1081 | EXPORT_SYMBOL(inet_addr_type); | ||
1082 | EXPORT_SYMBOL(inet_dev_addr_type); | ||
1083 | EXPORT_SYMBOL(ip_dev_find); | ||
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 7569b21a3a2d..a0d847c7cba5 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c | |||
@@ -181,6 +181,7 @@ const struct icmp_err icmp_err_convert[] = { | |||
181 | .fatal = 1, | 181 | .fatal = 1, |
182 | }, | 182 | }, |
183 | }; | 183 | }; |
184 | EXPORT_SYMBOL(icmp_err_convert); | ||
184 | 185 | ||
185 | /* | 186 | /* |
186 | * ICMP control array. This specifies what to do with each ICMP. | 187 | * ICMP control array. This specifies what to do with each ICMP. |
@@ -267,6 +268,7 @@ int xrlim_allow(struct dst_entry *dst, int timeout) | |||
267 | dst->rate_tokens = token; | 268 | dst->rate_tokens = token; |
268 | return rc; | 269 | return rc; |
269 | } | 270 | } |
271 | EXPORT_SYMBOL(xrlim_allow); | ||
270 | 272 | ||
271 | static inline int icmpv4_xrlim_allow(struct net *net, struct rtable *rt, | 273 | static inline int icmpv4_xrlim_allow(struct net *net, struct rtable *rt, |
272 | int type, int code) | 274 | int type, int code) |
@@ -647,6 +649,7 @@ out_unlock: | |||
647 | icmp_xmit_unlock(sk); | 649 | icmp_xmit_unlock(sk); |
648 | out:; | 650 | out:; |
649 | } | 651 | } |
652 | EXPORT_SYMBOL(icmp_send); | ||
650 | 653 | ||
651 | 654 | ||
652 | /* | 655 | /* |
@@ -1214,7 +1217,3 @@ int __init icmp_init(void) | |||
1214 | { | 1217 | { |
1215 | return register_pernet_subsys(&icmp_sk_ops); | 1218 | return register_pernet_subsys(&icmp_sk_ops); |
1216 | } | 1219 | } |
1217 | |||
1218 | EXPORT_SYMBOL(icmp_err_convert); | ||
1219 | EXPORT_SYMBOL(icmp_send); | ||
1220 | EXPORT_SYMBOL(xrlim_allow); | ||
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index b5580d422994..a1ad0e7180d2 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c | |||
@@ -1244,6 +1244,7 @@ void ip_mc_inc_group(struct in_device *in_dev, __be32 addr) | |||
1244 | out: | 1244 | out: |
1245 | return; | 1245 | return; |
1246 | } | 1246 | } |
1247 | EXPORT_SYMBOL(ip_mc_inc_group); | ||
1247 | 1248 | ||
1248 | /* | 1249 | /* |
1249 | * Resend IGMP JOIN report; used for bonding. | 1250 | * Resend IGMP JOIN report; used for bonding. |
@@ -1266,6 +1267,7 @@ void ip_mc_rejoin_group(struct ip_mc_list *im) | |||
1266 | igmp_ifc_event(in_dev); | 1267 | igmp_ifc_event(in_dev); |
1267 | #endif | 1268 | #endif |
1268 | } | 1269 | } |
1270 | EXPORT_SYMBOL(ip_mc_rejoin_group); | ||
1269 | 1271 | ||
1270 | /* | 1272 | /* |
1271 | * A socket has left a multicast group on device dev | 1273 | * A socket has left a multicast group on device dev |
@@ -1296,6 +1298,7 @@ void ip_mc_dec_group(struct in_device *in_dev, __be32 addr) | |||
1296 | } | 1298 | } |
1297 | } | 1299 | } |
1298 | } | 1300 | } |
1301 | EXPORT_SYMBOL(ip_mc_dec_group); | ||
1299 | 1302 | ||
1300 | /* Device changing type */ | 1303 | /* Device changing type */ |
1301 | 1304 | ||
@@ -1804,6 +1807,7 @@ done: | |||
1804 | rtnl_unlock(); | 1807 | rtnl_unlock(); |
1805 | return err; | 1808 | return err; |
1806 | } | 1809 | } |
1810 | EXPORT_SYMBOL(ip_mc_join_group); | ||
1807 | 1811 | ||
1808 | static void ip_sf_socklist_reclaim(struct rcu_head *rp) | 1812 | static void ip_sf_socklist_reclaim(struct rcu_head *rp) |
1809 | { | 1813 | { |
@@ -2676,8 +2680,3 @@ int __init igmp_mc_proc_init(void) | |||
2676 | return register_pernet_subsys(&igmp_net_ops); | 2680 | return register_pernet_subsys(&igmp_net_ops); |
2677 | } | 2681 | } |
2678 | #endif | 2682 | #endif |
2679 | |||
2680 | EXPORT_SYMBOL(ip_mc_dec_group); | ||
2681 | EXPORT_SYMBOL(ip_mc_inc_group); | ||
2682 | EXPORT_SYMBOL(ip_mc_join_group); | ||
2683 | EXPORT_SYMBOL(ip_mc_rejoin_group); | ||
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index 57c9e4d7b805..7174370b1195 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c | |||
@@ -84,7 +84,6 @@ int inet_csk_bind_conflict(const struct sock *sk, | |||
84 | } | 84 | } |
85 | return node != NULL; | 85 | return node != NULL; |
86 | } | 86 | } |
87 | |||
88 | EXPORT_SYMBOL_GPL(inet_csk_bind_conflict); | 87 | EXPORT_SYMBOL_GPL(inet_csk_bind_conflict); |
89 | 88 | ||
90 | /* Obtain a reference to a local port for the given sock, | 89 | /* Obtain a reference to a local port for the given sock, |
@@ -212,7 +211,6 @@ fail: | |||
212 | local_bh_enable(); | 211 | local_bh_enable(); |
213 | return ret; | 212 | return ret; |
214 | } | 213 | } |
215 | |||
216 | EXPORT_SYMBOL_GPL(inet_csk_get_port); | 214 | EXPORT_SYMBOL_GPL(inet_csk_get_port); |
217 | 215 | ||
218 | /* | 216 | /* |
@@ -305,7 +303,6 @@ out_err: | |||
305 | *err = error; | 303 | *err = error; |
306 | goto out; | 304 | goto out; |
307 | } | 305 | } |
308 | |||
309 | EXPORT_SYMBOL(inet_csk_accept); | 306 | EXPORT_SYMBOL(inet_csk_accept); |
310 | 307 | ||
311 | /* | 308 | /* |
@@ -327,7 +324,6 @@ void inet_csk_init_xmit_timers(struct sock *sk, | |||
327 | setup_timer(&sk->sk_timer, keepalive_handler, (unsigned long)sk); | 324 | setup_timer(&sk->sk_timer, keepalive_handler, (unsigned long)sk); |
328 | icsk->icsk_pending = icsk->icsk_ack.pending = 0; | 325 | icsk->icsk_pending = icsk->icsk_ack.pending = 0; |
329 | } | 326 | } |
330 | |||
331 | EXPORT_SYMBOL(inet_csk_init_xmit_timers); | 327 | EXPORT_SYMBOL(inet_csk_init_xmit_timers); |
332 | 328 | ||
333 | void inet_csk_clear_xmit_timers(struct sock *sk) | 329 | void inet_csk_clear_xmit_timers(struct sock *sk) |
@@ -340,21 +336,18 @@ void inet_csk_clear_xmit_timers(struct sock *sk) | |||
340 | sk_stop_timer(sk, &icsk->icsk_delack_timer); | 336 | sk_stop_timer(sk, &icsk->icsk_delack_timer); |
341 | sk_stop_timer(sk, &sk->sk_timer); | 337 | sk_stop_timer(sk, &sk->sk_timer); |
342 | } | 338 | } |
343 | |||
344 | EXPORT_SYMBOL(inet_csk_clear_xmit_timers); | 339 | EXPORT_SYMBOL(inet_csk_clear_xmit_timers); |
345 | 340 | ||
346 | void inet_csk_delete_keepalive_timer(struct sock *sk) | 341 | void inet_csk_delete_keepalive_timer(struct sock *sk) |
347 | { | 342 | { |
348 | sk_stop_timer(sk, &sk->sk_timer); | 343 | sk_stop_timer(sk, &sk->sk_timer); |
349 | } | 344 | } |
350 | |||
351 | EXPORT_SYMBOL(inet_csk_delete_keepalive_timer); | 345 | EXPORT_SYMBOL(inet_csk_delete_keepalive_timer); |
352 | 346 | ||
353 | void inet_csk_reset_keepalive_timer(struct sock *sk, unsigned long len) | 347 | void inet_csk_reset_keepalive_timer(struct sock *sk, unsigned long len) |
354 | { | 348 | { |
355 | sk_reset_timer(sk, &sk->sk_timer, jiffies + len); | 349 | sk_reset_timer(sk, &sk->sk_timer, jiffies + len); |
356 | } | 350 | } |
357 | |||
358 | EXPORT_SYMBOL(inet_csk_reset_keepalive_timer); | 351 | EXPORT_SYMBOL(inet_csk_reset_keepalive_timer); |
359 | 352 | ||
360 | struct dst_entry *inet_csk_route_req(struct sock *sk, | 353 | struct dst_entry *inet_csk_route_req(struct sock *sk, |
@@ -391,7 +384,6 @@ no_route: | |||
391 | IP_INC_STATS_BH(net, IPSTATS_MIB_OUTNOROUTES); | 384 | IP_INC_STATS_BH(net, IPSTATS_MIB_OUTNOROUTES); |
392 | return NULL; | 385 | return NULL; |
393 | } | 386 | } |
394 | |||
395 | EXPORT_SYMBOL_GPL(inet_csk_route_req); | 387 | EXPORT_SYMBOL_GPL(inet_csk_route_req); |
396 | 388 | ||
397 | static inline u32 inet_synq_hash(const __be32 raddr, const __be16 rport, | 389 | static inline u32 inet_synq_hash(const __be32 raddr, const __be16 rport, |
@@ -433,7 +425,6 @@ struct request_sock *inet_csk_search_req(const struct sock *sk, | |||
433 | 425 | ||
434 | return req; | 426 | return req; |
435 | } | 427 | } |
436 | |||
437 | EXPORT_SYMBOL_GPL(inet_csk_search_req); | 428 | EXPORT_SYMBOL_GPL(inet_csk_search_req); |
438 | 429 | ||
439 | void inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req, | 430 | void inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req, |
@@ -447,11 +438,11 @@ void inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req, | |||
447 | reqsk_queue_hash_req(&icsk->icsk_accept_queue, h, req, timeout); | 438 | reqsk_queue_hash_req(&icsk->icsk_accept_queue, h, req, timeout); |
448 | inet_csk_reqsk_queue_added(sk, timeout); | 439 | inet_csk_reqsk_queue_added(sk, timeout); |
449 | } | 440 | } |
441 | EXPORT_SYMBOL_GPL(inet_csk_reqsk_queue_hash_add); | ||
450 | 442 | ||
451 | /* Only thing we need from tcp.h */ | 443 | /* Only thing we need from tcp.h */ |
452 | extern int sysctl_tcp_synack_retries; | 444 | extern int sysctl_tcp_synack_retries; |
453 | 445 | ||
454 | EXPORT_SYMBOL_GPL(inet_csk_reqsk_queue_hash_add); | ||
455 | 446 | ||
456 | /* Decide when to expire the request and when to resend SYN-ACK */ | 447 | /* Decide when to expire the request and when to resend SYN-ACK */ |
457 | static inline void syn_ack_recalc(struct request_sock *req, const int thresh, | 448 | static inline void syn_ack_recalc(struct request_sock *req, const int thresh, |
@@ -569,7 +560,6 @@ void inet_csk_reqsk_queue_prune(struct sock *parent, | |||
569 | if (lopt->qlen) | 560 | if (lopt->qlen) |
570 | inet_csk_reset_keepalive_timer(parent, interval); | 561 | inet_csk_reset_keepalive_timer(parent, interval); |
571 | } | 562 | } |
572 | |||
573 | EXPORT_SYMBOL_GPL(inet_csk_reqsk_queue_prune); | 563 | EXPORT_SYMBOL_GPL(inet_csk_reqsk_queue_prune); |
574 | 564 | ||
575 | struct sock *inet_csk_clone(struct sock *sk, const struct request_sock *req, | 565 | struct sock *inet_csk_clone(struct sock *sk, const struct request_sock *req, |
@@ -599,7 +589,6 @@ struct sock *inet_csk_clone(struct sock *sk, const struct request_sock *req, | |||
599 | } | 589 | } |
600 | return newsk; | 590 | return newsk; |
601 | } | 591 | } |
602 | |||
603 | EXPORT_SYMBOL_GPL(inet_csk_clone); | 592 | EXPORT_SYMBOL_GPL(inet_csk_clone); |
604 | 593 | ||
605 | /* | 594 | /* |
@@ -630,7 +619,6 @@ void inet_csk_destroy_sock(struct sock *sk) | |||
630 | percpu_counter_dec(sk->sk_prot->orphan_count); | 619 | percpu_counter_dec(sk->sk_prot->orphan_count); |
631 | sock_put(sk); | 620 | sock_put(sk); |
632 | } | 621 | } |
633 | |||
634 | EXPORT_SYMBOL(inet_csk_destroy_sock); | 622 | EXPORT_SYMBOL(inet_csk_destroy_sock); |
635 | 623 | ||
636 | int inet_csk_listen_start(struct sock *sk, const int nr_table_entries) | 624 | int inet_csk_listen_start(struct sock *sk, const int nr_table_entries) |
@@ -665,7 +653,6 @@ int inet_csk_listen_start(struct sock *sk, const int nr_table_entries) | |||
665 | __reqsk_queue_destroy(&icsk->icsk_accept_queue); | 653 | __reqsk_queue_destroy(&icsk->icsk_accept_queue); |
666 | return -EADDRINUSE; | 654 | return -EADDRINUSE; |
667 | } | 655 | } |
668 | |||
669 | EXPORT_SYMBOL_GPL(inet_csk_listen_start); | 656 | EXPORT_SYMBOL_GPL(inet_csk_listen_start); |
670 | 657 | ||
671 | /* | 658 | /* |
@@ -720,7 +707,6 @@ void inet_csk_listen_stop(struct sock *sk) | |||
720 | } | 707 | } |
721 | WARN_ON(sk->sk_ack_backlog); | 708 | WARN_ON(sk->sk_ack_backlog); |
722 | } | 709 | } |
723 | |||
724 | EXPORT_SYMBOL_GPL(inet_csk_listen_stop); | 710 | EXPORT_SYMBOL_GPL(inet_csk_listen_stop); |
725 | 711 | ||
726 | void inet_csk_addr2sockaddr(struct sock *sk, struct sockaddr *uaddr) | 712 | void inet_csk_addr2sockaddr(struct sock *sk, struct sockaddr *uaddr) |
@@ -732,7 +718,6 @@ void inet_csk_addr2sockaddr(struct sock *sk, struct sockaddr *uaddr) | |||
732 | sin->sin_addr.s_addr = inet->inet_daddr; | 718 | sin->sin_addr.s_addr = inet->inet_daddr; |
733 | sin->sin_port = inet->inet_dport; | 719 | sin->sin_port = inet->inet_dport; |
734 | } | 720 | } |
735 | |||
736 | EXPORT_SYMBOL_GPL(inet_csk_addr2sockaddr); | 721 | EXPORT_SYMBOL_GPL(inet_csk_addr2sockaddr); |
737 | 722 | ||
738 | #ifdef CONFIG_COMPAT | 723 | #ifdef CONFIG_COMPAT |
@@ -747,7 +732,6 @@ int inet_csk_compat_getsockopt(struct sock *sk, int level, int optname, | |||
747 | return icsk->icsk_af_ops->getsockopt(sk, level, optname, | 732 | return icsk->icsk_af_ops->getsockopt(sk, level, optname, |
748 | optval, optlen); | 733 | optval, optlen); |
749 | } | 734 | } |
750 | |||
751 | EXPORT_SYMBOL_GPL(inet_csk_compat_getsockopt); | 735 | EXPORT_SYMBOL_GPL(inet_csk_compat_getsockopt); |
752 | 736 | ||
753 | int inet_csk_compat_setsockopt(struct sock *sk, int level, int optname, | 737 | int inet_csk_compat_setsockopt(struct sock *sk, int level, int optname, |
@@ -761,6 +745,5 @@ int inet_csk_compat_setsockopt(struct sock *sk, int level, int optname, | |||
761 | return icsk->icsk_af_ops->setsockopt(sk, level, optname, | 745 | return icsk->icsk_af_ops->setsockopt(sk, level, optname, |
762 | optval, optlen); | 746 | optval, optlen); |
763 | } | 747 | } |
764 | |||
765 | EXPORT_SYMBOL_GPL(inet_csk_compat_setsockopt); | 748 | EXPORT_SYMBOL_GPL(inet_csk_compat_setsockopt); |
766 | #endif | 749 | #endif |
diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c index a2ca6aed763b..5ff2a51b6d0c 100644 --- a/net/ipv4/inet_fragment.c +++ b/net/ipv4/inet_fragment.c | |||
@@ -114,7 +114,6 @@ void inet_frag_kill(struct inet_frag_queue *fq, struct inet_frags *f) | |||
114 | fq->last_in |= INET_FRAG_COMPLETE; | 114 | fq->last_in |= INET_FRAG_COMPLETE; |
115 | } | 115 | } |
116 | } | 116 | } |
117 | |||
118 | EXPORT_SYMBOL(inet_frag_kill); | 117 | EXPORT_SYMBOL(inet_frag_kill); |
119 | 118 | ||
120 | static inline void frag_kfree_skb(struct netns_frags *nf, struct inet_frags *f, | 119 | static inline void frag_kfree_skb(struct netns_frags *nf, struct inet_frags *f, |
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index d3e160a88219..fb7ad5a21ff3 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c | |||
@@ -99,7 +99,6 @@ void inet_put_port(struct sock *sk) | |||
99 | __inet_put_port(sk); | 99 | __inet_put_port(sk); |
100 | local_bh_enable(); | 100 | local_bh_enable(); |
101 | } | 101 | } |
102 | |||
103 | EXPORT_SYMBOL(inet_put_port); | 102 | EXPORT_SYMBOL(inet_put_port); |
104 | 103 | ||
105 | void __inet_inherit_port(struct sock *sk, struct sock *child) | 104 | void __inet_inherit_port(struct sock *sk, struct sock *child) |
@@ -116,7 +115,6 @@ void __inet_inherit_port(struct sock *sk, struct sock *child) | |||
116 | inet_csk(child)->icsk_bind_hash = tb; | 115 | inet_csk(child)->icsk_bind_hash = tb; |
117 | spin_unlock(&head->lock); | 116 | spin_unlock(&head->lock); |
118 | } | 117 | } |
119 | |||
120 | EXPORT_SYMBOL_GPL(__inet_inherit_port); | 118 | EXPORT_SYMBOL_GPL(__inet_inherit_port); |
121 | 119 | ||
122 | static inline int compute_score(struct sock *sk, struct net *net, | 120 | static inline int compute_score(struct sock *sk, struct net *net, |
@@ -546,7 +544,6 @@ int inet_hash_connect(struct inet_timewait_death_row *death_row, | |||
546 | return __inet_hash_connect(death_row, sk, inet_sk_port_offset(sk), | 544 | return __inet_hash_connect(death_row, sk, inet_sk_port_offset(sk), |
547 | __inet_check_established, __inet_hash_nolisten); | 545 | __inet_check_established, __inet_hash_nolisten); |
548 | } | 546 | } |
549 | |||
550 | EXPORT_SYMBOL_GPL(inet_hash_connect); | 547 | EXPORT_SYMBOL_GPL(inet_hash_connect); |
551 | 548 | ||
552 | void inet_hashinfo_init(struct inet_hashinfo *h) | 549 | void inet_hashinfo_init(struct inet_hashinfo *h) |
@@ -560,5 +557,4 @@ void inet_hashinfo_init(struct inet_hashinfo *h) | |||
560 | i + LISTENING_NULLS_BASE); | 557 | i + LISTENING_NULLS_BASE); |
561 | } | 558 | } |
562 | } | 559 | } |
563 | |||
564 | EXPORT_SYMBOL_GPL(inet_hashinfo_init); | 560 | EXPORT_SYMBOL_GPL(inet_hashinfo_init); |
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c index dd0dbf0c6b7f..b7c41654dde5 100644 --- a/net/ipv4/ip_fragment.c +++ b/net/ipv4/ip_fragment.c | |||
@@ -632,6 +632,7 @@ int ip_defrag(struct sk_buff *skb, u32 user) | |||
632 | kfree_skb(skb); | 632 | kfree_skb(skb); |
633 | return -ENOMEM; | 633 | return -ENOMEM; |
634 | } | 634 | } |
635 | EXPORT_SYMBOL(ip_defrag); | ||
635 | 636 | ||
636 | #ifdef CONFIG_SYSCTL | 637 | #ifdef CONFIG_SYSCTL |
637 | static int zero; | 638 | static int zero; |
@@ -785,5 +786,3 @@ void __init ipfrag_init(void) | |||
785 | ip4_frags.secret_interval = 10 * 60 * HZ; | 786 | ip4_frags.secret_interval = 10 * 60 * HZ; |
786 | inet_frags_init(&ip4_frags); | 787 | inet_frags_init(&ip4_frags); |
787 | } | 788 | } |
788 | |||
789 | EXPORT_SYMBOL(ip_defrag); | ||
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 663cb2acb39e..6652bd9da676 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -89,6 +89,7 @@ __inline__ void ip_send_check(struct iphdr *iph) | |||
89 | iph->check = 0; | 89 | iph->check = 0; |
90 | iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); | 90 | iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); |
91 | } | 91 | } |
92 | EXPORT_SYMBOL(ip_send_check); | ||
92 | 93 | ||
93 | int __ip_local_out(struct sk_buff *skb) | 94 | int __ip_local_out(struct sk_buff *skb) |
94 | { | 95 | { |
@@ -172,7 +173,6 @@ int ip_build_and_send_pkt(struct sk_buff *skb, struct sock *sk, | |||
172 | /* Send it out. */ | 173 | /* Send it out. */ |
173 | return ip_local_out(skb); | 174 | return ip_local_out(skb); |
174 | } | 175 | } |
175 | |||
176 | EXPORT_SYMBOL_GPL(ip_build_and_send_pkt); | 176 | EXPORT_SYMBOL_GPL(ip_build_and_send_pkt); |
177 | 177 | ||
178 | static inline int ip_finish_output2(struct sk_buff *skb) | 178 | static inline int ip_finish_output2(struct sk_buff *skb) |
@@ -403,6 +403,7 @@ no_route: | |||
403 | kfree_skb(skb); | 403 | kfree_skb(skb); |
404 | return -EHOSTUNREACH; | 404 | return -EHOSTUNREACH; |
405 | } | 405 | } |
406 | EXPORT_SYMBOL(ip_queue_xmit); | ||
406 | 407 | ||
407 | 408 | ||
408 | static void ip_copy_metadata(struct sk_buff *to, struct sk_buff *from) | 409 | static void ip_copy_metadata(struct sk_buff *to, struct sk_buff *from) |
@@ -696,7 +697,6 @@ fail: | |||
696 | IP_INC_STATS(dev_net(dev), IPSTATS_MIB_FRAGFAILS); | 697 | IP_INC_STATS(dev_net(dev), IPSTATS_MIB_FRAGFAILS); |
697 | return err; | 698 | return err; |
698 | } | 699 | } |
699 | |||
700 | EXPORT_SYMBOL(ip_fragment); | 700 | EXPORT_SYMBOL(ip_fragment); |
701 | 701 | ||
702 | int | 702 | int |
@@ -715,6 +715,7 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk | |||
715 | } | 715 | } |
716 | return 0; | 716 | return 0; |
717 | } | 717 | } |
718 | EXPORT_SYMBOL(ip_generic_getfrag); | ||
718 | 719 | ||
719 | static inline __wsum | 720 | static inline __wsum |
720 | csum_page(struct page *page, int offset, int copy) | 721 | csum_page(struct page *page, int offset, int copy) |
@@ -1447,7 +1448,3 @@ void __init ip_init(void) | |||
1447 | igmp_mc_proc_init(); | 1448 | igmp_mc_proc_init(); |
1448 | #endif | 1449 | #endif |
1449 | } | 1450 | } |
1450 | |||
1451 | EXPORT_SYMBOL(ip_generic_getfrag); | ||
1452 | EXPORT_SYMBOL(ip_queue_xmit); | ||
1453 | EXPORT_SYMBOL(ip_send_check); | ||
diff --git a/net/ipv4/netfilter/ipt_REJECT.c b/net/ipv4/netfilter/ipt_REJECT.c index f5f4a888e4ec..bbbd2736c549 100644 --- a/net/ipv4/netfilter/ipt_REJECT.c +++ b/net/ipv4/netfilter/ipt_REJECT.c | |||
@@ -109,7 +109,7 @@ static void send_reset(struct sk_buff *oldskb, int hook) | |||
109 | addr_type = RTN_LOCAL; | 109 | addr_type = RTN_LOCAL; |
110 | 110 | ||
111 | /* ip_route_me_harder expects skb->dst to be set */ | 111 | /* ip_route_me_harder expects skb->dst to be set */ |
112 | skb_dst_set(nskb, dst_clone(skb_dst(oldskb))); | 112 | skb_dst_set_noref(nskb, skb_dst(oldskb)); |
113 | 113 | ||
114 | if (ip_route_me_harder(nskb, addr_type)) | 114 | if (ip_route_me_harder(nskb, addr_type)) |
115 | goto free_nskb; | 115 | goto free_nskb; |
diff --git a/net/ipv4/protocol.c b/net/ipv4/protocol.c index 542f22fc98b3..f2d297351405 100644 --- a/net/ipv4/protocol.c +++ b/net/ipv4/protocol.c | |||
@@ -52,6 +52,7 @@ int inet_add_protocol(const struct net_protocol *prot, unsigned char protocol) | |||
52 | 52 | ||
53 | return ret; | 53 | return ret; |
54 | } | 54 | } |
55 | EXPORT_SYMBOL(inet_add_protocol); | ||
55 | 56 | ||
56 | /* | 57 | /* |
57 | * Remove a protocol from the hash tables. | 58 | * Remove a protocol from the hash tables. |
@@ -76,6 +77,4 @@ int inet_del_protocol(const struct net_protocol *prot, unsigned char protocol) | |||
76 | 77 | ||
77 | return ret; | 78 | return ret; |
78 | } | 79 | } |
79 | |||
80 | EXPORT_SYMBOL(inet_add_protocol); | ||
81 | EXPORT_SYMBOL(inet_del_protocol); | 80 | EXPORT_SYMBOL(inet_del_protocol); |
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 03430de46166..562ce92de2a6 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c | |||
@@ -1324,6 +1324,7 @@ void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, int more) | |||
1324 | 1324 | ||
1325 | ip_select_fb_ident(iph); | 1325 | ip_select_fb_ident(iph); |
1326 | } | 1326 | } |
1327 | EXPORT_SYMBOL(__ip_select_ident); | ||
1327 | 1328 | ||
1328 | static void rt_del(unsigned hash, struct rtable *rt) | 1329 | static void rt_del(unsigned hash, struct rtable *rt) |
1329 | { | 1330 | { |
@@ -2735,7 +2736,6 @@ int __ip_route_output_key(struct net *net, struct rtable **rp, | |||
2735 | slow_output: | 2736 | slow_output: |
2736 | return ip_route_output_slow(net, rp, flp); | 2737 | return ip_route_output_slow(net, rp, flp); |
2737 | } | 2738 | } |
2738 | |||
2739 | EXPORT_SYMBOL_GPL(__ip_route_output_key); | 2739 | EXPORT_SYMBOL_GPL(__ip_route_output_key); |
2740 | 2740 | ||
2741 | static void ipv4_rt_blackhole_update_pmtu(struct dst_entry *dst, u32 mtu) | 2741 | static void ipv4_rt_blackhole_update_pmtu(struct dst_entry *dst, u32 mtu) |
@@ -2819,13 +2819,13 @@ int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp, | |||
2819 | 2819 | ||
2820 | return 0; | 2820 | return 0; |
2821 | } | 2821 | } |
2822 | |||
2823 | EXPORT_SYMBOL_GPL(ip_route_output_flow); | 2822 | EXPORT_SYMBOL_GPL(ip_route_output_flow); |
2824 | 2823 | ||
2825 | int ip_route_output_key(struct net *net, struct rtable **rp, struct flowi *flp) | 2824 | int ip_route_output_key(struct net *net, struct rtable **rp, struct flowi *flp) |
2826 | { | 2825 | { |
2827 | return ip_route_output_flow(net, rp, flp, NULL, 0); | 2826 | return ip_route_output_flow(net, rp, flp, NULL, 0); |
2828 | } | 2827 | } |
2828 | EXPORT_SYMBOL(ip_route_output_key); | ||
2829 | 2829 | ||
2830 | static int rt_fill_info(struct net *net, | 2830 | static int rt_fill_info(struct net *net, |
2831 | struct sk_buff *skb, u32 pid, u32 seq, int event, | 2831 | struct sk_buff *skb, u32 pid, u32 seq, int event, |
@@ -3363,6 +3363,3 @@ void __init ip_static_sysctl_init(void) | |||
3363 | register_sysctl_paths(ipv4_path, ipv4_skeleton); | 3363 | register_sysctl_paths(ipv4_path, ipv4_skeleton); |
3364 | } | 3364 | } |
3365 | #endif | 3365 | #endif |
3366 | |||
3367 | EXPORT_SYMBOL(__ip_select_ident); | ||
3368 | EXPORT_SYMBOL(ip_route_output_key); | ||
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 4e6ddfbab09e..b8601b7683a6 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -315,7 +315,6 @@ struct tcp_splice_state { | |||
315 | * is strict, actions are advisory and have some latency. | 315 | * is strict, actions are advisory and have some latency. |
316 | */ | 316 | */ |
317 | int tcp_memory_pressure __read_mostly; | 317 | int tcp_memory_pressure __read_mostly; |
318 | |||
319 | EXPORT_SYMBOL(tcp_memory_pressure); | 318 | EXPORT_SYMBOL(tcp_memory_pressure); |
320 | 319 | ||
321 | void tcp_enter_memory_pressure(struct sock *sk) | 320 | void tcp_enter_memory_pressure(struct sock *sk) |
@@ -325,7 +324,6 @@ void tcp_enter_memory_pressure(struct sock *sk) | |||
325 | tcp_memory_pressure = 1; | 324 | tcp_memory_pressure = 1; |
326 | } | 325 | } |
327 | } | 326 | } |
328 | |||
329 | EXPORT_SYMBOL(tcp_enter_memory_pressure); | 327 | EXPORT_SYMBOL(tcp_enter_memory_pressure); |
330 | 328 | ||
331 | /* Convert seconds to retransmits based on initial and max timeout */ | 329 | /* Convert seconds to retransmits based on initial and max timeout */ |
@@ -460,6 +458,7 @@ unsigned int tcp_poll(struct file *file, struct socket *sock, poll_table *wait) | |||
460 | } | 458 | } |
461 | return mask; | 459 | return mask; |
462 | } | 460 | } |
461 | EXPORT_SYMBOL(tcp_poll); | ||
463 | 462 | ||
464 | int tcp_ioctl(struct sock *sk, int cmd, unsigned long arg) | 463 | int tcp_ioctl(struct sock *sk, int cmd, unsigned long arg) |
465 | { | 464 | { |
@@ -508,6 +507,7 @@ int tcp_ioctl(struct sock *sk, int cmd, unsigned long arg) | |||
508 | 507 | ||
509 | return put_user(answ, (int __user *)arg); | 508 | return put_user(answ, (int __user *)arg); |
510 | } | 509 | } |
510 | EXPORT_SYMBOL(tcp_ioctl); | ||
511 | 511 | ||
512 | static inline void tcp_mark_push(struct tcp_sock *tp, struct sk_buff *skb) | 512 | static inline void tcp_mark_push(struct tcp_sock *tp, struct sk_buff *skb) |
513 | { | 513 | { |
@@ -675,6 +675,7 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *ppos, | |||
675 | 675 | ||
676 | return ret; | 676 | return ret; |
677 | } | 677 | } |
678 | EXPORT_SYMBOL(tcp_splice_read); | ||
678 | 679 | ||
679 | struct sk_buff *sk_stream_alloc_skb(struct sock *sk, int size, gfp_t gfp) | 680 | struct sk_buff *sk_stream_alloc_skb(struct sock *sk, int size, gfp_t gfp) |
680 | { | 681 | { |
@@ -873,6 +874,7 @@ ssize_t tcp_sendpage(struct socket *sock, struct page *page, int offset, | |||
873 | release_sock(sk); | 874 | release_sock(sk); |
874 | return res; | 875 | return res; |
875 | } | 876 | } |
877 | EXPORT_SYMBOL(tcp_sendpage); | ||
876 | 878 | ||
877 | #define TCP_PAGE(sk) (sk->sk_sndmsg_page) | 879 | #define TCP_PAGE(sk) (sk->sk_sndmsg_page) |
878 | #define TCP_OFF(sk) (sk->sk_sndmsg_off) | 880 | #define TCP_OFF(sk) (sk->sk_sndmsg_off) |
@@ -1121,6 +1123,7 @@ out_err: | |||
1121 | release_sock(sk); | 1123 | release_sock(sk); |
1122 | return err; | 1124 | return err; |
1123 | } | 1125 | } |
1126 | EXPORT_SYMBOL(tcp_sendmsg); | ||
1124 | 1127 | ||
1125 | /* | 1128 | /* |
1126 | * Handle reading urgent data. BSD has very simple semantics for | 1129 | * Handle reading urgent data. BSD has very simple semantics for |
@@ -1380,6 +1383,7 @@ int tcp_read_sock(struct sock *sk, read_descriptor_t *desc, | |||
1380 | tcp_cleanup_rbuf(sk, copied); | 1383 | tcp_cleanup_rbuf(sk, copied); |
1381 | return copied; | 1384 | return copied; |
1382 | } | 1385 | } |
1386 | EXPORT_SYMBOL(tcp_read_sock); | ||
1383 | 1387 | ||
1384 | /* | 1388 | /* |
1385 | * This routine copies from a sock struct into the user buffer. | 1389 | * This routine copies from a sock struct into the user buffer. |
@@ -1774,6 +1778,7 @@ recv_urg: | |||
1774 | err = tcp_recv_urg(sk, msg, len, flags); | 1778 | err = tcp_recv_urg(sk, msg, len, flags); |
1775 | goto out; | 1779 | goto out; |
1776 | } | 1780 | } |
1781 | EXPORT_SYMBOL(tcp_recvmsg); | ||
1777 | 1782 | ||
1778 | void tcp_set_state(struct sock *sk, int state) | 1783 | void tcp_set_state(struct sock *sk, int state) |
1779 | { | 1784 | { |
@@ -1866,6 +1871,7 @@ void tcp_shutdown(struct sock *sk, int how) | |||
1866 | tcp_send_fin(sk); | 1871 | tcp_send_fin(sk); |
1867 | } | 1872 | } |
1868 | } | 1873 | } |
1874 | EXPORT_SYMBOL(tcp_shutdown); | ||
1869 | 1875 | ||
1870 | void tcp_close(struct sock *sk, long timeout) | 1876 | void tcp_close(struct sock *sk, long timeout) |
1871 | { | 1877 | { |
@@ -2029,6 +2035,7 @@ out: | |||
2029 | local_bh_enable(); | 2035 | local_bh_enable(); |
2030 | sock_put(sk); | 2036 | sock_put(sk); |
2031 | } | 2037 | } |
2038 | EXPORT_SYMBOL(tcp_close); | ||
2032 | 2039 | ||
2033 | /* These states need RST on ABORT according to RFC793 */ | 2040 | /* These states need RST on ABORT according to RFC793 */ |
2034 | 2041 | ||
@@ -2102,6 +2109,7 @@ int tcp_disconnect(struct sock *sk, int flags) | |||
2102 | sk->sk_error_report(sk); | 2109 | sk->sk_error_report(sk); |
2103 | return err; | 2110 | return err; |
2104 | } | 2111 | } |
2112 | EXPORT_SYMBOL(tcp_disconnect); | ||
2105 | 2113 | ||
2106 | /* | 2114 | /* |
2107 | * Socket option code for TCP. | 2115 | * Socket option code for TCP. |
@@ -2400,6 +2408,7 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval, | |||
2400 | optval, optlen); | 2408 | optval, optlen); |
2401 | return do_tcp_setsockopt(sk, level, optname, optval, optlen); | 2409 | return do_tcp_setsockopt(sk, level, optname, optval, optlen); |
2402 | } | 2410 | } |
2411 | EXPORT_SYMBOL(tcp_setsockopt); | ||
2403 | 2412 | ||
2404 | #ifdef CONFIG_COMPAT | 2413 | #ifdef CONFIG_COMPAT |
2405 | int compat_tcp_setsockopt(struct sock *sk, int level, int optname, | 2414 | int compat_tcp_setsockopt(struct sock *sk, int level, int optname, |
@@ -2410,7 +2419,6 @@ int compat_tcp_setsockopt(struct sock *sk, int level, int optname, | |||
2410 | optval, optlen); | 2419 | optval, optlen); |
2411 | return do_tcp_setsockopt(sk, level, optname, optval, optlen); | 2420 | return do_tcp_setsockopt(sk, level, optname, optval, optlen); |
2412 | } | 2421 | } |
2413 | |||
2414 | EXPORT_SYMBOL(compat_tcp_setsockopt); | 2422 | EXPORT_SYMBOL(compat_tcp_setsockopt); |
2415 | #endif | 2423 | #endif |
2416 | 2424 | ||
@@ -2476,7 +2484,6 @@ void tcp_get_info(struct sock *sk, struct tcp_info *info) | |||
2476 | 2484 | ||
2477 | info->tcpi_total_retrans = tp->total_retrans; | 2485 | info->tcpi_total_retrans = tp->total_retrans; |
2478 | } | 2486 | } |
2479 | |||
2480 | EXPORT_SYMBOL_GPL(tcp_get_info); | 2487 | EXPORT_SYMBOL_GPL(tcp_get_info); |
2481 | 2488 | ||
2482 | static int do_tcp_getsockopt(struct sock *sk, int level, | 2489 | static int do_tcp_getsockopt(struct sock *sk, int level, |
@@ -2615,6 +2622,7 @@ int tcp_getsockopt(struct sock *sk, int level, int optname, char __user *optval, | |||
2615 | optval, optlen); | 2622 | optval, optlen); |
2616 | return do_tcp_getsockopt(sk, level, optname, optval, optlen); | 2623 | return do_tcp_getsockopt(sk, level, optname, optval, optlen); |
2617 | } | 2624 | } |
2625 | EXPORT_SYMBOL(tcp_getsockopt); | ||
2618 | 2626 | ||
2619 | #ifdef CONFIG_COMPAT | 2627 | #ifdef CONFIG_COMPAT |
2620 | int compat_tcp_getsockopt(struct sock *sk, int level, int optname, | 2628 | int compat_tcp_getsockopt(struct sock *sk, int level, int optname, |
@@ -2625,7 +2633,6 @@ int compat_tcp_getsockopt(struct sock *sk, int level, int optname, | |||
2625 | optval, optlen); | 2633 | optval, optlen); |
2626 | return do_tcp_getsockopt(sk, level, optname, optval, optlen); | 2634 | return do_tcp_getsockopt(sk, level, optname, optval, optlen); |
2627 | } | 2635 | } |
2628 | |||
2629 | EXPORT_SYMBOL(compat_tcp_getsockopt); | 2636 | EXPORT_SYMBOL(compat_tcp_getsockopt); |
2630 | #endif | 2637 | #endif |
2631 | 2638 | ||
@@ -2862,7 +2869,6 @@ void tcp_free_md5sig_pool(void) | |||
2862 | if (pool) | 2869 | if (pool) |
2863 | __tcp_free_md5sig_pool(pool); | 2870 | __tcp_free_md5sig_pool(pool); |
2864 | } | 2871 | } |
2865 | |||
2866 | EXPORT_SYMBOL(tcp_free_md5sig_pool); | 2872 | EXPORT_SYMBOL(tcp_free_md5sig_pool); |
2867 | 2873 | ||
2868 | static struct tcp_md5sig_pool * __percpu * | 2874 | static struct tcp_md5sig_pool * __percpu * |
@@ -2938,7 +2944,6 @@ retry: | |||
2938 | } | 2944 | } |
2939 | return pool; | 2945 | return pool; |
2940 | } | 2946 | } |
2941 | |||
2942 | EXPORT_SYMBOL(tcp_alloc_md5sig_pool); | 2947 | EXPORT_SYMBOL(tcp_alloc_md5sig_pool); |
2943 | 2948 | ||
2944 | 2949 | ||
@@ -2990,7 +2995,6 @@ int tcp_md5_hash_header(struct tcp_md5sig_pool *hp, | |||
2990 | th->check = old_checksum; | 2995 | th->check = old_checksum; |
2991 | return err; | 2996 | return err; |
2992 | } | 2997 | } |
2993 | |||
2994 | EXPORT_SYMBOL(tcp_md5_hash_header); | 2998 | EXPORT_SYMBOL(tcp_md5_hash_header); |
2995 | 2999 | ||
2996 | int tcp_md5_hash_skb_data(struct tcp_md5sig_pool *hp, | 3000 | int tcp_md5_hash_skb_data(struct tcp_md5sig_pool *hp, |
@@ -3024,7 +3028,6 @@ int tcp_md5_hash_skb_data(struct tcp_md5sig_pool *hp, | |||
3024 | 3028 | ||
3025 | return 0; | 3029 | return 0; |
3026 | } | 3030 | } |
3027 | |||
3028 | EXPORT_SYMBOL(tcp_md5_hash_skb_data); | 3031 | EXPORT_SYMBOL(tcp_md5_hash_skb_data); |
3029 | 3032 | ||
3030 | int tcp_md5_hash_key(struct tcp_md5sig_pool *hp, struct tcp_md5sig_key *key) | 3033 | int tcp_md5_hash_key(struct tcp_md5sig_pool *hp, struct tcp_md5sig_key *key) |
@@ -3034,7 +3037,6 @@ int tcp_md5_hash_key(struct tcp_md5sig_pool *hp, struct tcp_md5sig_key *key) | |||
3034 | sg_init_one(&sg, key->key, key->keylen); | 3037 | sg_init_one(&sg, key->key, key->keylen); |
3035 | return crypto_hash_update(&hp->md5_desc, &sg, key->keylen); | 3038 | return crypto_hash_update(&hp->md5_desc, &sg, key->keylen); |
3036 | } | 3039 | } |
3037 | |||
3038 | EXPORT_SYMBOL(tcp_md5_hash_key); | 3040 | EXPORT_SYMBOL(tcp_md5_hash_key); |
3039 | 3041 | ||
3040 | #endif | 3042 | #endif |
@@ -3306,16 +3308,3 @@ void __init tcp_init(void) | |||
3306 | tcp_secret_retiring = &tcp_secret_two; | 3308 | tcp_secret_retiring = &tcp_secret_two; |
3307 | tcp_secret_secondary = &tcp_secret_two; | 3309 | tcp_secret_secondary = &tcp_secret_two; |
3308 | } | 3310 | } |
3309 | |||
3310 | EXPORT_SYMBOL(tcp_close); | ||
3311 | EXPORT_SYMBOL(tcp_disconnect); | ||
3312 | EXPORT_SYMBOL(tcp_getsockopt); | ||
3313 | EXPORT_SYMBOL(tcp_ioctl); | ||
3314 | EXPORT_SYMBOL(tcp_poll); | ||
3315 | EXPORT_SYMBOL(tcp_read_sock); | ||
3316 | EXPORT_SYMBOL(tcp_recvmsg); | ||
3317 | EXPORT_SYMBOL(tcp_sendmsg); | ||
3318 | EXPORT_SYMBOL(tcp_splice_read); | ||
3319 | EXPORT_SYMBOL(tcp_sendpage); | ||
3320 | EXPORT_SYMBOL(tcp_setsockopt); | ||
3321 | EXPORT_SYMBOL(tcp_shutdown); | ||
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 04334661fa28..3c426cb318e7 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -78,10 +78,13 @@ int sysctl_tcp_window_scaling __read_mostly = 1; | |||
78 | int sysctl_tcp_sack __read_mostly = 1; | 78 | int sysctl_tcp_sack __read_mostly = 1; |
79 | int sysctl_tcp_fack __read_mostly = 1; | 79 | int sysctl_tcp_fack __read_mostly = 1; |
80 | int sysctl_tcp_reordering __read_mostly = TCP_FASTRETRANS_THRESH; | 80 | int sysctl_tcp_reordering __read_mostly = TCP_FASTRETRANS_THRESH; |
81 | EXPORT_SYMBOL(sysctl_tcp_reordering); | ||
81 | int sysctl_tcp_ecn __read_mostly = 2; | 82 | int sysctl_tcp_ecn __read_mostly = 2; |
83 | EXPORT_SYMBOL(sysctl_tcp_ecn); | ||
82 | int sysctl_tcp_dsack __read_mostly = 1; | 84 | int sysctl_tcp_dsack __read_mostly = 1; |
83 | int sysctl_tcp_app_win __read_mostly = 31; | 85 | int sysctl_tcp_app_win __read_mostly = 31; |
84 | int sysctl_tcp_adv_win_scale __read_mostly = 2; | 86 | int sysctl_tcp_adv_win_scale __read_mostly = 2; |
87 | EXPORT_SYMBOL(sysctl_tcp_adv_win_scale); | ||
85 | 88 | ||
86 | int sysctl_tcp_stdurg __read_mostly; | 89 | int sysctl_tcp_stdurg __read_mostly; |
87 | int sysctl_tcp_rfc1337 __read_mostly; | 90 | int sysctl_tcp_rfc1337 __read_mostly; |
@@ -419,6 +422,7 @@ void tcp_initialize_rcv_mss(struct sock *sk) | |||
419 | 422 | ||
420 | inet_csk(sk)->icsk_ack.rcv_mss = hint; | 423 | inet_csk(sk)->icsk_ack.rcv_mss = hint; |
421 | } | 424 | } |
425 | EXPORT_SYMBOL(tcp_initialize_rcv_mss); | ||
422 | 426 | ||
423 | /* Receiver "autotuning" code. | 427 | /* Receiver "autotuning" code. |
424 | * | 428 | * |
@@ -2938,6 +2942,7 @@ void tcp_simple_retransmit(struct sock *sk) | |||
2938 | } | 2942 | } |
2939 | tcp_xmit_retransmit_queue(sk); | 2943 | tcp_xmit_retransmit_queue(sk); |
2940 | } | 2944 | } |
2945 | EXPORT_SYMBOL(tcp_simple_retransmit); | ||
2941 | 2946 | ||
2942 | /* Process an event, which can update packets-in-flight not trivially. | 2947 | /* Process an event, which can update packets-in-flight not trivially. |
2943 | * Main goal of this function is to calculate new estimate for left_out, | 2948 | * Main goal of this function is to calculate new estimate for left_out, |
@@ -3858,6 +3863,7 @@ void tcp_parse_options(struct sk_buff *skb, struct tcp_options_received *opt_rx, | |||
3858 | } | 3863 | } |
3859 | } | 3864 | } |
3860 | } | 3865 | } |
3866 | EXPORT_SYMBOL(tcp_parse_options); | ||
3861 | 3867 | ||
3862 | static int tcp_parse_aligned_timestamp(struct tcp_sock *tp, struct tcphdr *th) | 3868 | static int tcp_parse_aligned_timestamp(struct tcp_sock *tp, struct tcphdr *th) |
3863 | { | 3869 | { |
@@ -3931,6 +3937,7 @@ u8 *tcp_parse_md5sig_option(struct tcphdr *th) | |||
3931 | } | 3937 | } |
3932 | return NULL; | 3938 | return NULL; |
3933 | } | 3939 | } |
3940 | EXPORT_SYMBOL(tcp_parse_md5sig_option); | ||
3934 | #endif | 3941 | #endif |
3935 | 3942 | ||
3936 | static inline void tcp_store_ts_recent(struct tcp_sock *tp) | 3943 | static inline void tcp_store_ts_recent(struct tcp_sock *tp) |
@@ -5432,6 +5439,7 @@ discard: | |||
5432 | __kfree_skb(skb); | 5439 | __kfree_skb(skb); |
5433 | return 0; | 5440 | return 0; |
5434 | } | 5441 | } |
5442 | EXPORT_SYMBOL(tcp_rcv_established); | ||
5435 | 5443 | ||
5436 | static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb, | 5444 | static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb, |
5437 | struct tcphdr *th, unsigned len) | 5445 | struct tcphdr *th, unsigned len) |
@@ -5931,14 +5939,4 @@ discard: | |||
5931 | } | 5939 | } |
5932 | return 0; | 5940 | return 0; |
5933 | } | 5941 | } |
5934 | |||
5935 | EXPORT_SYMBOL(sysctl_tcp_ecn); | ||
5936 | EXPORT_SYMBOL(sysctl_tcp_reordering); | ||
5937 | EXPORT_SYMBOL(sysctl_tcp_adv_win_scale); | ||
5938 | EXPORT_SYMBOL(tcp_parse_options); | ||
5939 | #ifdef CONFIG_TCP_MD5SIG | ||
5940 | EXPORT_SYMBOL(tcp_parse_md5sig_option); | ||
5941 | #endif | ||
5942 | EXPORT_SYMBOL(tcp_rcv_established); | ||
5943 | EXPORT_SYMBOL(tcp_rcv_state_process); | 5942 | EXPORT_SYMBOL(tcp_rcv_state_process); |
5944 | EXPORT_SYMBOL(tcp_initialize_rcv_mss); | ||
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 8fa32f5ae2ce..44545e8e8c92 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -84,6 +84,7 @@ | |||
84 | 84 | ||
85 | int sysctl_tcp_tw_reuse __read_mostly; | 85 | int sysctl_tcp_tw_reuse __read_mostly; |
86 | int sysctl_tcp_low_latency __read_mostly; | 86 | int sysctl_tcp_low_latency __read_mostly; |
87 | EXPORT_SYMBOL(sysctl_tcp_low_latency); | ||
87 | 88 | ||
88 | 89 | ||
89 | #ifdef CONFIG_TCP_MD5SIG | 90 | #ifdef CONFIG_TCP_MD5SIG |
@@ -100,6 +101,7 @@ struct tcp_md5sig_key *tcp_v4_md5_do_lookup(struct sock *sk, __be32 addr) | |||
100 | #endif | 101 | #endif |
101 | 102 | ||
102 | struct inet_hashinfo tcp_hashinfo; | 103 | struct inet_hashinfo tcp_hashinfo; |
104 | EXPORT_SYMBOL(tcp_hashinfo); | ||
103 | 105 | ||
104 | static inline __u32 tcp_v4_init_sequence(struct sk_buff *skb) | 106 | static inline __u32 tcp_v4_init_sequence(struct sk_buff *skb) |
105 | { | 107 | { |
@@ -139,7 +141,6 @@ int tcp_twsk_unique(struct sock *sk, struct sock *sktw, void *twp) | |||
139 | 141 | ||
140 | return 0; | 142 | return 0; |
141 | } | 143 | } |
142 | |||
143 | EXPORT_SYMBOL_GPL(tcp_twsk_unique); | 144 | EXPORT_SYMBOL_GPL(tcp_twsk_unique); |
144 | 145 | ||
145 | /* This will initiate an outgoing connection. */ | 146 | /* This will initiate an outgoing connection. */ |
@@ -267,6 +268,7 @@ failure: | |||
267 | inet->inet_dport = 0; | 268 | inet->inet_dport = 0; |
268 | return err; | 269 | return err; |
269 | } | 270 | } |
271 | EXPORT_SYMBOL(tcp_v4_connect); | ||
270 | 272 | ||
271 | /* | 273 | /* |
272 | * This routine does path mtu discovery as defined in RFC1191. | 274 | * This routine does path mtu discovery as defined in RFC1191. |
@@ -545,6 +547,7 @@ void tcp_v4_send_check(struct sock *sk, struct sk_buff *skb) | |||
545 | 547 | ||
546 | __tcp_v4_send_check(skb, inet->inet_saddr, inet->inet_daddr); | 548 | __tcp_v4_send_check(skb, inet->inet_saddr, inet->inet_daddr); |
547 | } | 549 | } |
550 | EXPORT_SYMBOL(tcp_v4_send_check); | ||
548 | 551 | ||
549 | int tcp_v4_gso_send_check(struct sk_buff *skb) | 552 | int tcp_v4_gso_send_check(struct sk_buff *skb) |
550 | { | 553 | { |
@@ -860,7 +863,6 @@ struct tcp_md5sig_key *tcp_v4_md5_lookup(struct sock *sk, | |||
860 | { | 863 | { |
861 | return tcp_v4_md5_do_lookup(sk, inet_sk(addr_sk)->inet_daddr); | 864 | return tcp_v4_md5_do_lookup(sk, inet_sk(addr_sk)->inet_daddr); |
862 | } | 865 | } |
863 | |||
864 | EXPORT_SYMBOL(tcp_v4_md5_lookup); | 866 | EXPORT_SYMBOL(tcp_v4_md5_lookup); |
865 | 867 | ||
866 | static struct tcp_md5sig_key *tcp_v4_reqsk_md5_lookup(struct sock *sk, | 868 | static struct tcp_md5sig_key *tcp_v4_reqsk_md5_lookup(struct sock *sk, |
@@ -927,7 +929,6 @@ int tcp_v4_md5_do_add(struct sock *sk, __be32 addr, | |||
927 | } | 929 | } |
928 | return 0; | 930 | return 0; |
929 | } | 931 | } |
930 | |||
931 | EXPORT_SYMBOL(tcp_v4_md5_do_add); | 932 | EXPORT_SYMBOL(tcp_v4_md5_do_add); |
932 | 933 | ||
933 | static int tcp_v4_md5_add_func(struct sock *sk, struct sock *addr_sk, | 934 | static int tcp_v4_md5_add_func(struct sock *sk, struct sock *addr_sk, |
@@ -965,7 +966,6 @@ int tcp_v4_md5_do_del(struct sock *sk, __be32 addr) | |||
965 | } | 966 | } |
966 | return -ENOENT; | 967 | return -ENOENT; |
967 | } | 968 | } |
968 | |||
969 | EXPORT_SYMBOL(tcp_v4_md5_do_del); | 969 | EXPORT_SYMBOL(tcp_v4_md5_do_del); |
970 | 970 | ||
971 | static void tcp_v4_clear_md5_list(struct sock *sk) | 971 | static void tcp_v4_clear_md5_list(struct sock *sk) |
@@ -1138,7 +1138,6 @@ clear_hash_noput: | |||
1138 | memset(md5_hash, 0, 16); | 1138 | memset(md5_hash, 0, 16); |
1139 | return 1; | 1139 | return 1; |
1140 | } | 1140 | } |
1141 | |||
1142 | EXPORT_SYMBOL(tcp_v4_md5_hash_skb); | 1141 | EXPORT_SYMBOL(tcp_v4_md5_hash_skb); |
1143 | 1142 | ||
1144 | static int tcp_v4_inbound_md5_hash(struct sock *sk, struct sk_buff *skb) | 1143 | static int tcp_v4_inbound_md5_hash(struct sock *sk, struct sk_buff *skb) |
@@ -1396,6 +1395,7 @@ drop_and_free: | |||
1396 | drop: | 1395 | drop: |
1397 | return 0; | 1396 | return 0; |
1398 | } | 1397 | } |
1398 | EXPORT_SYMBOL(tcp_v4_conn_request); | ||
1399 | 1399 | ||
1400 | 1400 | ||
1401 | /* | 1401 | /* |
@@ -1481,6 +1481,7 @@ exit: | |||
1481 | dst_release(dst); | 1481 | dst_release(dst); |
1482 | return NULL; | 1482 | return NULL; |
1483 | } | 1483 | } |
1484 | EXPORT_SYMBOL(tcp_v4_syn_recv_sock); | ||
1484 | 1485 | ||
1485 | static struct sock *tcp_v4_hnd_req(struct sock *sk, struct sk_buff *skb) | 1486 | static struct sock *tcp_v4_hnd_req(struct sock *sk, struct sk_buff *skb) |
1486 | { | 1487 | { |
@@ -1610,6 +1611,7 @@ csum_err: | |||
1610 | TCP_INC_STATS_BH(sock_net(sk), TCP_MIB_INERRS); | 1611 | TCP_INC_STATS_BH(sock_net(sk), TCP_MIB_INERRS); |
1611 | goto discard; | 1612 | goto discard; |
1612 | } | 1613 | } |
1614 | EXPORT_SYMBOL(tcp_v4_do_rcv); | ||
1613 | 1615 | ||
1614 | /* | 1616 | /* |
1615 | * From tcp_input.c | 1617 | * From tcp_input.c |
@@ -1796,6 +1798,7 @@ int tcp_v4_remember_stamp(struct sock *sk) | |||
1796 | 1798 | ||
1797 | return 0; | 1799 | return 0; |
1798 | } | 1800 | } |
1801 | EXPORT_SYMBOL(tcp_v4_remember_stamp); | ||
1799 | 1802 | ||
1800 | int tcp_v4_tw_remember_stamp(struct inet_timewait_sock *tw) | 1803 | int tcp_v4_tw_remember_stamp(struct inet_timewait_sock *tw) |
1801 | { | 1804 | { |
@@ -1835,6 +1838,7 @@ const struct inet_connection_sock_af_ops ipv4_specific = { | |||
1835 | .compat_getsockopt = compat_ip_getsockopt, | 1838 | .compat_getsockopt = compat_ip_getsockopt, |
1836 | #endif | 1839 | #endif |
1837 | }; | 1840 | }; |
1841 | EXPORT_SYMBOL(ipv4_specific); | ||
1838 | 1842 | ||
1839 | #ifdef CONFIG_TCP_MD5SIG | 1843 | #ifdef CONFIG_TCP_MD5SIG |
1840 | static const struct tcp_sock_af_ops tcp_sock_ipv4_specific = { | 1844 | static const struct tcp_sock_af_ops tcp_sock_ipv4_specific = { |
@@ -1963,7 +1967,6 @@ void tcp_v4_destroy_sock(struct sock *sk) | |||
1963 | 1967 | ||
1964 | percpu_counter_dec(&tcp_sockets_allocated); | 1968 | percpu_counter_dec(&tcp_sockets_allocated); |
1965 | } | 1969 | } |
1966 | |||
1967 | EXPORT_SYMBOL(tcp_v4_destroy_sock); | 1970 | EXPORT_SYMBOL(tcp_v4_destroy_sock); |
1968 | 1971 | ||
1969 | #ifdef CONFIG_PROC_FS | 1972 | #ifdef CONFIG_PROC_FS |
@@ -2367,11 +2370,13 @@ int tcp_proc_register(struct net *net, struct tcp_seq_afinfo *afinfo) | |||
2367 | rc = -ENOMEM; | 2370 | rc = -ENOMEM; |
2368 | return rc; | 2371 | return rc; |
2369 | } | 2372 | } |
2373 | EXPORT_SYMBOL(tcp_proc_register); | ||
2370 | 2374 | ||
2371 | void tcp_proc_unregister(struct net *net, struct tcp_seq_afinfo *afinfo) | 2375 | void tcp_proc_unregister(struct net *net, struct tcp_seq_afinfo *afinfo) |
2372 | { | 2376 | { |
2373 | proc_net_remove(net, afinfo->name); | 2377 | proc_net_remove(net, afinfo->name); |
2374 | } | 2378 | } |
2379 | EXPORT_SYMBOL(tcp_proc_unregister); | ||
2375 | 2380 | ||
2376 | static void get_openreq4(struct sock *sk, struct request_sock *req, | 2381 | static void get_openreq4(struct sock *sk, struct request_sock *req, |
2377 | struct seq_file *f, int i, int uid, int *len) | 2382 | struct seq_file *f, int i, int uid, int *len) |
@@ -2618,6 +2623,7 @@ struct proto tcp_prot = { | |||
2618 | .compat_getsockopt = compat_tcp_getsockopt, | 2623 | .compat_getsockopt = compat_tcp_getsockopt, |
2619 | #endif | 2624 | #endif |
2620 | }; | 2625 | }; |
2626 | EXPORT_SYMBOL(tcp_prot); | ||
2621 | 2627 | ||
2622 | 2628 | ||
2623 | static int __net_init tcp_sk_init(struct net *net) | 2629 | static int __net_init tcp_sk_init(struct net *net) |
@@ -2648,20 +2654,3 @@ void __init tcp_v4_init(void) | |||
2648 | if (register_pernet_subsys(&tcp_sk_ops)) | 2654 | if (register_pernet_subsys(&tcp_sk_ops)) |
2649 | panic("Failed to create the TCP control socket.\n"); | 2655 | panic("Failed to create the TCP control socket.\n"); |
2650 | } | 2656 | } |
2651 | |||
2652 | EXPORT_SYMBOL(ipv4_specific); | ||
2653 | EXPORT_SYMBOL(tcp_hashinfo); | ||
2654 | EXPORT_SYMBOL(tcp_prot); | ||
2655 | EXPORT_SYMBOL(tcp_v4_conn_request); | ||
2656 | EXPORT_SYMBOL(tcp_v4_connect); | ||
2657 | EXPORT_SYMBOL(tcp_v4_do_rcv); | ||
2658 | EXPORT_SYMBOL(tcp_v4_remember_stamp); | ||
2659 | EXPORT_SYMBOL(tcp_v4_send_check); | ||
2660 | EXPORT_SYMBOL(tcp_v4_syn_recv_sock); | ||
2661 | |||
2662 | #ifdef CONFIG_PROC_FS | ||
2663 | EXPORT_SYMBOL(tcp_proc_register); | ||
2664 | EXPORT_SYMBOL(tcp_proc_unregister); | ||
2665 | #endif | ||
2666 | EXPORT_SYMBOL(sysctl_tcp_low_latency); | ||
2667 | |||
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 794c2e122a41..f25b56cb85cb 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c | |||
@@ -47,7 +47,6 @@ struct inet_timewait_death_row tcp_death_row = { | |||
47 | .twcal_timer = TIMER_INITIALIZER(inet_twdr_twcal_tick, 0, | 47 | .twcal_timer = TIMER_INITIALIZER(inet_twdr_twcal_tick, 0, |
48 | (unsigned long)&tcp_death_row), | 48 | (unsigned long)&tcp_death_row), |
49 | }; | 49 | }; |
50 | |||
51 | EXPORT_SYMBOL_GPL(tcp_death_row); | 50 | EXPORT_SYMBOL_GPL(tcp_death_row); |
52 | 51 | ||
53 | static __inline__ int tcp_in_window(u32 seq, u32 end_seq, u32 s_win, u32 e_win) | 52 | static __inline__ int tcp_in_window(u32 seq, u32 end_seq, u32 s_win, u32 e_win) |
@@ -262,6 +261,7 @@ kill: | |||
262 | inet_twsk_put(tw); | 261 | inet_twsk_put(tw); |
263 | return TCP_TW_SUCCESS; | 262 | return TCP_TW_SUCCESS; |
264 | } | 263 | } |
264 | EXPORT_SYMBOL(tcp_timewait_state_process); | ||
265 | 265 | ||
266 | /* | 266 | /* |
267 | * Move a socket to time-wait or dead fin-wait-2 state. | 267 | * Move a socket to time-wait or dead fin-wait-2 state. |
@@ -362,7 +362,6 @@ void tcp_twsk_destructor(struct sock *sk) | |||
362 | tcp_free_md5sig_pool(); | 362 | tcp_free_md5sig_pool(); |
363 | #endif | 363 | #endif |
364 | } | 364 | } |
365 | |||
366 | EXPORT_SYMBOL_GPL(tcp_twsk_destructor); | 365 | EXPORT_SYMBOL_GPL(tcp_twsk_destructor); |
367 | 366 | ||
368 | static inline void TCP_ECN_openreq_child(struct tcp_sock *tp, | 367 | static inline void TCP_ECN_openreq_child(struct tcp_sock *tp, |
@@ -510,6 +509,7 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, | |||
510 | } | 509 | } |
511 | return newsk; | 510 | return newsk; |
512 | } | 511 | } |
512 | EXPORT_SYMBOL(tcp_create_openreq_child); | ||
513 | 513 | ||
514 | /* | 514 | /* |
515 | * Process an incoming packet for SYN_RECV sockets represented | 515 | * Process an incoming packet for SYN_RECV sockets represented |
@@ -706,6 +706,7 @@ embryonic_reset: | |||
706 | inet_csk_reqsk_queue_drop(sk, req, prev); | 706 | inet_csk_reqsk_queue_drop(sk, req, prev); |
707 | return NULL; | 707 | return NULL; |
708 | } | 708 | } |
709 | EXPORT_SYMBOL(tcp_check_req); | ||
709 | 710 | ||
710 | /* | 711 | /* |
711 | * Queue segment on the new socket if the new socket is active, | 712 | * Queue segment on the new socket if the new socket is active, |
@@ -737,8 +738,4 @@ int tcp_child_process(struct sock *parent, struct sock *child, | |||
737 | sock_put(child); | 738 | sock_put(child); |
738 | return ret; | 739 | return ret; |
739 | } | 740 | } |
740 | |||
741 | EXPORT_SYMBOL(tcp_check_req); | ||
742 | EXPORT_SYMBOL(tcp_child_process); | 741 | EXPORT_SYMBOL(tcp_child_process); |
743 | EXPORT_SYMBOL(tcp_create_openreq_child); | ||
744 | EXPORT_SYMBOL(tcp_timewait_state_process); | ||
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 25ff62e35a68..b3f6f099b1a3 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -247,6 +247,7 @@ void tcp_select_initial_window(int __space, __u32 mss, | |||
247 | /* Set the clamp no higher than max representable value */ | 247 | /* Set the clamp no higher than max representable value */ |
248 | (*window_clamp) = min(65535U << (*rcv_wscale), *window_clamp); | 248 | (*window_clamp) = min(65535U << (*rcv_wscale), *window_clamp); |
249 | } | 249 | } |
250 | EXPORT_SYMBOL(tcp_select_initial_window); | ||
250 | 251 | ||
251 | /* Chose a new window to advertise, update state in tcp_sock for the | 252 | /* Chose a new window to advertise, update state in tcp_sock for the |
252 | * socket, and return result with RFC1323 scaling applied. The return | 253 | * socket, and return result with RFC1323 scaling applied. The return |
@@ -1189,6 +1190,7 @@ void tcp_mtup_init(struct sock *sk) | |||
1189 | icsk->icsk_mtup.search_low = tcp_mss_to_mtu(sk, sysctl_tcp_base_mss); | 1190 | icsk->icsk_mtup.search_low = tcp_mss_to_mtu(sk, sysctl_tcp_base_mss); |
1190 | icsk->icsk_mtup.probe_size = 0; | 1191 | icsk->icsk_mtup.probe_size = 0; |
1191 | } | 1192 | } |
1193 | EXPORT_SYMBOL(tcp_mtup_init); | ||
1192 | 1194 | ||
1193 | /* This function synchronize snd mss to current pmtu/exthdr set. | 1195 | /* This function synchronize snd mss to current pmtu/exthdr set. |
1194 | 1196 | ||
@@ -1232,6 +1234,7 @@ unsigned int tcp_sync_mss(struct sock *sk, u32 pmtu) | |||
1232 | 1234 | ||
1233 | return mss_now; | 1235 | return mss_now; |
1234 | } | 1236 | } |
1237 | EXPORT_SYMBOL(tcp_sync_mss); | ||
1235 | 1238 | ||
1236 | /* Compute the current effective MSS, taking SACKs and IP options, | 1239 | /* Compute the current effective MSS, taking SACKs and IP options, |
1237 | * and even PMTU discovery events into account. | 1240 | * and even PMTU discovery events into account. |
@@ -2514,6 +2517,7 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst, | |||
2514 | 2517 | ||
2515 | return skb; | 2518 | return skb; |
2516 | } | 2519 | } |
2520 | EXPORT_SYMBOL(tcp_make_synack); | ||
2517 | 2521 | ||
2518 | /* Do all connect socket setups that can be done AF independent. */ | 2522 | /* Do all connect socket setups that can be done AF independent. */ |
2519 | static void tcp_connect_init(struct sock *sk) | 2523 | static void tcp_connect_init(struct sock *sk) |
@@ -2616,6 +2620,7 @@ int tcp_connect(struct sock *sk) | |||
2616 | inet_csk(sk)->icsk_rto, TCP_RTO_MAX); | 2620 | inet_csk(sk)->icsk_rto, TCP_RTO_MAX); |
2617 | return 0; | 2621 | return 0; |
2618 | } | 2622 | } |
2623 | EXPORT_SYMBOL(tcp_connect); | ||
2619 | 2624 | ||
2620 | /* Send out a delayed ack, the caller does the policy checking | 2625 | /* Send out a delayed ack, the caller does the policy checking |
2621 | * to see if we should even be here. See tcp_input.c:tcp_ack_snd_check() | 2626 | * to see if we should even be here. See tcp_input.c:tcp_ack_snd_check() |
@@ -2820,10 +2825,3 @@ void tcp_send_probe0(struct sock *sk) | |||
2820 | TCP_RTO_MAX); | 2825 | TCP_RTO_MAX); |
2821 | } | 2826 | } |
2822 | } | 2827 | } |
2823 | |||
2824 | EXPORT_SYMBOL(tcp_select_initial_window); | ||
2825 | EXPORT_SYMBOL(tcp_connect); | ||
2826 | EXPORT_SYMBOL(tcp_make_synack); | ||
2827 | EXPORT_SYMBOL(tcp_simple_retransmit); | ||
2828 | EXPORT_SYMBOL(tcp_sync_mss); | ||
2829 | EXPORT_SYMBOL(tcp_mtup_init); | ||
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 440a5c6004f6..808bb920c9f5 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c | |||
@@ -41,7 +41,6 @@ void tcp_init_xmit_timers(struct sock *sk) | |||
41 | inet_csk_init_xmit_timers(sk, &tcp_write_timer, &tcp_delack_timer, | 41 | inet_csk_init_xmit_timers(sk, &tcp_write_timer, &tcp_delack_timer, |
42 | &tcp_keepalive_timer); | 42 | &tcp_keepalive_timer); |
43 | } | 43 | } |
44 | |||
45 | EXPORT_SYMBOL(tcp_init_xmit_timers); | 44 | EXPORT_SYMBOL(tcp_init_xmit_timers); |
46 | 45 | ||
47 | static void tcp_write_err(struct sock *sk) | 46 | static void tcp_write_err(struct sock *sk) |
diff --git a/net/ipv4/tunnel4.c b/net/ipv4/tunnel4.c index 3b3813cc80b9..59186ca7808a 100644 --- a/net/ipv4/tunnel4.c +++ b/net/ipv4/tunnel4.c | |||
@@ -48,7 +48,6 @@ err: | |||
48 | 48 | ||
49 | return ret; | 49 | return ret; |
50 | } | 50 | } |
51 | |||
52 | EXPORT_SYMBOL(xfrm4_tunnel_register); | 51 | EXPORT_SYMBOL(xfrm4_tunnel_register); |
53 | 52 | ||
54 | int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family) | 53 | int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family) |
@@ -72,7 +71,6 @@ int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family) | |||
72 | 71 | ||
73 | return ret; | 72 | return ret; |
74 | } | 73 | } |
75 | |||
76 | EXPORT_SYMBOL(xfrm4_tunnel_deregister); | 74 | EXPORT_SYMBOL(xfrm4_tunnel_deregister); |
77 | 75 | ||
78 | static int tunnel4_rcv(struct sk_buff *skb) | 76 | static int tunnel4_rcv(struct sk_buff *skb) |
diff --git a/net/ipv4/udplite.c b/net/ipv4/udplite.c index 6610bf76369f..ab76aa928fa9 100644 --- a/net/ipv4/udplite.c +++ b/net/ipv4/udplite.c | |||
@@ -58,6 +58,7 @@ struct proto udplite_prot = { | |||
58 | .compat_getsockopt = compat_udp_getsockopt, | 58 | .compat_getsockopt = compat_udp_getsockopt, |
59 | #endif | 59 | #endif |
60 | }; | 60 | }; |
61 | EXPORT_SYMBOL(udplite_prot); | ||
61 | 62 | ||
62 | static struct inet_protosw udplite4_protosw = { | 63 | static struct inet_protosw udplite4_protosw = { |
63 | .type = SOCK_DGRAM, | 64 | .type = SOCK_DGRAM, |
@@ -127,5 +128,3 @@ out_unregister_proto: | |||
127 | out_register_err: | 128 | out_register_err: |
128 | printk(KERN_CRIT "%s: Cannot add UDP-Lite protocol.\n", __func__); | 129 | printk(KERN_CRIT "%s: Cannot add UDP-Lite protocol.\n", __func__); |
129 | } | 130 | } |
130 | |||
131 | EXPORT_SYMBOL(udplite_prot); | ||
diff --git a/net/ipv4/xfrm4_input.c b/net/ipv4/xfrm4_input.c index ad8fbb871aa0..06814b6216dc 100644 --- a/net/ipv4/xfrm4_input.c +++ b/net/ipv4/xfrm4_input.c | |||
@@ -163,5 +163,4 @@ int xfrm4_rcv(struct sk_buff *skb) | |||
163 | { | 163 | { |
164 | return xfrm4_rcv_spi(skb, ip_hdr(skb)->protocol, 0); | 164 | return xfrm4_rcv_spi(skb, ip_hdr(skb)->protocol, 0); |
165 | } | 165 | } |
166 | |||
167 | EXPORT_SYMBOL(xfrm4_rcv); | 166 | EXPORT_SYMBOL(xfrm4_rcv); |