Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/netinet - comments



details:   https://anonhg.NetBSD.org/src/rev/d67f19f503d9
branches:  trunk
changeset: 764257:d67f19f503d9
user:      yamt <yamt%NetBSD.org@localhost>
date:      Thu Apr 14 15:57:02 2011 +0000

description:
- comments
- g/c stale extern

diffstat:

 sys/netinet/tcp_congctl.h |  29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diffs (53 lines):

diff -r 356146b9e610 -r d67f19f503d9 sys/netinet/tcp_congctl.h
--- a/sys/netinet/tcp_congctl.h Thu Apr 14 15:55:46 2011 +0000
+++ b/sys/netinet/tcp_congctl.h Thu Apr 14 15:57:02 2011 +0000
@@ -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];
 



Home | Main Index | Thread Index | Old Index