diff options
| author | Dmitry Torokhov <dtor_core@ameritech.net> | 2006-06-26 01:31:38 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dtor_core@ameritech.net> | 2006-06-26 01:31:38 -0400 |
| commit | 4854c7b27f0975a2b629f35ea3996d2968eb7c4f (patch) | |
| tree | 4102bdb70289764a2058aff0f907b13d7cf0e0d1 /include/net/tcp.h | |
| parent | 3cbd5b32cb625f5c0f1b1476d154fac873dd49ce (diff) | |
| parent | fcc18e83e1f6fd9fa6b333735bf0fcd530655511 (diff) | |
Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include/net/tcp.h')
| -rw-r--r-- | include/net/tcp.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 3c989db8a7aa..ca3d38dfc00b 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
| @@ -21,13 +21,13 @@ | |||
| 21 | #define TCP_DEBUG 1 | 21 | #define TCP_DEBUG 1 |
| 22 | #define FASTRETRANS_DEBUG 1 | 22 | #define FASTRETRANS_DEBUG 1 |
| 23 | 23 | ||
| 24 | #include <linux/config.h> | ||
| 25 | #include <linux/list.h> | 24 | #include <linux/list.h> |
| 26 | #include <linux/tcp.h> | 25 | #include <linux/tcp.h> |
| 27 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
| 28 | #include <linux/cache.h> | 27 | #include <linux/cache.h> |
| 29 | #include <linux/percpu.h> | 28 | #include <linux/percpu.h> |
| 30 | #include <linux/skbuff.h> | 29 | #include <linux/skbuff.h> |
| 30 | #include <linux/dmaengine.h> | ||
| 31 | 31 | ||
| 32 | #include <net/inet_connection_sock.h> | 32 | #include <net/inet_connection_sock.h> |
| 33 | #include <net/inet_timewait_sock.h> | 33 | #include <net/inet_timewait_sock.h> |
| @@ -218,6 +218,7 @@ extern int sysctl_tcp_adv_win_scale; | |||
| 218 | extern int sysctl_tcp_tw_reuse; | 218 | extern int sysctl_tcp_tw_reuse; |
| 219 | extern int sysctl_tcp_frto; | 219 | extern int sysctl_tcp_frto; |
| 220 | extern int sysctl_tcp_low_latency; | 220 | extern int sysctl_tcp_low_latency; |
| 221 | extern int sysctl_tcp_dma_copybreak; | ||
| 221 | extern int sysctl_tcp_nometrics_save; | 222 | extern int sysctl_tcp_nometrics_save; |
| 222 | extern int sysctl_tcp_moderate_rcvbuf; | 223 | extern int sysctl_tcp_moderate_rcvbuf; |
| 223 | extern int sysctl_tcp_tso_win_divisor; | 224 | extern int sysctl_tcp_tso_win_divisor; |
| @@ -225,6 +226,7 @@ extern int sysctl_tcp_abc; | |||
| 225 | extern int sysctl_tcp_mtu_probing; | 226 | extern int sysctl_tcp_mtu_probing; |
| 226 | extern int sysctl_tcp_base_mss; | 227 | extern int sysctl_tcp_base_mss; |
| 227 | extern int sysctl_tcp_workaround_signed_windows; | 228 | extern int sysctl_tcp_workaround_signed_windows; |
| 229 | extern int sysctl_tcp_slow_start_after_idle; | ||
| 228 | 230 | ||
| 229 | extern atomic_t tcp_memory_allocated; | 231 | extern atomic_t tcp_memory_allocated; |
| 230 | extern atomic_t tcp_sockets_allocated; | 232 | extern atomic_t tcp_sockets_allocated; |
| @@ -293,6 +295,8 @@ extern int tcp_rcv_established(struct sock *sk, | |||
| 293 | 295 | ||
| 294 | extern void tcp_rcv_space_adjust(struct sock *sk); | 296 | extern void tcp_rcv_space_adjust(struct sock *sk); |
| 295 | 297 | ||
| 298 | extern void tcp_cleanup_rbuf(struct sock *sk, int copied); | ||
| 299 | |||
| 296 | extern int tcp_twsk_unique(struct sock *sk, | 300 | extern int tcp_twsk_unique(struct sock *sk, |
| 297 | struct sock *sktw, void *twp); | 301 | struct sock *sktw, void *twp); |
| 298 | 302 | ||
| @@ -565,13 +569,13 @@ struct tcp_skb_cb { | |||
| 565 | */ | 569 | */ |
| 566 | static inline int tcp_skb_pcount(const struct sk_buff *skb) | 570 | static inline int tcp_skb_pcount(const struct sk_buff *skb) |
| 567 | { | 571 | { |
| 568 | return skb_shinfo(skb)->tso_segs; | 572 | return skb_shinfo(skb)->gso_segs; |
| 569 | } | 573 | } |
| 570 | 574 | ||
| 571 | /* This is valid iff tcp_skb_pcount() > 1. */ | 575 | /* This is valid iff tcp_skb_pcount() > 1. */ |
| 572 | static inline int tcp_skb_mss(const struct sk_buff *skb) | 576 | static inline int tcp_skb_mss(const struct sk_buff *skb) |
| 573 | { | 577 | { |
| 574 | return skb_shinfo(skb)->tso_size; | 578 | return skb_shinfo(skb)->gso_size; |
| 575 | } | 579 | } |
| 576 | 580 | ||
| 577 | static inline void tcp_dec_pcount_approx(__u32 *count, | 581 | static inline void tcp_dec_pcount_approx(__u32 *count, |
| @@ -628,7 +632,7 @@ struct tcp_congestion_ops { | |||
| 628 | /* return slow start threshold (required) */ | 632 | /* return slow start threshold (required) */ |
| 629 | u32 (*ssthresh)(struct sock *sk); | 633 | u32 (*ssthresh)(struct sock *sk); |
| 630 | /* lower bound for congestion window (optional) */ | 634 | /* lower bound for congestion window (optional) */ |
| 631 | u32 (*min_cwnd)(struct sock *sk); | 635 | u32 (*min_cwnd)(const struct sock *sk); |
| 632 | /* do new cwnd calculation (required) */ | 636 | /* do new cwnd calculation (required) */ |
| 633 | void (*cong_avoid)(struct sock *sk, u32 ack, | 637 | void (*cong_avoid)(struct sock *sk, u32 ack, |
| 634 | u32 rtt, u32 in_flight, int good_ack); | 638 | u32 rtt, u32 in_flight, int good_ack); |
| @@ -663,7 +667,7 @@ extern struct tcp_congestion_ops tcp_init_congestion_ops; | |||
| 663 | extern u32 tcp_reno_ssthresh(struct sock *sk); | 667 | extern u32 tcp_reno_ssthresh(struct sock *sk); |
| 664 | extern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, | 668 | extern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, |
| 665 | u32 rtt, u32 in_flight, int flag); | 669 | u32 rtt, u32 in_flight, int flag); |
| 666 | extern u32 tcp_reno_min_cwnd(struct sock *sk); | 670 | extern u32 tcp_reno_min_cwnd(const struct sock *sk); |
| 667 | extern struct tcp_congestion_ops tcp_reno; | 671 | extern struct tcp_congestion_ops tcp_reno; |
| 668 | 672 | ||
| 669 | static inline void tcp_set_ca_state(struct sock *sk, const u8 ca_state) | 673 | static inline void tcp_set_ca_state(struct sock *sk, const u8 ca_state) |
| @@ -817,6 +821,12 @@ static inline void tcp_prequeue_init(struct tcp_sock *tp) | |||
| 817 | tp->ucopy.len = 0; | 821 | tp->ucopy.len = 0; |
| 818 | tp->ucopy.memory = 0; | 822 | tp->ucopy.memory = 0; |
| 819 | skb_queue_head_init(&tp->ucopy.prequeue); | 823 | skb_queue_head_init(&tp->ucopy.prequeue); |
| 824 | #ifdef CONFIG_NET_DMA | ||
| 825 | tp->ucopy.dma_chan = NULL; | ||
| 826 | tp->ucopy.wakeup = 0; | ||
| 827 | tp->ucopy.pinned_list = NULL; | ||
| 828 | tp->ucopy.dma_cookie = 0; | ||
| 829 | #endif | ||
| 820 | } | 830 | } |
| 821 | 831 | ||
| 822 | /* Packet is added to VJ-style prequeue for processing in process | 832 | /* Packet is added to VJ-style prequeue for processing in process |
| @@ -1076,6 +1086,8 @@ extern struct request_sock_ops tcp_request_sock_ops; | |||
| 1076 | 1086 | ||
| 1077 | extern int tcp_v4_destroy_sock(struct sock *sk); | 1087 | extern int tcp_v4_destroy_sock(struct sock *sk); |
| 1078 | 1088 | ||
| 1089 | extern struct sk_buff *tcp_tso_segment(struct sk_buff *skb, int sg); | ||
| 1090 | |||
| 1079 | #ifdef CONFIG_PROC_FS | 1091 | #ifdef CONFIG_PROC_FS |
| 1080 | extern int tcp4_proc_init(void); | 1092 | extern int tcp4_proc_init(void); |
| 1081 | extern void tcp4_proc_exit(void); | 1093 | extern void tcp4_proc_exit(void); |
