CC_ALGO
struct cc_algo *cc = CC_ALGO(tp);
CC_ALGO(tp) = algo;
algo = CC_ALGO(tp);
CC_ALGO(tp) = NULL;
if (CC_ALGO(ccv->tp) != &newreno_cc_algo)
if (CC_ALGO(tp)->ack_received != NULL) {
CC_ALGO(tp)->ack_received(&tp->t_ccv, type);
if (CC_ALGO(tp)->conn_init != NULL)
CC_ALGO(tp)->conn_init(&tp->t_ccv);
if (CC_ALGO(tp)->cong_signal != NULL) {
CC_ALGO(tp)->cong_signal(&tp->t_ccv, type);
if (CC_ALGO(tp)->post_recovery != NULL) {
CC_ALGO(tp)->post_recovery(&tp->t_ccv);
if (CC_ALGO(tp)->ecnpkt_handler != NULL) {
CC_ALGO(tp)->ecnpkt_handler(&tp->t_ccv);
if (CC_ALGO(tp)->after_idle != NULL)
CC_ALGO(tp)->after_idle(&tp->t_ccv);
if (CC_ALGO(tp)->newround != NULL) {
CC_ALGO(tp)->newround(&tp->t_ccv, rack->r_ctl.current_round);
if (CC_ALGO(tp)->ctl_output != NULL)
error = CC_ALGO(tp)->ctl_output(&tp->t_ccv, &sopt, &opt);
if (CC_ALGO(tp)->ack_received != NULL) {
CC_ALGO(tp)->ack_received(&tp->t_ccv, type);
if (CC_ALGO(tp)->post_recovery != NULL) {
CC_ALGO(tp)->post_recovery(&tp->t_ccv);
if (CC_ALGO(tp)->cong_signal == NULL) {
if ((CC_ALGO(tp)->cong_signal != NULL) &&
CC_ALGO(tp)->cong_signal(&tp->t_ccv, type);
if (CC_ALGO(tp)->after_idle != NULL)
CC_ALGO(tp)->after_idle(&tp->t_ccv);
if (CC_ALGO(tp)->ctl_output == NULL) {
error = CC_ALGO(tp)->ctl_output(&tp->t_ccv, &sopt, &opt);
error = CC_ALGO(tp)->ctl_output(&tp->t_ccv, &sopt, &opt);
error = CC_ALGO(tp)->ctl_output(&tp->t_ccv, &sopt, &opt);
error = CC_ALGO(tp)->ctl_output(&tp->t_ccv, &sopt, &opt);
if (CC_ALGO(tp)->rttsample != NULL) {
CC_ALGO(tp)->rttsample(&tp->t_ccv, us_rtt, 1, rsm->r_fas);
if (CC_ALGO(tp)->rttsample != NULL) {
CC_ALGO(tp)->rttsample(&tp->t_ccv, us_rtt, 1, rsm->r_fas);
if (CC_ALGO(listening_tcb)->flags & CC_MODULE_BEING_REMOVED) {
CC_ALGO(tp) = CC_ALGO(listening_tcb);
CC_ALGO(tp) = CC_DEFAULT_ALGO();
cc_refer(CC_ALGO(tp));
if (CC_ALGO(tp)->cb_init != NULL)
if (CC_ALGO(tp)->cb_init(&tp->t_ccv, NULL) > 0) {
if (CC_ALGO(tp)->cb_destroy != NULL)
CC_ALGO(tp)->cb_destroy(&tp->t_ccv);
if (CC_ALGO(tp)->cb_destroy != NULL)
CC_ALGO(tp)->cb_destroy(&tp->t_ccv);
if (CC_ALGO(tp)->cb_destroy != NULL)
CC_ALGO(tp)->cb_destroy(&tp->t_ccv);
CC_ALGO(tp) = NULL;
bcopy(CC_ALGO(tp)->name, xt->xt_cc, TCP_CA_NAME_MAX);
if (CC_ALGO(tp)->conn_init != NULL)
CC_ALGO(tp)->conn_init(&tp->t_ccv);
if (CC_ALGO(tp)->conn_init != NULL)
CC_ALGO(tp)->conn_init(&tp->t_ccv);
if (CC_ALGO(tp)->cb_destroy != NULL)
CC_ALGO(tp)->cb_destroy(&tp->t_ccv);
if (TCPS_HAVEESTABLISHED(tp->t_state) && (CC_ALGO(tp)->conn_init != NULL)) {
CC_ALGO(tp)->conn_init(&tp->t_ccv);
if (CC_ALGO(tp)->ctl_output != NULL)
error = CC_ALGO(tp)->ctl_output(&tp->t_ccv, sopt, pbuf);
len = strlcpy(buf, CC_ALGO(tp)->name, TCP_CA_NAME_MAX);