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];