summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-01-10 17:17:53 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-01-10 17:17:53 +0000
commitb2ad5f821b1381492d792ca10b1eb7a107b48f14 (patch)
tree954a648692e7da983db1d2470953705f6a729264 /include/net
parentc9c06167e7933d93a6e396174c68abf242294abb (diff)
Merge with Linux 2.4.0-prerelease. Big Makefile rewrite, test your
Makefiles.
Diffstat (limited to 'include/net')
-rw-r--r--include/net/ax25.h5
-rw-r--r--include/net/sock.h3
-rw-r--r--include/net/tcp.h5
-rw-r--r--include/net/tcp_ecn.h7
4 files changed, 19 insertions, 1 deletions
diff --git a/include/net/ax25.h b/include/net/ax25.h
index 525786901..0957d1aae 100644
--- a/include/net/ax25.h
+++ b/include/net/ax25.h
@@ -339,7 +339,12 @@ extern int ax25_uid_get_info(char *, char **, off_t, int);
extern void ax25_uid_free(void);
/* sysctl_net_ax25.c */
+#ifdef CONFIG_SYSCTL
extern void ax25_register_sysctl(void);
extern void ax25_unregister_sysctl(void);
+#else
+extern inline void ax25_register_sysctl(void) {};
+extern inline void ax25_unregister_sysctl(void) {};
+#endif /* CONFIG_SYSCTL */
#endif
diff --git a/include/net/sock.h b/include/net/sock.h
index 8550282cb..6272cf459 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -302,6 +302,9 @@ struct tcp_opt {
__u8 backoff; /* backoff */
__u32 srtt; /* smothed round trip time << 3 */
__u32 mdev; /* medium deviation */
+ __u32 mdev_max; /* maximal mdev for the last rtt period */
+ __u32 rttvar; /* smoothed mdev_max */
+ __u32 rtt_seq; /* sequence number to update rttvar */
__u32 rto; /* retransmit timeout */
__u32 packets_out; /* Packets which are "in flight" */
diff --git a/include/net/tcp.h b/include/net/tcp.h
index ccdff5aaa..8574af3e1 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -923,8 +923,11 @@ static __inline__ unsigned int tcp_current_mss(struct sock *sk)
static inline void tcp_initialize_rcv_mss(struct sock *sk)
{
struct tcp_opt *tp = &sk->tp_pinfo.af_tcp;
+ int hint = min(tp->advmss, tp->mss_cache);
- tp->ack.rcv_mss = max(min(tp->advmss, TCP_MIN_RCVMSS), TCP_MIN_MSS);
+ hint = min(hint, tp->rcv_wnd/2);
+
+ tp->ack.rcv_mss = max(min(hint, TCP_MIN_RCVMSS), TCP_MIN_MSS);
}
static __inline__ void __tcp_fast_path_on(struct tcp_opt *tp, u32 snd_wnd)
diff --git a/include/net/tcp_ecn.h b/include/net/tcp_ecn.h
index db004249f..01894cd3b 100644
--- a/include/net/tcp_ecn.h
+++ b/include/net/tcp_ecn.h
@@ -79,6 +79,12 @@ TCP_ECN_accept_cwr(struct tcp_opt *tp, struct sk_buff *skb)
}
static __inline__ void
+TCP_ECN_withdraw_cwr(struct tcp_opt *tp)
+{
+ tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR;
+}
+
+static __inline__ void
TCP_ECN_check_ce(struct tcp_opt *tp, struct sk_buff *skb)
{
if (tp->ecn_flags&TCP_ECN_OK) {
@@ -148,6 +154,7 @@ TCP_ECN_create_request(struct open_request *req, struct tcphdr *th)
#define TCP_ECN_rcv_ecn_echo(x...) (0)
#define TCP_ECN_openreq_child(x...) do { } while (0)
#define TCP_ECN_create_request(x...) do { } while (0)
+#define TCP_ECN_withdraw_cwr(x...) do { } while (0)
#endif