Module Name: src
Committed By: yamt
Date: Thu Apr 14 15:57:02 UTC 2011
Modified Files:
src/sys/netinet: tcp_congctl.h
Log Message:
- comments
- g/c stale extern
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/netinet/tcp_congctl.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet/tcp_congctl.h
diff -u src/sys/netinet/tcp_congctl.h:1.5 src/sys/netinet/tcp_congctl.h:1.6
--- src/sys/netinet/tcp_congctl.h:1.5 Mon Apr 28 20:24:09 2008
+++ src/sys/netinet/tcp_congctl.h Thu Apr 14 15:57:02 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_congctl.h,v 1.5 2008/04/28 20:24:09 martin Exp $ */
+/* $NetBSD: tcp_congctl.h,v 1.6 2011/04/14 15:57:02 yamt Exp $ */
/*
* Copyright (c) 2006 The NetBSD Foundation, Inc.
@@ -44,18 +44,41 @@
* Congestion control function table.
*/
struct tcp_congctl {
+ /*
+ * fast_retransmit: called on tcprexmtthresh'th dup ACKs.
+ * this actually retransmits packets by calling tcp_output()
+ * if appropriate.
+ * returns 0 if entering fast recovery. otherwise returns non-0.
+ */
int (*fast_retransmit)(struct tcpcb *, const struct tcphdr *);
+
+ /*
+ * slow_retransmit: called on RTO to adjust parameters like cwnd.
+ */
void (*slow_retransmit)(struct tcpcb *);
+
+ /*
+ * fast_retransmit_newack: called when new data is acked.
+ * ie. when advancing SND.UNA
+ * not called if TCP_SACK_ENABLED.
+ */
void (*fast_retransmit_newack)(struct tcpcb *, const struct tcphdr *);
+
+ /*
+ * newack: called when new data is acked. ie. when advancing SND.UNA
+ * it's called before updating tp->snd_una.
+ */
void (*newack)(struct tcpcb *, const struct tcphdr *);
+
+ /*
+ * cong_exp: called when congestion is detected. eg. by ECN
+ */
void (*cong_exp)(struct tcpcb *);
};
extern const struct tcp_congctl tcp_reno_ctl;
extern const struct tcp_congctl tcp_newreno_ctl;
-extern struct simplelock tcp_congctl_slock;
-
/* currently selected global congestion control */
extern char tcp_congctl_global_name[TCPCC_MAXLEN];