FreeBSD kernel IPv4 code
bbr_control Struct Reference

#include <tcp_bbr.h>

Collaboration diagram for bbr_control:

Data Fields

struct bbr_head rc_map
 
struct bbr_head rc_tmap
 
struct bbr_sendmaprc_resend
 
uint32_t rc_last_delay_val
 
uint32_t rc_bbr_hptsi_gain:16
 
uint32_t rc_hpts_flags:16
 
uint32_t rc_delivered
 
uint32_t rc_hptsi_agg_delay
 
uint32_t rc_flight_at_input
 
uint32_t rc_lost_bytes
 
struct time_filter rc_delrate
 
struct bbr_head rc_free
 
struct bbr_sendmaprc_tlp_send
 
uint32_t rc_del_time
 
uint32_t rc_target_at_state
 
uint16_t rc_free_cnt
 
uint16_t rc_startup_pg
 
uint32_t cur_rtt
 
uint32_t rc_went_idle_time
 
uint32_t rc_pace_max_segs:17
 
uint32_t rc_pace_min_segs:15
 
uint32_t rc_rtt_shrinks
 
uint32_t r_app_limited_until
 
uint32_t rc_timer_exp
 
uint32_t rc_rcv_epoch_start
 
uint32_t rc_lost_at_pktepoch
 
uint32_t r_measurement_count
 
uint32_t rc_last_tlp_seq
 
uint16_t rc_reorder_shift
 
uint16_t rc_pkt_delay
 
struct bbr_sendmaprc_sacklast
 
struct bbr_sendmaprc_next
 
uint32_t rc_sacked
 
uint32_t rc_holes_rxt
 
uint32_t rc_reorder_ts
 
uint32_t rc_init_rwnd
 
uint32_t rc_high_rwnd
 
uint32_t rc_lowest_rtt
 
uint32_t rc_last_rtt
 
uint32_t bbr_cross_over
 
struct sack_filter bbr_sf
 
struct time_filter_small rc_rttprop
 
uint32_t last_inbound_ts
 
uint32_t rc_inc_tcp_oh: 1
 
uint32_t rc_inc_ip_oh: 1
 
uint32_t rc_inc_enet_oh:1
 
uint32_t rc_incr_tmrs:1
 
uint32_t restrict_growth:28
 
uint32_t rc_lt_epoch_use
 
uint32_t rc_recovery_start
 
uint32_t rc_lt_del
 
uint64_t rc_bbr_cur_del_rate
 
uint32_t rc_cwnd_on_ent
 
uint32_t rc_agg_early
 
uint32_t rc_rcvtime
 
uint32_t rc_pkt_epoch_del
 
uint32_t rc_pkt_epoch
 
uint32_t rc_pkt_epoch_time
 
uint32_t rc_pkt_epoch_rtt
 
uint32_t rc_rtt_epoch
 
uint32_t lowest_rtt
 
uint32_t bbr_smallest_srtt_this_state
 
uint32_t rc_lt_epoch
 
uint32_t rc_lost_at_startup
 
uint32_t rc_bbr_state_atflight
 
uint32_t rc_bbr_last_startup_epoch
 
uint32_t rc_bbr_enters_probertt
 
uint32_t rc_lt_time
 
uint64_t rc_lt_bw
 
uint64_t rc_bbr_lastbtlbw
 
uint32_t rc_bbr_cwnd_gain
 
uint32_t rc_pkt_epoch_loss_rate
 
uint32_t rc_saved_cwnd
 
uint32_t substate_pe
 
uint32_t rc_lost
 
uint32_t rc_exta_time_gd
 
uint32_t rc_lt_lost
 
uint32_t rc_bbr_state_time
 
uint32_t rc_min_to
 
uint32_t rc_initial_hptsi_bw
 
uint32_t bbr_lost_at_state
 
uint32_t rc_level_state_extra
 
uint32_t rc_red_cwnd_pe
 
const struct tcp_hwrate_limit_tablecrte
 
uint64_t red_bw
 
uint32_t rc_probertt_int
 
uint32_t rc_probertt_srttchktim
 
uint32_t gain_epoch
 
uint32_t rc_min_rto_ms
 
uint32_t rc_reorder_fade
 
uint32_t last_startup_measure
 
int32_t bbr_hptsi_per_second
 
int32_t bbr_hptsi_segments_delay_tar
 
int32_t bbr_hptsi_segments_max
 
uint32_t bbr_rttprobe_gain_val
 
uint32_t cur_rtt_send_time
 
uint32_t bbr_peer_tsratio
 
uint32_t bbr_ts_check_tstmp
 
uint32_t bbr_ts_check_our_cts
 
uint32_t rc_tlp_rxt_last_time
 
uint32_t bbr_smallest_srtt_state2
 
uint32_t bbr_hdwr_cnt_noset_snt
 
uint32_t startup_last_srtt
 
uint32_t rc_ack_hdwr_delay
 
uint32_t highest_hdwr_delay
 
uint32_t non_gain_extra
 
uint32_t recovery_lr
 
uint32_t last_in_probertt
 
uint32_t flightsize_at_drain
 
uint32_t rc_pe_of_prtt
 
uint32_t ts_in
 
uint16_t rc_tlp_seg_send_cnt
 
uint16_t rc_drain_pg
 
uint32_t rc_num_maps_alloced
 
uint32_t rc_num_split_allocs
 
uint16_t rc_num_small_maps_alloced
 
uint16_t bbr_hptsi_bytes_min
 
uint16_t bbr_hptsi_segments_floor
 
uint16_t bbr_utter_max
 
uint16_t bbr_google_discount
 

Detailed Description

Definition at line 503 of file tcp_bbr.h.

Field Documentation

◆ bbr_cross_over

uint32_t bbr_control::bbr_cross_over

Definition at line 578 of file tcp_bbr.h.

Referenced by bbr_get_sockopt(), bbr_init(), bbr_set_sockopt(), and tcp_bbr_tso_size_check().

◆ bbr_google_discount

uint16_t bbr_control::bbr_google_discount

◆ bbr_hdwr_cnt_noset_snt

uint32_t bbr_control::bbr_hdwr_cnt_noset_snt

Definition at line 689 of file tcp_bbr.h.

Referenced by bbr_output_wtime().

◆ bbr_hptsi_bytes_min

uint16_t bbr_control::bbr_hptsi_bytes_min

Definition at line 707 of file tcp_bbr.h.

Referenced by bbr_get_sockopt(), bbr_init(), bbr_log_type_tsosize(), and bbr_set_sockopt().

◆ bbr_hptsi_per_second

int32_t bbr_control::bbr_hptsi_per_second

Definition at line 675 of file tcp_bbr.h.

Referenced by bbr_get_sockopt(), bbr_init(), bbr_set_sockopt(), and tcp_bbr_tso_size_check().

◆ bbr_hptsi_segments_delay_tar

int32_t bbr_control::bbr_hptsi_segments_delay_tar

◆ bbr_hptsi_segments_floor

uint16_t bbr_control::bbr_hptsi_segments_floor

Definition at line 709 of file tcp_bbr.h.

Referenced by bbr_get_sockopt(), bbr_init(), bbr_set_sockopt(), and tcp_bbr_tso_size_check().

◆ bbr_hptsi_segments_max

int32_t bbr_control::bbr_hptsi_segments_max

Definition at line 678 of file tcp_bbr.h.

Referenced by bbr_get_sockopt(), bbr_init(), bbr_set_sockopt(), and tcp_bbr_tso_size_check().

◆ bbr_lost_at_state

◆ bbr_peer_tsratio

uint32_t bbr_control::bbr_peer_tsratio

◆ bbr_rttprobe_gain_val

◆ bbr_sf

◆ bbr_smallest_srtt_state2

uint32_t bbr_control::bbr_smallest_srtt_state2

Definition at line 688 of file tcp_bbr.h.

Referenced by bbr_substate_change().

◆ bbr_smallest_srtt_this_state

uint32_t bbr_control::bbr_smallest_srtt_this_state

Definition at line 621 of file tcp_bbr.h.

Referenced by bbr_state_change(), bbr_substate_change(), and tcp_bbr_xmit_timer_commit().

◆ bbr_ts_check_our_cts

uint32_t bbr_control::bbr_ts_check_our_cts

Definition at line 686 of file tcp_bbr.h.

Referenced by bbr_make_timestamp_determination(), and tcp_bbr_xmit_timer_commit().

◆ bbr_ts_check_tstmp

uint32_t bbr_control::bbr_ts_check_tstmp

Definition at line 685 of file tcp_bbr.h.

Referenced by bbr_make_timestamp_determination(), and tcp_bbr_xmit_timer_commit().

◆ bbr_utter_max

uint16_t bbr_control::bbr_utter_max

Definition at line 710 of file tcp_bbr.h.

Referenced by bbr_get_sockopt(), bbr_init(), bbr_set_sockopt(), and tcp_bbr_tso_size_check().

◆ crte

◆ cur_rtt

uint32_t bbr_control::cur_rtt

Definition at line 537 of file tcp_bbr.h.

Referenced by tcp_bbr_xmit_timer(), and tcp_bbr_xmit_timer_commit().

◆ cur_rtt_send_time

uint32_t bbr_control::cur_rtt_send_time

◆ flightsize_at_drain

uint32_t bbr_control::flightsize_at_drain

◆ gain_epoch

uint32_t bbr_control::gain_epoch

Definition at line 669 of file tcp_bbr.h.

Referenced by bbr_log_exit_gain(), bbr_set_probebw_gains(), and bbr_substate_change().

◆ highest_hdwr_delay

uint32_t bbr_control::highest_hdwr_delay

Definition at line 692 of file tcp_bbr.h.

Referenced by bbr_do_segment_nounlock(), and bbr_log_doseg_done().

◆ last_in_probertt

◆ last_inbound_ts

◆ last_startup_measure

uint32_t bbr_control::last_startup_measure

Definition at line 673 of file tcp_bbr.h.

Referenced by bbr_state_startup().

◆ lowest_rtt

uint32_t bbr_control::lowest_rtt

Definition at line 620 of file tcp_bbr.h.

◆ non_gain_extra

uint32_t bbr_control::non_gain_extra

Definition at line 693 of file tcp_bbr.h.

◆ r_app_limited_until

◆ r_measurement_count

uint32_t bbr_control::r_measurement_count

Definition at line 555 of file tcp_bbr.h.

Referenced by __bbr_get_bw(), bbr_log_pkt_epoch(), bbr_state_startup(), and tcp_bbr_commit_bw().

◆ rc_ack_hdwr_delay

uint32_t bbr_control::rc_ack_hdwr_delay

◆ rc_agg_early

uint32_t bbr_control::rc_agg_early

Definition at line 609 of file tcp_bbr.h.

Referenced by bbr_exit_persist(), bbr_output_wtime(), bbr_remxt_tmr(), and bbr_start_hpts_timer().

◆ rc_bbr_cur_del_rate

uint64_t bbr_control::rc_bbr_cur_del_rate

◆ rc_bbr_cwnd_gain

◆ rc_bbr_enters_probertt

uint32_t bbr_control::rc_bbr_enters_probertt

Definition at line 629 of file tcp_bbr.h.

Referenced by bbr_enter_probe_rtt(), bbr_log_type_bw_reduce(), and bbr_state_change().

◆ rc_bbr_hptsi_gain

◆ rc_bbr_last_startup_epoch

◆ rc_bbr_lastbtlbw

uint64_t bbr_control::rc_bbr_lastbtlbw

◆ rc_bbr_state_atflight

uint32_t bbr_control::rc_bbr_state_atflight

Definition at line 626 of file tcp_bbr.h.

Referenced by bbr_log_exit_gain(), bbr_set_probebw_gains(), and bbr_substate_change().

◆ rc_bbr_state_time

◆ rc_cwnd_on_ent

uint32_t bbr_control::rc_cwnd_on_ent

◆ rc_del_time

◆ rc_delivered

◆ rc_delrate

◆ rc_drain_pg

uint16_t bbr_control::rc_drain_pg

Definition at line 702 of file tcp_bbr.h.

Referenced by bbr_get_sockopt(), bbr_init(), bbr_set_sockopt(), and bbr_state_change().

◆ rc_exta_time_gd

uint32_t bbr_control::rc_exta_time_gd

Definition at line 647 of file tcp_bbr.h.

Referenced by bbr_pick_probebw_substate(), and bbr_substate_change().

◆ rc_flight_at_input

uint32_t bbr_control::rc_flight_at_input

◆ rc_free

struct bbr_head bbr_control::rc_free

Definition at line 527 of file tcp_bbr.h.

Referenced by bbr_alloc(), bbr_fini(), bbr_free(), bbr_init(), and bbr_output_wtime().

◆ rc_free_cnt

uint16_t bbr_control::rc_free_cnt

Definition at line 533 of file tcp_bbr.h.

Referenced by bbr_alloc(), bbr_fini(), bbr_free(), and bbr_output_wtime().

◆ rc_high_rwnd

uint32_t bbr_control::rc_high_rwnd

◆ rc_holes_rxt

uint32_t bbr_control::rc_holes_rxt

Definition at line 567 of file tcp_bbr.h.

Referenced by bbr_log_ack(), bbr_log_syn(), and bbr_update_rsm().

◆ rc_hpts_flags

◆ rc_hptsi_agg_delay

uint32_t bbr_control::rc_hptsi_agg_delay

◆ rc_inc_enet_oh

uint32_t bbr_control::rc_inc_enet_oh

◆ rc_inc_ip_oh

uint32_t bbr_control::rc_inc_ip_oh

◆ rc_inc_tcp_oh

uint32_t bbr_control::rc_inc_tcp_oh

◆ rc_incr_tmrs

uint32_t bbr_control::rc_incr_tmrs

◆ rc_init_rwnd

uint32_t bbr_control::rc_init_rwnd

Definition at line 570 of file tcp_bbr.h.

Referenced by bbr_do_established(), bbr_fini(), and bbr_set_state().

◆ rc_initial_hptsi_bw

uint32_t bbr_control::rc_initial_hptsi_bw

Definition at line 654 of file tcp_bbr.h.

Referenced by __bbr_get_bw(), and bbr_init().

◆ rc_last_delay_val

◆ rc_last_rtt

uint32_t bbr_control::rc_last_rtt

Definition at line 577 of file tcp_bbr.h.

Referenced by bbr_get_rtt(), and bbr_update_rtt().

◆ rc_last_tlp_seq

uint32_t bbr_control::rc_last_tlp_seq

Definition at line 557 of file tcp_bbr.h.

Referenced by bbr_timeout_tlp(), and bbr_timer_start().

◆ rc_level_state_extra

◆ rc_lost

◆ rc_lost_at_pktepoch

uint32_t bbr_control::rc_lost_at_pktepoch

Definition at line 553 of file tcp_bbr.h.

Referenced by bbr_set_pktepoch().

◆ rc_lost_at_startup

◆ rc_lost_bytes

◆ rc_lowest_rtt

uint32_t bbr_control::rc_lowest_rtt

◆ rc_lt_bw

uint64_t bbr_control::rc_lt_bw

◆ rc_lt_del

uint32_t bbr_control::rc_lt_del

Definition at line 599 of file tcp_bbr.h.

Referenced by bbr_log_type_ltbw(), bbr_lt_bw_sampling(), and bbr_reset_lt_bw_interval().

◆ rc_lt_epoch

◆ rc_lt_epoch_use

uint32_t bbr_control::rc_lt_epoch_use

Definition at line 596 of file tcp_bbr.h.

Referenced by bbr_log_type_ltbw(), bbr_lt_bw_samp_done(), and bbr_lt_bw_sampling().

◆ rc_lt_lost

◆ rc_lt_time

uint32_t bbr_control::rc_lt_time

Definition at line 631 of file tcp_bbr.h.

Referenced by bbr_lt_bw_sampling(), and bbr_reset_lt_bw_interval().

◆ rc_map

◆ rc_min_rto_ms

uint32_t bbr_control::rc_min_rto_ms

◆ rc_min_to

uint32_t bbr_control::rc_min_to

◆ rc_next

struct bbr_sendmap* bbr_control::rc_next

Definition at line 563 of file tcp_bbr.h.

Referenced by bbr_free(), bbr_log_ack(), bbr_log_output(), bbr_log_syn(), and bbr_update_rsm().

◆ rc_num_maps_alloced

uint32_t bbr_control::rc_num_maps_alloced

Definition at line 703 of file tcp_bbr.h.

Referenced by bbr_alloc(), bbr_alloc_full_limit(), bbr_free(), and bbr_output_wtime().

◆ rc_num_small_maps_alloced

uint16_t bbr_control::rc_num_small_maps_alloced

Definition at line 705 of file tcp_bbr.h.

Referenced by bbr_clone_rsm(), bbr_collapsed_window(), bbr_free(), and bbr_log_ack().

◆ rc_num_split_allocs

uint32_t bbr_control::rc_num_split_allocs

Definition at line 704 of file tcp_bbr.h.

Referenced by bbr_alloc_limit(), and bbr_free().

◆ rc_pace_max_segs

◆ rc_pace_min_segs

uint32_t bbr_control::rc_pace_min_segs

◆ rc_pe_of_prtt

uint32_t bbr_control::rc_pe_of_prtt

Definition at line 697 of file tcp_bbr.h.

Referenced by bbr_enter_probe_rtt(), and bbr_exit_probe_rtt().

◆ rc_pkt_delay

uint16_t bbr_control::rc_pkt_delay

Definition at line 559 of file tcp_bbr.h.

Referenced by bbr_calc_thresh_rack(), bbr_get_sockopt(), bbr_init(), and bbr_set_sockopt().

◆ rc_pkt_epoch

◆ rc_pkt_epoch_del

uint32_t bbr_control::rc_pkt_epoch_del

Definition at line 612 of file tcp_bbr.h.

Referenced by bbr_init(), bbr_isit_a_pkt_epoch(), and bbr_set_pktepoch().

◆ rc_pkt_epoch_loss_rate

uint32_t bbr_control::rc_pkt_epoch_loss_rate

◆ rc_pkt_epoch_rtt

uint32_t bbr_control::rc_pkt_epoch_rtt

Definition at line 617 of file tcp_bbr.h.

Referenced by bbr_get_rtt(), bbr_log_pkt_epoch(), bbr_set_pktepoch(), and bbr_state_startup().

◆ rc_pkt_epoch_time

uint32_t bbr_control::rc_pkt_epoch_time

Definition at line 615 of file tcp_bbr.h.

Referenced by bbr_init(), and bbr_set_pktepoch().

◆ rc_probertt_int

◆ rc_probertt_srttchktim

uint32_t bbr_control::rc_probertt_srttchktim

Definition at line 667 of file tcp_bbr.h.

Referenced by bbr_enter_probe_rtt(), and bbr_state_change().

◆ rc_rcv_epoch_start

uint32_t bbr_control::rc_rcv_epoch_start

Definition at line 547 of file tcp_bbr.h.

Referenced by bbr_check_bbr_for_state(), bbr_pick_probebw_substate(), and bbr_set_epoch().

◆ rc_rcvtime

◆ rc_recovery_start

uint32_t bbr_control::rc_recovery_start

Definition at line 598 of file tcp_bbr.h.

Referenced by bbr_ack_received(), bbr_log_type_enter_rec(), and bbr_log_type_exit_rec().

◆ rc_red_cwnd_pe

uint32_t bbr_control::rc_red_cwnd_pe

Definition at line 662 of file tcp_bbr.h.

Referenced by bbr_post_recovery().

◆ rc_reorder_fade

uint32_t bbr_control::rc_reorder_fade

Definition at line 672 of file tcp_bbr.h.

Referenced by bbr_calc_thresh_rack(), bbr_get_sockopt(), bbr_init(), and bbr_set_sockopt().

◆ rc_reorder_shift

uint16_t bbr_control::rc_reorder_shift

◆ rc_reorder_ts

uint32_t bbr_control::rc_reorder_ts

◆ rc_resend

◆ rc_rtt_epoch

uint32_t bbr_control::rc_rtt_epoch

Definition at line 618 of file tcp_bbr.h.

Referenced by bbr_fill_in_logging_data(), and bbr_set_epoch().

◆ rc_rtt_shrinks

◆ rc_rttprop

◆ rc_sacked

◆ rc_sacklast

struct bbr_sendmap* bbr_control::rc_sacklast

Definition at line 561 of file tcp_bbr.h.

Referenced by bbr_free(), bbr_log_ack(), bbr_proc_sack_blk(), bbr_remxt_tmr(), and bbr_update_rsm().

◆ rc_saved_cwnd

◆ rc_startup_pg

uint16_t bbr_control::rc_startup_pg

◆ rc_target_at_state

◆ rc_timer_exp

◆ rc_tlp_rxt_last_time

uint32_t bbr_control::rc_tlp_rxt_last_time

Definition at line 687 of file tcp_bbr.h.

Referenced by bbr_init(), bbr_output_wtime(), bbr_process_timers(), and bbr_timer_start().

◆ rc_tlp_seg_send_cnt

uint16_t bbr_control::rc_tlp_seg_send_cnt

Definition at line 700 of file tcp_bbr.h.

Referenced by bbr_remxt_tmr(), bbr_timeout_tlp(), and bbr_timer_start().

◆ rc_tlp_send

struct bbr_sendmap* bbr_control::rc_tlp_send

Definition at line 528 of file tcp_bbr.h.

Referenced by bbr_free(), bbr_output_wtime(), and bbr_timeout_tlp().

◆ rc_tmap

◆ rc_went_idle_time

◆ recovery_lr

uint32_t bbr_control::recovery_lr

Definition at line 694 of file tcp_bbr.h.

Referenced by bbr_cong_signal(), bbr_post_recovery(), and bbr_set_pktepoch().

◆ red_bw

uint64_t bbr_control::red_bw

Definition at line 664 of file tcp_bbr.h.

Referenced by __bbr_get_bw(), and bbr_setup_red_bw().

◆ restrict_growth

uint32_t bbr_control::restrict_growth

Definition at line 595 of file tcp_bbr.h.

Referenced by bbr_ack_received(), and bbr_post_recovery().

◆ startup_last_srtt

uint32_t bbr_control::startup_last_srtt

Definition at line 690 of file tcp_bbr.h.

Referenced by bbr_state_startup().

◆ substate_pe

uint32_t bbr_control::substate_pe

Definition at line 644 of file tcp_bbr.h.

Referenced by bbr_substate_change().

◆ ts_in

uint32_t bbr_control::ts_in

Definition at line 698 of file tcp_bbr.h.

Referenced by tcp_bbr_xmit_timer(), and tcp_bbr_xmit_timer_commit().


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