diff options
Diffstat (limited to 'include/net/tcp.h')
-rw-r--r-- | include/net/tcp.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 3c989db8a7aa..bfc71f954bbe 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/cache.h> | 28 | #include <linux/cache.h> |
29 | #include <linux/percpu.h> | 29 | #include <linux/percpu.h> |
30 | #include <linux/skbuff.h> | 30 | #include <linux/skbuff.h> |
31 | #include <linux/dmaengine.h> | ||
31 | 32 | ||
32 | #include <net/inet_connection_sock.h> | 33 | #include <net/inet_connection_sock.h> |
33 | #include <net/inet_timewait_sock.h> | 34 | #include <net/inet_timewait_sock.h> |
@@ -218,6 +219,7 @@ extern int sysctl_tcp_adv_win_scale; | |||
218 | extern int sysctl_tcp_tw_reuse; | 219 | extern int sysctl_tcp_tw_reuse; |
219 | extern int sysctl_tcp_frto; | 220 | extern int sysctl_tcp_frto; |
220 | extern int sysctl_tcp_low_latency; | 221 | extern int sysctl_tcp_low_latency; |
222 | extern int sysctl_tcp_dma_copybreak; | ||
221 | extern int sysctl_tcp_nometrics_save; | 223 | extern int sysctl_tcp_nometrics_save; |
222 | extern int sysctl_tcp_moderate_rcvbuf; | 224 | extern int sysctl_tcp_moderate_rcvbuf; |
223 | extern int sysctl_tcp_tso_win_divisor; | 225 | extern int sysctl_tcp_tso_win_divisor; |
@@ -225,6 +227,7 @@ extern int sysctl_tcp_abc; | |||
225 | extern int sysctl_tcp_mtu_probing; | 227 | extern int sysctl_tcp_mtu_probing; |
226 | extern int sysctl_tcp_base_mss; | 228 | extern int sysctl_tcp_base_mss; |
227 | extern int sysctl_tcp_workaround_signed_windows; | 229 | extern int sysctl_tcp_workaround_signed_windows; |
230 | extern int sysctl_tcp_slow_start_after_idle; | ||
228 | 231 | ||
229 | extern atomic_t tcp_memory_allocated; | 232 | extern atomic_t tcp_memory_allocated; |
230 | extern atomic_t tcp_sockets_allocated; | 233 | extern atomic_t tcp_sockets_allocated; |
@@ -293,6 +296,8 @@ extern int tcp_rcv_established(struct sock *sk, | |||
293 | 296 | ||
294 | extern void tcp_rcv_space_adjust(struct sock *sk); | 297 | extern void tcp_rcv_space_adjust(struct sock *sk); |
295 | 298 | ||
299 | extern void tcp_cleanup_rbuf(struct sock *sk, int copied); | ||
300 | |||
296 | extern int tcp_twsk_unique(struct sock *sk, | 301 | extern int tcp_twsk_unique(struct sock *sk, |
297 | struct sock *sktw, void *twp); | 302 | struct sock *sktw, void *twp); |
298 | 303 | ||
@@ -628,7 +633,7 @@ struct tcp_congestion_ops { | |||
628 | /* return slow start threshold (required) */ | 633 | /* return slow start threshold (required) */ |
629 | u32 (*ssthresh)(struct sock *sk); | 634 | u32 (*ssthresh)(struct sock *sk); |
630 | /* lower bound for congestion window (optional) */ | 635 | /* lower bound for congestion window (optional) */ |
631 | u32 (*min_cwnd)(struct sock *sk); | 636 | u32 (*min_cwnd)(const struct sock *sk); |
632 | /* do new cwnd calculation (required) */ | 637 | /* do new cwnd calculation (required) */ |
633 | void (*cong_avoid)(struct sock *sk, u32 ack, | 638 | void (*cong_avoid)(struct sock *sk, u32 ack, |
634 | u32 rtt, u32 in_flight, int good_ack); | 639 | u32 rtt, u32 in_flight, int good_ack); |
@@ -663,7 +668,7 @@ extern struct tcp_congestion_ops tcp_init_congestion_ops; | |||
663 | extern u32 tcp_reno_ssthresh(struct sock *sk); | 668 | extern u32 tcp_reno_ssthresh(struct sock *sk); |
664 | extern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, | 669 | extern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, |
665 | u32 rtt, u32 in_flight, int flag); | 670 | u32 rtt, u32 in_flight, int flag); |
666 | extern u32 tcp_reno_min_cwnd(struct sock *sk); | 671 | extern u32 tcp_reno_min_cwnd(const struct sock *sk); |
667 | extern struct tcp_congestion_ops tcp_reno; | 672 | extern struct tcp_congestion_ops tcp_reno; |
668 | 673 | ||
669 | static inline void tcp_set_ca_state(struct sock *sk, const u8 ca_state) | 674 | static inline void tcp_set_ca_state(struct sock *sk, const u8 ca_state) |
@@ -817,6 +822,12 @@ static inline void tcp_prequeue_init(struct tcp_sock *tp) | |||
817 | tp->ucopy.len = 0; | 822 | tp->ucopy.len = 0; |
818 | tp->ucopy.memory = 0; | 823 | tp->ucopy.memory = 0; |
819 | skb_queue_head_init(&tp->ucopy.prequeue); | 824 | skb_queue_head_init(&tp->ucopy.prequeue); |
825 | #ifdef CONFIG_NET_DMA | ||
826 | tp->ucopy.dma_chan = NULL; | ||
827 | tp->ucopy.wakeup = 0; | ||
828 | tp->ucopy.pinned_list = NULL; | ||
829 | tp->ucopy.dma_cookie = 0; | ||
830 | #endif | ||
820 | } | 831 | } |
821 | 832 | ||
822 | /* Packet is added to VJ-style prequeue for processing in process | 833 | /* Packet is added to VJ-style prequeue for processing in process |