FreeBSD kernel IPv4 code
|
#include <sys/cdefs.h>
#include <netinet/sctp_os.h>
#include <netinet/sctp_var.h>
#include <netinet/sctp_sysctl.h>
#include <netinet/sctp_pcb.h>
#include <netinet/sctp_header.h>
#include <netinet/sctputil.h>
#include <netinet/sctp_output.h>
#include <netinet/sctp_input.h>
#include <netinet/sctp_indata.h>
#include <netinet/sctp_uio.h>
#include <netinet/sctp_timer.h>
#include <netinet/sctp_auth.h>
#include <netinet/sctp_asconf.h>
#include <netinet/sctp_kdtrace.h>
Go to the source code of this file.
Data Structures | |
struct | sctp_hs_raise_drop |
Macros | |
#define | SHIFT_MPTCP_MULTI_N 40 |
#define | SHIFT_MPTCP_MULTI_Z 16 |
#define | SHIFT_MPTCP_MULTI 8 |
#define | SCTP_INST_LOOSING 1 /* Losing to other flows */ |
#define | SCTP_INST_NEUTRAL 2 /* Neutral, no indication */ |
#define | SCTP_INST_GAINING 3 /* Gaining, step down possible */ |
#define | SCTP_HS_TABLE_SIZE 73 |
Functions | |
__FBSDID ("$FreeBSD$") | |
static void | sctp_enforce_cwnd_limit (struct sctp_association *assoc, struct sctp_nets *net) |
static void | sctp_set_initial_cc_param (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | sctp_cwnd_update_after_fr (struct sctp_tcb *stcb, struct sctp_association *asoc) |
static int | cc_bw_same (struct sctp_tcb *stcb, struct sctp_nets *net, uint64_t nbw, uint64_t rtt_offset, uint64_t vtag, uint8_t inst_ind) |
static int | cc_bw_decrease (struct sctp_tcb *stcb, struct sctp_nets *net, uint64_t nbw, uint64_t rtt_offset, uint64_t vtag, uint8_t inst_ind) |
static int | cc_bw_increase (struct sctp_tcb *stcb, struct sctp_nets *net, uint64_t nbw, uint64_t vtag) |
static int | cc_bw_limit (struct sctp_tcb *stcb, struct sctp_nets *net, uint64_t nbw) |
static void | sctp_cwnd_update_after_sack_common (struct sctp_tcb *stcb, struct sctp_association *asoc, int accum_moved, int reneged_all SCTP_UNUSED, int will_exit, int use_rtcc) |
static void | sctp_cwnd_update_exit_pf_common (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | sctp_cwnd_update_after_timeout (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | sctp_cwnd_update_after_ecn_echo_common (struct sctp_tcb *stcb, struct sctp_nets *net, int in_window, int num_pkt_lost, int use_rtcc) |
static void | sctp_cwnd_update_after_packet_dropped (struct sctp_tcb *stcb, struct sctp_nets *net, struct sctp_pktdrop_chunk *cp, uint32_t *bottle_bw, uint32_t *on_queue) |
static void | sctp_cwnd_update_after_output (struct sctp_tcb *stcb, struct sctp_nets *net, int burst_limit) |
static void | sctp_cwnd_update_after_sack (struct sctp_tcb *stcb, struct sctp_association *asoc, int accum_moved, int reneged_all, int will_exit) |
static void | sctp_cwnd_update_after_ecn_echo (struct sctp_tcb *stcb, struct sctp_nets *net, int in_window, int num_pkt_lost) |
static void | sctp_cwnd_update_rtcc_after_ecn_echo (struct sctp_tcb *stcb, struct sctp_nets *net, int in_window, int num_pkt_lost) |
static void | sctp_cwnd_update_rtcc_tsn_acknowledged (struct sctp_nets *net, struct sctp_tmit_chunk *tp1) |
static void | sctp_cwnd_prepare_rtcc_net_for_sack (struct sctp_tcb *stcb SCTP_UNUSED, struct sctp_nets *net) |
static void | sctp_cwnd_new_rtcc_transmission_begins (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | sctp_set_rtcc_initial_cc_param (struct sctp_tcb *stcb, struct sctp_nets *net) |
static int | sctp_cwnd_rtcc_socket_option (struct sctp_tcb *stcb, int setorget, struct sctp_cc_option *cc_opt) |
static void | sctp_cwnd_update_rtcc_packet_transmitted (struct sctp_tcb *stcb SCTP_UNUSED, struct sctp_nets *net) |
static void | sctp_cwnd_update_rtcc_after_sack (struct sctp_tcb *stcb, struct sctp_association *asoc, int accum_moved, int reneged_all, int will_exit) |
static void | sctp_rtt_rtcc_calculated (struct sctp_tcb *stcb SCTP_UNUSED, struct sctp_nets *net, struct timeval *now SCTP_UNUSED) |
static void | sctp_hs_cwnd_increase (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | sctp_hs_cwnd_decrease (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | sctp_hs_cwnd_update_after_fr (struct sctp_tcb *stcb, struct sctp_association *asoc) |
static void | sctp_hs_cwnd_update_after_sack (struct sctp_tcb *stcb, struct sctp_association *asoc, int accum_moved, int reneged_all SCTP_UNUSED, int will_exit) |
static int | between (uint32_t seq1, uint32_t seq2, uint32_t seq3) |
static uint32_t | htcp_cong_time (struct htcp *ca) |
static uint32_t | htcp_ccount (struct htcp *ca) |
static void | htcp_reset (struct htcp *ca) |
static void | measure_rtt (struct sctp_nets *net) |
static void | measure_achieved_throughput (struct sctp_nets *net) |
static void | htcp_beta_update (struct htcp *ca, uint32_t minRTT, uint32_t maxRTT) |
static void | htcp_alpha_update (struct htcp *ca) |
static void | htcp_param_update (struct sctp_nets *net) |
static uint32_t | htcp_recalc_ssthresh (struct sctp_nets *net) |
static void | htcp_cong_avoid (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | htcp_init (struct sctp_nets *net) |
static void | sctp_htcp_set_initial_cc_param (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | sctp_htcp_cwnd_update_after_sack (struct sctp_tcb *stcb, struct sctp_association *asoc, int accum_moved, int reneged_all SCTP_UNUSED, int will_exit) |
static void | sctp_htcp_cwnd_update_after_fr (struct sctp_tcb *stcb, struct sctp_association *asoc) |
static void | sctp_htcp_cwnd_update_after_timeout (struct sctp_tcb *stcb, struct sctp_nets *net) |
static void | sctp_htcp_cwnd_update_after_ecn_echo (struct sctp_tcb *stcb, struct sctp_nets *net, int in_window, int num_pkt_lost SCTP_UNUSED) |
Variables | |
static const struct sctp_hs_raise_drop | sctp_cwnd_adjust [SCTP_HS_TABLE_SIZE] |
static int | use_rtt_scaling = 1 |
static int | use_bandwidth_switch = 1 |
const struct sctp_cc_functions | sctp_cc_functions [] |
#define SCTP_HS_TABLE_SIZE 73 |
Definition at line 1526 of file sctp_cc_functions.c.
#define SCTP_INST_GAINING 3 /* Gaining, step down possible */ |
Definition at line 249 of file sctp_cc_functions.c.
#define SCTP_INST_LOOSING 1 /* Losing to other flows */ |
Definition at line 247 of file sctp_cc_functions.c.
#define SCTP_INST_NEUTRAL 2 /* Neutral, no indication */ |
Definition at line 248 of file sctp_cc_functions.c.
#define SHIFT_MPTCP_MULTI 8 |
Definition at line 55 of file sctp_cc_functions.c.
#define SHIFT_MPTCP_MULTI_N 40 |
Definition at line 53 of file sctp_cc_functions.c.
#define SHIFT_MPTCP_MULTI_Z 16 |
Definition at line 54 of file sctp_cc_functions.c.
__FBSDID | ( | "$FreeBSD$" | ) |
Definition at line 1851 of file sctp_cc_functions.c.
Referenced by htcp_beta_update().
|
static |
Definition at line 387 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_nets::cc_mod, sctp_nets::cwnd, rtcc_cc::cwnd_at_bw_set, sctp_nets::flight_size, rtcc_cc::last_step_state, rtcc_cc::lbw, rtcc_cc::lbw_rtt, sctp_nets::mtu, sctp_nets::partial_bytes_acked, rtcc_cc::ret_from_eq, sctp_nets::cc_control_data::rtcc, sctp_nets::rtt, sctp_enforce_cwnd_limit(), SCTP_INST_GAINING, SCTP_INST_LOOSING, sctp_nets::ssthresh, rtcc_cc::steady_step, rtcc_cc::step_cnt, and rtcc_cc::vol_reduce.
Referenced by cc_bw_limit().
|
static |
Definition at line 528 of file sctp_cc_functions.c.
References sctp_nets::cc_mod, sctp_nets::cwnd, rtcc_cc::cwnd_at_bw_set, sctp_nets::flight_size, rtcc_cc::last_step_state, rtcc_cc::lbw, rtcc_cc::lbw_rtt, sctp_nets::cc_control_data::rtcc, sctp_nets::rtt, rtcc_cc::steady_step, rtcc_cc::step_cnt, and rtcc_cc::vol_reduce.
Referenced by cc_bw_limit().
Definition at line 571 of file sctp_cc_functions.c.
References sctp_tcb::asoc, rtcc_cc::bw_bytes, rtcc_cc::bw_bytes_at_last_rttc, cc_bw_decrease(), cc_bw_increase(), cc_bw_same(), sctp_nets::cc_mod, sctp_nets::cwnd, sctp_nets::flight_size, rtcc_cc::last_inst_ind, rtcc_cc::lbw, rtcc_cc::lbw_rtt, sctp_association::my_vtag, sctp_tcb::rport, sctp_nets::cc_control_data::rtcc, sctp_nets::rtt, rtcc_cc::rtt_set_this_sack, SCTP_BASE_SYSCTL, sctp_tcb::sctp_ep, SCTP_INST_GAINING, SCTP_INST_LOOSING, and SCTP_INST_NEUTRAL.
Referenced by sctp_cwnd_update_after_sack_common().
|
static |
Definition at line 252 of file sctp_cc_functions.c.
References sctp_nets::cc_mod, sctp_nets::cwnd, rtcc_cc::cwnd_at_bw_set, sctp_nets::flight_size, rtcc_cc::last_step_state, rtcc_cc::lbw, rtcc_cc::lbw_rtt, sctp_nets::mtu, rtcc_cc::ret_from_eq, sctp_nets::cc_control_data::rtcc, sctp_nets::rtt, SCTP_INST_GAINING, SCTP_INST_LOOSING, SCTP_INST_NEUTRAL, rtcc_cc::steady_step, rtcc_cc::step_cnt, and rtcc_cc::vol_reduce.
Referenced by cc_bw_limit().
|
inlinestatic |
Definition at line 1977 of file sctp_cc_functions.c.
References htcp::alpha, ALPHA_BASE, htcp::beta, htcp_cong_time(), htcp::minRTT, and use_rtt_scaling.
Referenced by htcp_cong_avoid(), and htcp_param_update().
Definition at line 1949 of file sctp_cc_functions.c.
References htcp::beta, BETA_MAX, BETA_MIN, between(), htcp::maxB, htcp::modeswitch, htcp::old_maxB, sctp_msecs_to_ticks(), and use_bandwidth_switch.
Referenced by htcp_param_update().
Definition at line 1863 of file sctp_cc_functions.c.
References htcp_cong_time(), and htcp::minRTT.
Referenced by measure_achieved_throughput(), and measure_rtt().
Definition at line 2036 of file sctp_cc_functions.c.
References htcp::alpha, sctp_tcb::asoc, htcp::bytes_acked, sctp_nets::cc_mod, sctp_nets::cwnd, sctp_nets::flight_size, htcp_alpha_update(), sctp_nets::cc_control_data::htcp_ca, measure_rtt(), sctp_nets::mtu, sctp_nets::net_ack, sctp_nets::partial_bytes_acked, SCTP_BASE_SYSCTL, SCTP_CWND_LOG_FROM_CA, SCTP_CWND_LOG_FROM_SS, SCTP_CWND_LOG_NOADV_CA, SCTP_CWND_LOG_NOADV_SS, SCTP_CWND_LOGGING_ENABLE, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_log_cwnd(), and sctp_nets::ssthresh.
Referenced by sctp_htcp_cwnd_update_after_sack().
Definition at line 1857 of file sctp_cc_functions.c.
References htcp::last_cong, and sctp_get_tick_count.
Referenced by htcp_alpha_update(), and htcp_ccount().
|
static |
Definition at line 2110 of file sctp_cc_functions.c.
References htcp::alpha, ALPHA_BASE, htcp::beta, BETA_MIN, htcp::bytes_acked, sctp_nets::cc_mod, sctp_nets::cc_control_data::htcp_ca, htcp::last_cong, sctp_nets::mtu, and sctp_get_tick_count.
Referenced by sctp_htcp_set_initial_cc_param().
|
static |
Definition at line 2012 of file sctp_cc_functions.c.
References sctp_nets::cc_mod, htcp_alpha_update(), htcp_beta_update(), sctp_nets::cc_control_data::htcp_ca, htcp::maxRTT, and htcp::minRTT.
Referenced by htcp_recalc_ssthresh().
Definition at line 2029 of file sctp_cc_functions.c.
References htcp::beta, sctp_nets::cc_mod, sctp_nets::cwnd, sctp_nets::cc_control_data::htcp_ca, htcp_param_update(), and sctp_nets::mtu.
Referenced by sctp_htcp_cwnd_update_after_ecn_echo(), sctp_htcp_cwnd_update_after_fr(), and sctp_htcp_cwnd_update_after_timeout().
|
inlinestatic |
Definition at line 1869 of file sctp_cc_functions.c.
References htcp::last_cong, htcp::maxRTT, htcp::old_maxB, sctp_get_tick_count, htcp::undo_last_cong, htcp::undo_maxRTT, and htcp::undo_old_maxB.
Referenced by sctp_htcp_cwnd_update_after_ecn_echo(), sctp_htcp_cwnd_update_after_fr(), and sctp_htcp_cwnd_update_after_timeout().
|
static |
Definition at line 1909 of file sctp_cc_functions.c.
References htcp::alpha, htcp::Bi, htcp::bytecount, htcp::bytes_acked, sctp_nets::cc_mod, sctp_nets::cwnd, sctp_nets::fast_retran_ip, sctp_nets::cc_control_data::htcp_ca, htcp_ccount(), htcp::lasttime, htcp::maxB, htcp::minB, htcp::minRTT, sctp_nets::mtu, sctp_nets::net_ack, sctp_get_tick_count, and use_bandwidth_switch.
Referenced by sctp_htcp_cwnd_update_after_sack().
|
inlinestatic |
Definition at line 1891 of file sctp_cc_functions.c.
References sctp_nets::cc_mod, sctp_nets::fast_retran_ip, sctp_nets::cc_control_data::htcp_ca, htcp_ccount(), sctp_nets::lastsa, htcp::maxRTT, htcp::minRTT, sctp_msecs_to_ticks(), SCTP_RTT_SHIFT, and sctp_nets::ssthresh.
Referenced by htcp_cong_avoid().
|
static |
Definition at line 1336 of file sctp_cc_functions.c.
References sctp_tcb::asoc, rtcc_cc::bw_bytes, rtcc_cc::bw_bytes_at_last_rttc, rtcc_cc::bw_tot_time, sctp_nets::cc_mod, sctp_nets::cwnd, rtcc_cc::cwnd_at_bw_set, sctp_nets::flight_size, rtcc_cc::last_step_state, rtcc_cc::lbw, rtcc_cc::lbw_rtt, sctp_association::max_burst, sctp_nets::mtu, rtcc_cc::ret_from_eq, sctp_tcb::rport, sctp_nets::cc_control_data::rtcc, sctp_nets::rtt, SCTP_BASE_SYSCTL, sctp_tcb::sctp_ep, SCTP_INITIAL_CWND, rtcc_cc::steady_step, rtcc_cc::step_cnt, rtcc_cc::tls_needs_set, and rtcc_cc::vol_reduce.
|
static |
Definition at line 1322 of file sctp_cc_functions.c.
References sctp_nets::cc_mod, rtcc_cc::new_tot_time, sctp_nets::cc_control_data::rtcc, SCTP_GETPTIME_TIMEVAL, rtcc_cc::tls, and rtcc_cc::tls_needs_set.
|
static |
Definition at line 1434 of file sctp_cc_functions.c.
References sctp_cc_option::aid_value, sctp_tcb::asoc, sctp_assoc_value::assoc_value, sctp_nets::cc_mod, sctp_association::nets, sctp_cc_option::option, rtcc_cc::ret_from_eq, sctp_nets::cc_control_data::rtcc, SCTP_CC_OPT_RTCC_SETMODE, SCTP_CC_OPT_STEADY_STEP, SCTP_CC_OPT_USE_DCCC_ECN, rtcc_cc::steady_step, and rtcc_cc::use_dccc_ecn.
|
static |
Definition at line 1295 of file sctp_cc_functions.c.
References sctp_cwnd_update_after_ecn_echo_common().
|
static |
Definition at line 1083 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_nets::cc_mod, sctp_nets::cwnd, sctp_nets::ecn_prev_cwnd, sctp_nets::lan_type, sctp_nets::mtu, sctp_association::my_vtag, sctp_tcb::rport, sctp_nets::cc_control_data::rtcc, sctp_nets::RTO, SCTP_BASE_SYSCTL, SCTP_CWND_LOG_FROM_SAT, SCTP_CWND_MONITOR_ENABLE, sctp_tcb::sctp_ep, SCTP_LAN_LOCAL, sctp_log_cwnd(), SCTP_STAT_INCR, sctp_nets::ssthresh, and rtcc_cc::use_dccc_ecn.
Referenced by sctp_cwnd_update_after_ecn_echo(), and sctp_cwnd_update_rtcc_after_ecn_echo().
|
static |
Definition at line 110 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_tmit_chunk::asoc, sctp_nets::cwnd, sctp_tmit_chunk::data, sctp_nets::fast_recovery_tsn, sctp_association::fast_recovery_tsn, sctp_nets::fast_retran_loss_recovery, sctp_association::fast_retran_loss_recovery, sctp_nets::lastsa, sctp_nets::mtu, sctp_association::my_vtag, sctp_nets::net_ack, sctp_association::nets, sctp_nets::partial_bytes_acked, sctp_tmit_chunk::rec, sctp_tcb::rport, SCTP_BASE_SYSCTL, sctp_association::sctp_cmt_on_off, SCTP_CMT_RPV1, SCTP_CMT_RPV2, SCTP_CWND_LOG_FROM_FR, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_tcb::sctp_ep, SCTP_FROM_SCTP_CC_FUNCTIONS, SCTP_LOC_1, sctp_log_cwnd(), SCTP_STAT_INCR, sctp_timer_start(), sctp_timer_stop(), SCTP_TIMER_TYPE_SEND, sctp_association::send_queue, sctp_association::sending_seq, sctp_nets::ssthresh, and sctp_data_chunkrec::tsn.
|
static |
Definition at line 1264 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_nets::cwnd, sctp_nets::flight_size, sctp_nets::mtu, sctp_association::my_vtag, sctp_tcb::rport, SCTP_BASE_SYSCTL, SCTP_CWND_LOG_FROM_BRST, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_tcb::sctp_ep, sctp_log_cwnd(), and sctp_nets::ssthresh.
|
static |
Definition at line 1146 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_pktdrop_chunk::bottle_bw, sctp_pktdrop_chunk::current_onq, sctp_nets::cwnd, sctp_nets::flight_size, sctp_association::max_burst, sctp_nets::mtu, sctp_association::my_vtag, sctp_nets::partial_bytes_acked, sctp_nets::prev_cwnd, sctp_tcb::rport, sctp_nets::rtt, SCTP_BASE_SYSCTL, SCTP_CWND_LOG_FROM_SAT, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_tcb::sctp_ep, sctp_log_cwnd(), sctp_association::seen_a_sack_this_pkt, and sctp_nets::ssthresh.
|
static |
Definition at line 1286 of file sctp_cc_functions.c.
References sctp_cwnd_update_after_sack_common().
|
static |
Definition at line 682 of file sctp_cc_functions.c.
References sctp_tcb::asoc, rtcc_cc::bw_bytes, rtcc_cc::bw_bytes_at_last_rttc, cc_bw_limit(), sctp_nets::cc_mod, sctp_nets::cwnd, sctp_nets::fast_recovery_tsn, sctp_nets::fast_retran_loss_recovery, sctp_association::fast_retran_loss_recovery, sctp_nets::flight_size, sctp_association::last_acked_seq, sctp_nets::lastsa, rtcc_cc::lbw, rtcc_cc::lbw_rtt, sctp_nets::mtu, sctp_association::my_vtag, sctp_nets::net_ack, sctp_association::nets, sctp_nets::new_pseudo_cumack, rtcc_cc::new_tot_time, sctp_nets::partial_bytes_acked, sctp_nets::pseudo_cumack, sctp_tcb::rport, sctp_nets::cc_control_data::rtcc, sctp_nets::rtt, rtcc_cc::rtt_set_this_sack, SCTP_BASE_SYSCTL, SCTP_CMT_MPTCP, sctp_association::sctp_cmt_on_off, SCTP_CMT_RPV1, SCTP_CMT_RPV2, SCTP_CWND_LOG_FROM_CA, SCTP_CWND_LOG_FROM_SACK, SCTP_CWND_LOG_FROM_SS, SCTP_CWND_LOG_NO_CUMACK, SCTP_CWND_LOG_NOADV_CA, SCTP_CWND_LOG_NOADV_SS, SCTP_CWND_LOGGING_ENABLE, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_tcb::sctp_ep, sctp_log_cwnd(), SCTP_TSN_GE, SHIFT_MPTCP_MULTI, SHIFT_MPTCP_MULTI_N, SHIFT_MPTCP_MULTI_Z, sctp_nets::ssthresh, rtcc_cc::tls_needs_set, and sctp_nets::will_exit_fast_recovery.
Referenced by sctp_cwnd_update_after_sack(), and sctp_cwnd_update_rtcc_after_sack().
|
static |
Definition at line 1010 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_nets::cwnd, sctp_nets::lastsa, sctp_nets::mtu, sctp_association::my_vtag, sctp_association::nets, sctp_nets::partial_bytes_acked, sctp_tcb::rport, SCTP_BASE_SYSCTL, sctp_association::sctp_cmt_on_off, SCTP_CMT_RPV1, SCTP_CMT_RPV2, SCTP_CWND_LOG_FROM_RTX, SCTP_CWND_MONITOR_ENABLE, sctp_tcb::sctp_ep, sctp_log_cwnd(), and sctp_nets::ssthresh.
|
static |
Definition at line 996 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_nets::cwnd, sctp_nets::mtu, sctp_association::my_vtag, sctp_tcb::rport, SCTP_DEBUG_INDATA1, sctp_tcb::sctp_ep, and SCTPDBG.
|
static |
Definition at line 1308 of file sctp_cc_functions.c.
References sctp_cwnd_update_after_ecn_echo_common().
|
static |
Definition at line 1502 of file sctp_cc_functions.c.
References sctp_cwnd_update_after_sack_common().
|
static |
Definition at line 1492 of file sctp_cc_functions.c.
References sctp_nets::cc_mod, sctp_nets::cc_control_data::rtcc, SCTP_GETPTIME_TIMEVAL, rtcc_cc::tls, and rtcc_cc::tls_needs_set.
|
static |
Definition at line 1315 of file sctp_cc_functions.c.
References rtcc_cc::bw_bytes, sctp_nets::cc_mod, sctp_nets::cc_control_data::rtcc, and sctp_tmit_chunk::send_size.
|
static |
Definition at line 58 of file sctp_cc_functions.c.
References sctp_nets::cwnd, sctp_association::max_cwnd, and sctp_nets::mtu.
Referenced by cc_bw_decrease(), htcp_cong_avoid(), sctp_cwnd_update_after_fr(), sctp_cwnd_update_after_output(), sctp_cwnd_update_after_packet_dropped(), sctp_cwnd_update_after_sack_common(), sctp_hs_cwnd_decrease(), sctp_hs_cwnd_increase(), sctp_hs_cwnd_update_after_sack(), sctp_htcp_cwnd_update_after_ecn_echo(), sctp_htcp_cwnd_update_after_fr(), sctp_htcp_set_initial_cc_param(), and sctp_set_initial_cc_param().
Definition at line 1638 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_hs_raise_drop::cwnd, sctp_nets::cwnd, sctp_hs_raise_drop::drop_percent, sctp_nets::last_hs_used, sctp_nets::mtu, SCTP_BASE_SYSCTL, sctp_cwnd_adjust, SCTP_CWND_LOG_FROM_FR, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_log_cwnd(), and sctp_nets::ssthresh.
Referenced by sctp_hs_cwnd_update_after_fr().
Definition at line 1605 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_hs_raise_drop::cwnd, sctp_nets::cwnd, sctp_hs_raise_drop::increase, sctp_nets::last_hs_used, sctp_nets::mtu, sctp_nets::net_ack, SCTP_BASE_SYSCTL, sctp_cwnd_adjust, SCTP_CWND_LOG_FROM_SS, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), SCTP_HS_TABLE_SIZE, and sctp_log_cwnd().
Referenced by sctp_hs_cwnd_update_after_sack().
|
static |
Definition at line 1679 of file sctp_cc_functions.c.
References sctp_tmit_chunk::asoc, sctp_tmit_chunk::data, sctp_nets::fast_recovery_tsn, sctp_association::fast_recovery_tsn, sctp_nets::fast_retran_loss_recovery, sctp_association::fast_retran_loss_recovery, sctp_nets::net_ack, sctp_association::nets, sctp_nets::partial_bytes_acked, sctp_tmit_chunk::rec, sctp_association::sctp_cmt_on_off, sctp_tcb::sctp_ep, SCTP_FROM_SCTP_CC_FUNCTIONS, sctp_hs_cwnd_decrease(), SCTP_LOC_2, SCTP_STAT_INCR, sctp_timer_start(), sctp_timer_stop(), SCTP_TIMER_TYPE_SEND, sctp_association::send_queue, sctp_association::sending_seq, and sctp_data_chunkrec::tsn.
|
static |
Definition at line 1745 of file sctp_cc_functions.c.
References sctp_nets::cwnd, sctp_nets::fast_recovery_tsn, sctp_nets::fast_retran_loss_recovery, sctp_association::fast_retran_loss_recovery, sctp_nets::flight_size, sctp_association::last_acked_seq, sctp_nets::mtu, sctp_nets::net_ack, sctp_association::nets, sctp_nets::new_pseudo_cumack, sctp_nets::partial_bytes_acked, sctp_nets::pseudo_cumack, SCTP_BASE_SYSCTL, sctp_association::sctp_cmt_on_off, SCTP_CWND_LOG_FROM_CA, SCTP_CWND_LOG_FROM_SACK, SCTP_CWND_LOG_NO_CUMACK, SCTP_CWND_LOG_NOADV_CA, SCTP_CWND_LOG_NOADV_SS, SCTP_CWND_LOGGING_ENABLE, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_hs_cwnd_increase(), sctp_log_cwnd(), SCTP_TSN_GE, sctp_nets::ssthresh, and sctp_nets::will_exit_fast_recovery.
|
static |
Definition at line 2294 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_nets::cc_mod, sctp_nets::cwnd, sctp_nets::cc_control_data::htcp_ca, htcp_recalc_ssthresh(), htcp_reset(), sctp_nets::mtu, sctp_nets::RTO, SCTP_BASE_SYSCTL, SCTP_CWND_LOG_FROM_SAT, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_log_cwnd(), SCTP_STAT_INCR, and sctp_nets::ssthresh.
|
static |
Definition at line 2204 of file sctp_cc_functions.c.
References sctp_tmit_chunk::asoc, sctp_nets::cc_mod, sctp_nets::cwnd, sctp_tmit_chunk::data, sctp_nets::fast_recovery_tsn, sctp_association::fast_recovery_tsn, sctp_nets::fast_retran_loss_recovery, sctp_association::fast_retran_loss_recovery, sctp_nets::cc_control_data::htcp_ca, htcp_recalc_ssthresh(), htcp_reset(), sctp_nets::net_ack, sctp_association::nets, sctp_nets::partial_bytes_acked, sctp_tmit_chunk::rec, SCTP_BASE_SYSCTL, sctp_association::sctp_cmt_on_off, SCTP_CWND_LOG_FROM_FR, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_tcb::sctp_ep, SCTP_FROM_SCTP_CC_FUNCTIONS, SCTP_LOC_3, sctp_log_cwnd(), SCTP_STAT_INCR, sctp_timer_start(), sctp_timer_stop(), SCTP_TIMER_TYPE_SEND, sctp_association::send_queue, sctp_association::sending_seq, sctp_nets::ssthresh, and sctp_data_chunkrec::tsn.
|
static |
Definition at line 2137 of file sctp_cc_functions.c.
References sctp_nets::fast_recovery_tsn, sctp_nets::fast_retran_loss_recovery, sctp_association::fast_retran_loss_recovery, htcp_cong_avoid(), sctp_association::last_acked_seq, measure_achieved_throughput(), sctp_nets::mtu, sctp_nets::net_ack, sctp_association::nets, sctp_nets::new_pseudo_cumack, sctp_nets::pseudo_cumack, SCTP_BASE_SYSCTL, sctp_association::sctp_cmt_on_off, SCTP_CWND_LOG_FROM_SACK, SCTP_CWND_LOG_NO_CUMACK, SCTP_CWND_LOGGING_ENABLE, sctp_log_cwnd(), SCTP_TSN_GE, and sctp_nets::will_exit_fast_recovery.
|
static |
Definition at line 2278 of file sctp_cc_functions.c.
References sctp_nets::cc_mod, sctp_nets::cwnd, sctp_nets::cc_control_data::htcp_ca, htcp_recalc_ssthresh(), htcp_reset(), sctp_nets::mtu, sctp_nets::partial_bytes_acked, SCTP_BASE_SYSCTL, SCTP_CWND_LOG_FROM_RTX, SCTP_CWND_MONITOR_ENABLE, sctp_log_cwnd(), and sctp_nets::ssthresh.
|
static |
Definition at line 2120 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_nets::cwnd, htcp_init(), sctp_nets::mtu, sctp_association::peers_rwnd, SCTP_BASE_SYSCTL, SCTP_CWND_INITIALIZATION, SCTP_CWND_LOGGING_ENABLE, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), SCTP_INITIAL_CWND, sctp_log_cwnd(), and sctp_nets::ssthresh.
|
static |
Definition at line 1511 of file sctp_cc_functions.c.
References sctp_nets::cc_mod, sctp_nets::cc_control_data::rtcc, and rtcc_cc::rtt_set_this_sack.
Definition at line 71 of file sctp_cc_functions.c.
References sctp_tcb::asoc, sctp_nets::cwnd, sctp_association::max_burst, sctp_nets::mtu, sctp_association::my_vtag, sctp_association::numnets, sctp_association::peers_rwnd, sctp_tcb::rport, SCTP_BASE_SYSCTL, sctp_association::sctp_cmt_on_off, SCTP_CMT_RPV1, SCTP_CMT_RPV2, SCTP_CWND_INITIALIZATION, SCTP_CWND_LOGGING_ENABLE, SCTP_CWND_MONITOR_ENABLE, sctp_enforce_cwnd_limit(), sctp_tcb::sctp_ep, SCTP_INITIAL_CWND, sctp_log_cwnd(), and sctp_nets::ssthresh.
Referenced by sctp_set_rtcc_initial_cc_param().
|
static |
Definition at line 1399 of file sctp_cc_functions.c.
References sctp_tcb::asoc, rtcc_cc::bw_bytes, rtcc_cc::bw_bytes_at_last_rttc, rtcc_cc::bw_tot_time, sctp_nets::cc_mod, sctp_nets::cwnd, rtcc_cc::cwnd_at_bw_set, rtcc_cc::last_step_state, rtcc_cc::lbw, rtcc_cc::lbw_rtt, rtcc_cc::ret_from_eq, sctp_tcb::rport, sctp_nets::cc_control_data::rtcc, sctp_nets::rtt, SCTP_BASE_SYSCTL, sctp_tcb::sctp_ep, sctp_set_initial_cc_param(), rtcc_cc::steady_step, rtcc_cc::step_cnt, rtcc_cc::tls_needs_set, rtcc_cc::use_dccc_ecn, sctp_association::use_precise_time, and rtcc_cc::vol_reduce.
const struct sctp_cc_functions sctp_cc_functions[] |
Definition at line 2319 of file sctp_cc_functions.c.
|
static |
Definition at line 1528 of file sctp_cc_functions.c.
Referenced by sctp_hs_cwnd_decrease(), and sctp_hs_cwnd_increase().
|
static |
Definition at line 1848 of file sctp_cc_functions.c.
Referenced by htcp_beta_update(), and measure_achieved_throughput().
|
static |
Definition at line 1847 of file sctp_cc_functions.c.
Referenced by htcp_alpha_update().