diff options
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
| -rw-r--r-- | net/ipv4/tcp_ipv4.c | 35 |
1 files changed, 12 insertions, 23 deletions
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 | |||
