diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2005-03-04 13:21:43 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2005-03-04 13:21:43 +0000 |
commit | 8ddcb72dc7ee3bc6f342154450eb4f4dbdd335ed (patch) | |
tree | 74f04254f2a51f9f808b08a25c2106d8e59b6b0b /sys/netinet/tcp_var.h | |
parent | c763a88676abb3b0bcb0f854735526fa5b475aa6 (diff) |
- check th_ack against snd_una/max; from Raja Mukerji via hugh@
- limit pool to tcp_sackhole_limit entries (sysctl-able)
- stop sack option processing on pool_get errors
- use SEQ_MIN/SEQ_MAX
ok henning, hshoexer, deraadt
Diffstat (limited to 'sys/netinet/tcp_var.h')
-rw-r--r-- | sys/netinet/tcp_var.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index a7f99f7b4a5..17feb553634 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_var.h,v 1.70 2005/02/27 13:22:56 markus Exp $ */ +/* $OpenBSD: tcp_var.h,v 1.71 2005/03/04 13:21:42 markus Exp $ */ /* $NetBSD: tcp_var.h,v 1.17 1996/02/13 23:44:24 christos Exp $ */ /* @@ -472,7 +472,8 @@ struct tcpstat { #define TCPCTL_RFC3390 17 /* enable/disable RFC3390 increased cwnd */ #define TCPCTL_REASS_LIMIT 18 /* max entries for tcp reass queues */ #define TCPCTL_DROP 19 /* drop tcp connection */ -#define TCPCTL_MAXID 20 +#define TCPCTL_SACKHOLE_LIMIT 20 /* max entries for tcp sack queues */ +#define TCPCTL_MAXID 21 #define TCPCTL_NAMES { \ { 0, 0 }, \ @@ -495,6 +496,7 @@ struct tcpstat { { "rfc3390", CTLTYPE_INT }, \ { "reasslimit", CTLTYPE_INT }, \ { "drop", CTLTYPE_STRUCT }, \ + { "sackholelimit", CTLTYPE_INT }, \ } #define TCPCTL_VARS { \ @@ -517,6 +519,7 @@ struct tcpstat { &tcp_syn_bucket_limit, \ &tcp_do_rfc3390, \ NULL, \ + NULL, \ NULL \ } @@ -535,6 +538,7 @@ extern int tcp_ack_on_push; /* ACK immediately on PUSH */ #ifdef TCP_SACK extern int tcp_do_sack; /* SACK enabled/disabled */ extern struct pool sackhl_pool; +extern int tcp_sackhole_limit; /* max entries for tcp sack queues */ #endif extern int tcp_do_ecn; /* RFC3168 ECN enabled/disabled? */ extern int tcp_do_rfc3390; /* RFC3390 Increasing TCP's Initial Window */ @@ -607,7 +611,7 @@ int tcp_usrreq(struct socket *, void tcp_xmit_timer(struct tcpcb *, int); void tcpdropoldhalfopen(struct tcpcb *, u_int16_t); #ifdef TCP_SACK -int tcp_sack_option(struct tcpcb *,struct tcphdr *,u_char *,int); +void tcp_sack_option(struct tcpcb *,struct tcphdr *,u_char *,int); void tcp_update_sack_list(struct tcpcb *tp); void tcp_del_sackholes(struct tcpcb *, struct tcphdr *); void tcp_clean_sackreport(struct tcpcb *tp); |