FreeBSD kernel IPv4 code
rack_control Struct Reference

#include <tcp_rack.h>

Collaboration diagram for rack_control:

Data Fields

struct rack_rb_tree_head rc_mtree
 
struct rack_head rc_tmap
 
struct rack_sendmaprc_tlpsend
 
struct rack_sendmaprc_resend
 
struct rack_fast_send_blk fsb
 
uint32_t timer_slop
 
uint32_t input_pkt
 
uint32_t saved_input_pkt
 
uint32_t rc_hpts_flags
 
uint32_t rc_fixed_pacing_rate_ca
 
uint32_t rc_fixed_pacing_rate_rec
 
uint32_t rc_fixed_pacing_rate_ss
 
uint32_t cwnd_to_use
 
uint32_t rc_timer_exp
 
uint32_t rc_rack_min_rtt
 
uint32_t rc_rack_largest_cwnd
 
struct rack_head rc_free
 
uint64_t last_hw_bw_req
 
uint64_t crte_prev_rate
 
uint64_t bw_rate_cap
 
uint32_t rc_reorder_ts
 
uint32_t rc_tlp_new_data
 
uint32_t rc_prr_out
 
uint32_t rc_prr_recovery_fs
 
uint32_t rc_prr_sndcnt
 
uint32_t rc_sacked
 
uint32_t last_sent_tlp_seq
 
uint32_t rc_prr_delivered
 
uint16_t rc_tlp_cnt_out
 
uint16_t last_sent_tlp_len
 
uint32_t rc_loss_count
 
uint32_t rc_reorder_fade
 
uint32_t rc_rack_tmit_time
 
uint32_t rc_holes_rxt
 
uint32_t rc_num_maps_alloced
 
uint32_t rc_rcvtime
 
uint32_t rc_num_split_allocs
 
uint32_t rc_last_output_to
 
uint32_t rc_went_idle_time
 
struct rack_sendmaprc_sacklast
 
struct rack_sendmaprc_first_appl
 
struct rack_sendmaprc_end_appl
 
struct sack_filter rack_sf
 
uint32_t rc_pace_max_segs
 
uint32_t rc_pace_min_segs
 
uint32_t rc_app_limited_cnt
 
uint16_t rack_per_of_gp_ss
 
uint16_t rack_per_of_gp_ca
 
uint16_t rack_per_of_gp_rec
 
uint16_t rack_per_of_gp_probertt
 
uint32_t rc_high_rwnd
 
uint32_t ack_count
 
uint32_t sack_count
 
uint32_t sack_noextra_move
 
uint32_t sack_moved_extra
 
struct rack_rtt_sample rack_rs
 
const struct tcp_hwrate_limit_tablecrte
 
uint32_t rc_agg_early
 
uint32_t rc_agg_delayed
 
uint32_t rc_tlp_rxt_last_time
 
uint32_t rc_saved_cwnd
 
uint64_t rc_gp_output_ts
 
uint64_t rc_gp_cumack_ts
 
struct timeval act_rcv_time
 
struct timeval rc_last_time_decay
 
uint64_t gp_bw
 
uint64_t init_rate
 
uint64_t last_gp_comp_bw
 
uint64_t last_max_bw
 
struct time_filter_small rc_gp_min_rtt
 
struct def_opt_head opt_list
 
int32_t rc_rtt_diff
 
uint32_t rc_gp_srtt
 
uint32_t rc_prev_gp_srtt
 
uint32_t rc_entry_gp_rtt
 
uint32_t rc_loss_at_start
 
uint32_t dsack_round_end
 
uint32_t current_round
 
uint32_t roundends
 
uint32_t num_dsack
 
uint32_t forced_ack_ts
 
uint32_t rc_lower_rtt_us_cts
 
uint32_t rc_time_probertt_entered
 
uint32_t rc_time_probertt_starts
 
uint32_t rc_lowest_us_rtt
 
uint32_t rc_highest_us_rtt
 
uint32_t rc_last_us_rtt
 
uint32_t rc_time_of_last_probertt
 
uint32_t rc_target_probertt_flight
 
uint32_t rc_probertt_sndmax_atexit
 
uint32_t rc_cwnd_at_erec
 
uint32_t rc_ssthresh_at_erec
 
uint32_t dsack_byte_cnt
 
uint32_t retran_during_recovery
 
uint32_t rc_gp_lowrtt
 
uint32_t rc_gp_high_rwnd
 
uint32_t rc_snd_max_at_rto
 
uint32_t rc_out_at_rto
 
int32_t rc_scw_index
 
uint32_t rc_tlp_threshold
 
uint32_t rc_last_timeout_snduna
 
uint32_t last_tlp_acked_start
 
uint32_t last_tlp_acked_end
 
uint32_t challenge_ack_ts
 
uint32_t challenge_ack_cnt
 
uint32_t rc_min_to
 
uint32_t rc_pkt_delay
 
uint32_t persist_lost_ends
 
struct newreno rc_saved_beta
 
uint16_t rc_early_recovery_segs
 
uint16_t rc_reorder_shift
 
uint8_t dsack_persist
 
uint8_t rc_no_push_at_mrtt
 
uint8_t num_measurements
 
uint8_t req_measurements
 
uint8_t rc_tlp_cwnd_reduce
 
uint8_t rc_prr_sendalot
 
uint8_t rc_rate_sample_method
 

Detailed Description

Definition at line 333 of file tcp_rack.h.

Field Documentation

◆ ack_count

uint32_t rack_control::ack_count

◆ act_rcv_time

◆ bw_rate_cap

uint64_t rack_control::bw_rate_cap

◆ challenge_ack_cnt

◆ challenge_ack_ts

◆ crte

◆ crte_prev_rate

uint64_t rack_control::crte_prev_rate

Definition at line 357 of file tcp_rack.h.

Referenced by rack_get_pacing_delay(), and rack_log_hdwr_pacing().

◆ current_round

uint32_t rack_control::current_round

Definition at line 441 of file tcp_rack.h.

Referenced by rack_do_compressed_ack_processing(), and rack_do_segment_nounlock().

◆ cwnd_to_use

◆ dsack_byte_cnt

◆ dsack_persist

uint8_t rack_control::dsack_persist

◆ dsack_round_end

uint32_t rack_control::dsack_round_end

◆ forced_ack_ts

uint32_t rack_control::forced_ack_ts

◆ fsb

◆ gp_bw

◆ init_rate

uint64_t rack_control::init_rate

◆ input_pkt

uint32_t rack_control::input_pkt

Definition at line 343 of file tcp_rack.h.

Referenced by rack_do_decay().

◆ last_gp_comp_bw

uint64_t rack_control::last_gp_comp_bw

Definition at line 430 of file tcp_rack.h.

Referenced by rack_update_multiplier().

◆ last_hw_bw_req

uint64_t rack_control::last_hw_bw_req

Definition at line 356 of file tcp_rack.h.

Referenced by rack_get_pacing_delay(), and rack_log_hdwr_pacing().

◆ last_max_bw

uint64_t rack_control::last_max_bw

Definition at line 431 of file tcp_rack.h.

Referenced by rack_check_bottom_drag(), and rack_do_goodput_measurement().

◆ last_sent_tlp_len

uint16_t rack_control::last_sent_tlp_len

◆ last_sent_tlp_seq

uint32_t rack_control::last_sent_tlp_seq

◆ last_tlp_acked_end

uint32_t rack_control::last_tlp_acked_end

◆ last_tlp_acked_start

uint32_t rack_control::last_tlp_acked_start

◆ num_dsack

◆ num_measurements

uint8_t rack_control::num_measurements

Definition at line 488 of file tcp_rack.h.

Referenced by rack_check_bottom_drag(), rack_do_goodput_measurement(), and rack_get_bw().

◆ opt_list

struct def_opt_head rack_control::opt_list

◆ persist_lost_ends

uint32_t rack_control::persist_lost_ends

Definition at line 471 of file tcp_rack.h.

Referenced by rack_enter_persist(), and rack_timeout_persist().

◆ rack_per_of_gp_ca

◆ rack_per_of_gp_probertt

uint16_t rack_control::rack_per_of_gp_probertt

◆ rack_per_of_gp_rec

◆ rack_per_of_gp_ss

◆ rack_rs

◆ rack_sf

◆ rc_agg_delayed

◆ rc_agg_early

◆ rc_app_limited_cnt

uint32_t rack_control::rc_app_limited_cnt

◆ rc_cwnd_at_erec

uint32_t rack_control::rc_cwnd_at_erec

Definition at line 454 of file tcp_rack.h.

Referenced by rack_cong_signal().

◆ rc_early_recovery_segs

uint16_t rack_control::rc_early_recovery_segs

Definition at line 484 of file tcp_rack.h.

Referenced by rack_ack_received(), rack_get_sockopt(), and rack_process_option().

◆ rc_end_appl

struct rack_sendmap* rack_control::rc_end_appl

Definition at line 398 of file tcp_rack.h.

Referenced by rack_exit_probertt(), rack_free(), and rack_output().

◆ rc_entry_gp_rtt

uint32_t rack_control::rc_entry_gp_rtt

Definition at line 437 of file tcp_rack.h.

Referenced by rack_enter_probertt(), rack_exit_probertt(), and rack_log_rtt_shrinks().

◆ rc_first_appl

◆ rc_fixed_pacing_rate_ca

uint32_t rack_control::rc_fixed_pacing_rate_ca

Definition at line 346 of file tcp_rack.h.

Referenced by rack_get_fixed_pacing_bw(), rack_get_sockopt(), and rack_process_option().

◆ rc_fixed_pacing_rate_rec

uint32_t rack_control::rc_fixed_pacing_rate_rec

Definition at line 347 of file tcp_rack.h.

Referenced by rack_get_fixed_pacing_bw(), rack_get_sockopt(), and rack_process_option().

◆ rc_fixed_pacing_rate_ss

uint32_t rack_control::rc_fixed_pacing_rate_ss

Definition at line 348 of file tcp_rack.h.

Referenced by rack_get_fixed_pacing_bw(), rack_get_sockopt(), and rack_process_option().

◆ rc_free

struct rack_head rack_control::rc_free

Definition at line 355 of file tcp_rack.h.

Referenced by rack_alloc(), rack_fini(), rack_free(), rack_free_trim(), rack_init(), and rack_output().

◆ rc_gp_cumack_ts

uint64_t rack_control::rc_gp_cumack_ts

Definition at line 422 of file tcp_rack.h.

Referenced by rack_do_goodput_measurement(), and rack_process_to_cumack().

◆ rc_gp_high_rwnd

uint32_t rack_control::rc_gp_high_rwnd

◆ rc_gp_lowrtt

uint32_t rack_control::rc_gp_lowrtt

◆ rc_gp_min_rtt

◆ rc_gp_output_ts

uint64_t rack_control::rc_gp_output_ts

◆ rc_gp_srtt

◆ rc_high_rwnd

◆ rc_highest_us_rtt

uint32_t rack_control::rc_highest_us_rtt

Definition at line 449 of file tcp_rack.h.

Referenced by rack_init(), rack_log_rtt_shrinks(), and tcp_rack_xmit_timer_commit().

◆ rc_holes_rxt

uint32_t rack_control::rc_holes_rxt

◆ rc_hpts_flags

◆ rc_last_output_to

◆ rc_last_time_decay

struct timeval rack_control::rc_last_time_decay

Definition at line 424 of file tcp_rack.h.

Referenced by rack_do_decay(), and rack_init().

◆ rc_last_timeout_snduna

uint32_t rack_control::rc_last_timeout_snduna

Definition at line 464 of file tcp_rack.h.

Referenced by rack_remxt_tmr().

◆ rc_last_us_rtt

uint32_t rack_control::rc_last_us_rtt

Definition at line 450 of file tcp_rack.h.

Referenced by pace_to_fill_cwnd(), and tcp_rack_xmit_timer_commit().

◆ rc_loss_at_start

uint32_t rack_control::rc_loss_at_start

Definition at line 438 of file tcp_rack.h.

Referenced by rack_do_goodput_measurement(), and rack_update_multiplier().

◆ rc_loss_count

uint32_t rack_control::rc_loss_count

◆ rc_lower_rtt_us_cts

◆ rc_lowest_us_rtt

uint32_t rack_control::rc_lowest_us_rtt

Definition at line 448 of file tcp_rack.h.

Referenced by rack_fini(), rack_init(), rack_log_rtt_shrinks(), and tcp_rack_xmit_timer_commit().

◆ rc_min_to

uint32_t rack_control::rc_min_to

◆ rc_mtree

◆ rc_no_push_at_mrtt

uint8_t rack_control::rc_no_push_at_mrtt

◆ rc_num_maps_alloced

uint32_t rack_control::rc_num_maps_alloced

◆ rc_num_split_allocs

uint32_t rack_control::rc_num_split_allocs

Definition at line 389 of file tcp_rack.h.

Referenced by rack_alloc_limit(), and rack_free().

◆ rc_out_at_rto

◆ rc_pace_max_segs

◆ rc_pace_min_segs

◆ rc_pkt_delay

uint32_t rack_control::rc_pkt_delay

◆ rc_prev_gp_srtt

uint32_t rack_control::rc_prev_gp_srtt

Definition at line 436 of file tcp_rack.h.

Referenced by rack_do_goodput_measurement(), rack_log_rtt_shrinks(), and rack_log_timely().

◆ rc_probertt_sndmax_atexit

uint32_t rack_control::rc_probertt_sndmax_atexit

◆ rc_prr_delivered

uint32_t rack_control::rc_prr_delivered

Definition at line 372 of file tcp_rack.h.

Referenced by rack_cong_signal(), rack_log_to_prr(), and rack_update_prr().

◆ rc_prr_out

uint32_t rack_control::rc_prr_out

Definition at line 363 of file tcp_rack.h.

Referenced by rack_cong_signal(), rack_log_output(), rack_log_to_prr(), and rack_update_prr().

◆ rc_prr_recovery_fs

uint32_t rack_control::rc_prr_recovery_fs

Definition at line 365 of file tcp_rack.h.

Referenced by rack_cong_signal(), rack_log_to_prr(), and rack_update_prr().

◆ rc_prr_sendalot

uint8_t rack_control::rc_prr_sendalot

Definition at line 491 of file tcp_rack.h.

Referenced by rack_get_sockopt(), rack_init(), rack_output(), and rack_process_option().

◆ rc_prr_sndcnt

◆ rc_rack_largest_cwnd

uint32_t rack_control::rc_rack_largest_cwnd

Definition at line 352 of file tcp_rack.h.

Referenced by rack_ack_received(), and rack_get_pacing_delay().

◆ rc_rack_min_rtt

◆ rc_rack_tmit_time

uint32_t rack_control::rc_rack_tmit_time

Definition at line 383 of file tcp_rack.h.

Referenced by rack_update_rtt().

◆ rc_rate_sample_method

uint8_t rack_control::rc_rate_sample_method

◆ rc_rcvtime

◆ rc_reorder_fade

uint32_t rack_control::rc_reorder_fade

◆ rc_reorder_shift

uint16_t rack_control::rc_reorder_shift

◆ rc_reorder_ts

◆ rc_resend

struct rack_sendmap* rack_control::rc_resend

◆ rc_rtt_diff

◆ rc_sacked

◆ rc_sacklast

struct rack_sendmap* rack_control::rc_sacklast

Definition at line 394 of file tcp_rack.h.

Referenced by rack_free(), rack_log_ack(), rack_proc_sack_blk(), and rack_remxt_tmr().

◆ rc_saved_beta

struct newreno rack_control::rc_saved_beta

◆ rc_saved_cwnd

uint32_t rack_control::rc_saved_cwnd

Definition at line 420 of file tcp_rack.h.

◆ rc_scw_index

int32_t rack_control::rc_scw_index

Definition at line 462 of file tcp_rack.h.

Referenced by rack_enter_persist(), rack_exit_persist(), rack_fini(), and rack_output().

◆ rc_snd_max_at_rto

◆ rc_ssthresh_at_erec

uint32_t rack_control::rc_ssthresh_at_erec

Definition at line 455 of file tcp_rack.h.

Referenced by rack_cong_signal(), and rack_handle_might_revert().

◆ rc_target_probertt_flight

uint32_t rack_control::rc_target_probertt_flight

◆ rc_time_of_last_probertt

uint32_t rack_control::rc_time_of_last_probertt

Definition at line 451 of file tcp_rack.h.

Referenced by rack_exit_persist(), rack_exit_probertt(), rack_init(), and rack_output().

◆ rc_time_probertt_entered

◆ rc_time_probertt_starts

◆ rc_timer_exp

uint32_t rack_control::rc_timer_exp

◆ rc_tlp_cnt_out

◆ rc_tlp_cwnd_reduce

uint8_t rack_control::rc_tlp_cwnd_reduce

Definition at line 490 of file tcp_rack.h.

Referenced by rack_get_sockopt(), rack_init(), rack_process_option(), and rack_update_rtt().

◆ rc_tlp_new_data

uint32_t rack_control::rc_tlp_new_data

Definition at line 361 of file tcp_rack.h.

Referenced by rack_output(), and rack_timeout_tlp().

◆ rc_tlp_rxt_last_time

uint32_t rack_control::rc_tlp_rxt_last_time

◆ rc_tlp_threshold

uint32_t rack_control::rc_tlp_threshold

Definition at line 463 of file tcp_rack.h.

Referenced by rack_calc_thresh_tlp(), rack_get_sockopt(), rack_init(), and rack_process_option().

◆ rc_tlpsend

struct rack_sendmap* rack_control::rc_tlpsend

Definition at line 337 of file tcp_rack.h.

Referenced by rack_free(), rack_output(), and rack_timeout_tlp().

◆ rc_tmap

◆ rc_went_idle_time

◆ req_measurements

uint8_t rack_control::req_measurements

◆ retran_during_recovery

◆ roundends

uint32_t rack_control::roundends

◆ sack_count

uint32_t rack_control::sack_count

◆ sack_moved_extra

uint32_t rack_control::sack_moved_extra

Definition at line 414 of file tcp_rack.h.

Referenced by rack_do_decay(), rack_log_ack(), and rack_log_rtt_sample().

◆ sack_noextra_move

uint32_t rack_control::sack_noextra_move

Definition at line 413 of file tcp_rack.h.

Referenced by rack_do_decay(), rack_log_ack(), and rack_log_rtt_sample().

◆ saved_input_pkt

uint32_t rack_control::saved_input_pkt

Definition at line 344 of file tcp_rack.h.

Referenced by rack_do_decay().

◆ timer_slop


The documentation for this struct was generated from the following file: