Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_var.h
Show First 20 Lines • Show All 326 Lines • ▼ Show 20 Lines | #define t_zero_size (sizeof(struct tcpcb) - \ | ||||
tcp_seq snd_una; /* sent but unacknowledged */ | tcp_seq snd_una; /* sent but unacknowledged */ | ||||
tcp_seq snd_max; /* highest sequence number sent; | tcp_seq snd_max; /* highest sequence number sent; | ||||
* used to recognize retransmits | * used to recognize retransmits | ||||
*/ | */ | ||||
tcp_seq snd_nxt; /* send next */ | tcp_seq snd_nxt; /* send next */ | ||||
tcp_seq snd_up; /* send urgent pointer */ | tcp_seq snd_up; /* send urgent pointer */ | ||||
uint32_t snd_wnd; /* send window */ | uint32_t snd_wnd; /* send window */ | ||||
uint32_t snd_cwnd; /* congestion-controlled window */ | uint32_t snd_cwnd; /* congestion-controlled window */ | ||||
uint32_t t_peakrate_thr; /* pre-calculated peak rate threshold */ | |||||
uint32_t ts_offset; /* our timestamp offset */ | uint32_t ts_offset; /* our timestamp offset */ | ||||
uint32_t rfbuf_ts; /* recv buffer autoscaling timestamp */ | uint32_t rfbuf_ts; /* recv buffer autoscaling timestamp */ | ||||
int rcv_numsacks; /* # distinct sack blks present */ | int rcv_numsacks; /* # distinct sack blks present */ | ||||
u_int t_tsomax; /* TSO total burst length limit */ | u_int t_tsomax; /* TSO total burst length limit */ | ||||
u_int t_tsomaxsegcount; /* TSO maximum segment count */ | u_int t_tsomaxsegcount; /* TSO maximum segment count */ | ||||
u_int t_tsomaxsegsize; /* TSO maximum segment size in bytes */ | u_int t_tsomaxsegsize; /* TSO maximum segment size in bytes */ | ||||
tcp_seq rcv_nxt; /* receive next */ | tcp_seq rcv_nxt; /* receive next */ | ||||
tcp_seq rcv_adv; /* advertised window */ | tcp_seq rcv_adv; /* advertised window */ | ||||
▲ Show 20 Lines • Show All 736 Lines • ▼ Show 20 Lines | struct tcpstat { | ||||
uint64_t tcps_ace_nect; /* ACE SYN packet with Non-ECT */ | uint64_t tcps_ace_nect; /* ACE SYN packet with Non-ECT */ | ||||
uint64_t tcps_ace_ect1; /* ACE SYN packet with ECT1 */ | uint64_t tcps_ace_ect1; /* ACE SYN packet with ECT1 */ | ||||
uint64_t tcps_ace_ect0; /* ACE SYN packet with ECT0 */ | uint64_t tcps_ace_ect0; /* ACE SYN packet with ECT0 */ | ||||
uint64_t tcps_ace_ce; /* ACE SYN packet with CE */ | uint64_t tcps_ace_ce; /* ACE SYN packet with CE */ | ||||
/* ECN related stats */ | /* ECN related stats */ | ||||
uint64_t tcps_ecn_sndect0; /* ECN Capable Transport */ | uint64_t tcps_ecn_sndect0; /* ECN Capable Transport */ | ||||
uint64_t tcps_ecn_sndect1; /* ECN Capable Transport */ | uint64_t tcps_ecn_sndect1; /* ECN Capable Transport */ | ||||
cc: Please add a new line and comment note above these two new variables as "TLP related stats" | |||||
Done Inline ActionsSure rrs: Sure | |||||
/* | |||||
* BBR and Rack implement TLP's these values count TLP bytes in | |||||
* two catagories, bytes that were retransmitted and bytes that | |||||
* were newly transmited. Both types can serve as TLP's but they | |||||
* are accounted differently. | |||||
*/ | |||||
uint64_t tcps_tlpresends; /* number of tlp resends */ | |||||
uint64_t tcps_tlpresend_bytes; /* number of bytes resent by tlp */ | |||||
uint64_t _pad[4]; /* 4 TBD placeholder for STABLE */ | uint64_t _pad[4]; /* 4 TBD placeholder for STABLE */ | ||||
Done Inline ActionsNeed to reduce padding. cc: Need to reduce padding. | |||||
Done Inline ActionsNo these changes are *not* to be MFC'd and so we do not reduce padding in such a case. rrs: No these changes are *not* to be MFC'd and so we do not reduce padding in such a case. | |||||
}; | }; | ||||
#define tcps_rcvmemdrop tcps_rcvreassfull /* compat */ | #define tcps_rcvmemdrop tcps_rcvreassfull /* compat */ | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
#define TI_UNLOCKED 1 | #define TI_UNLOCKED 1 | ||||
#define TI_RLOCKED 2 | #define TI_RLOCKED 2 | ||||
#include <sys/counter.h> | #include <sys/counter.h> | ||||
▲ Show 20 Lines • Show All 287 Lines • ▼ Show 20 Lines | int deregister_tcp_functions(struct tcp_function_block *blk, bool quiesce, | ||||
bool force); | bool force); | ||||
struct tcp_function_block *find_and_ref_tcp_functions(struct tcp_function_set *fs); | struct tcp_function_block *find_and_ref_tcp_functions(struct tcp_function_set *fs); | ||||
int find_tcp_function_alias(struct tcp_function_block *blk, struct tcp_function_set *fs); | int find_tcp_function_alias(struct tcp_function_block *blk, struct tcp_function_set *fs); | ||||
void tcp_switch_back_to_default(struct tcpcb *tp); | void tcp_switch_back_to_default(struct tcpcb *tp); | ||||
struct tcp_function_block * | struct tcp_function_block * | ||||
find_and_ref_tcp_fb(struct tcp_function_block *fs); | find_and_ref_tcp_fb(struct tcp_function_block *fs); | ||||
int tcp_default_ctloutput(struct inpcb *inp, struct sockopt *sopt); | int tcp_default_ctloutput(struct inpcb *inp, struct sockopt *sopt); | ||||
int tcp_ctloutput_set(struct inpcb *inp, struct sockopt *sopt); | int tcp_ctloutput_set(struct inpcb *inp, struct sockopt *sopt); | ||||
void tcp_log_socket_option(struct tcpcb *tp, uint32_t option_num, | |||||
uint32_t option_val, int err); | |||||
Done Inline ActionsThe alignments of some functions from above look like already a mess. So I can't ask for any better alignment. cc: The alignments of some functions from above look like already a mess. So I can't ask for any… | |||||
extern counter_u64_t tcp_inp_lro_direct_queue; | extern counter_u64_t tcp_inp_lro_direct_queue; | ||||
extern counter_u64_t tcp_inp_lro_wokeup_queue; | extern counter_u64_t tcp_inp_lro_wokeup_queue; | ||||
extern counter_u64_t tcp_inp_lro_compressed; | extern counter_u64_t tcp_inp_lro_compressed; | ||||
extern counter_u64_t tcp_inp_lro_locks_taken; | extern counter_u64_t tcp_inp_lro_locks_taken; | ||||
extern counter_u64_t tcp_extra_mbuf; | extern counter_u64_t tcp_extra_mbuf; | ||||
extern counter_u64_t tcp_would_have_but; | extern counter_u64_t tcp_would_have_but; | ||||
extern counter_u64_t tcp_comp_total; | extern counter_u64_t tcp_comp_total; | ||||
extern counter_u64_t tcp_uncomp_total; | extern counter_u64_t tcp_uncomp_total; | ||||
extern counter_u64_t tcp_bad_csums; | extern counter_u64_t tcp_bad_csums; | ||||
#ifdef NETFLIX_EXP_DETECTION | #ifdef TCP_SAD_DETECTION | ||||
/* Various SACK attack thresholds */ | /* Various SACK attack thresholds */ | ||||
extern int32_t tcp_force_detection; | extern int32_t tcp_force_detection; | ||||
extern int32_t tcp_sad_limit; | extern int32_t tcp_sad_limit; | ||||
extern int32_t tcp_sack_to_ack_thresh; | extern int32_t tcp_sack_to_ack_thresh; | ||||
extern int32_t tcp_sack_to_move_thresh; | extern int32_t tcp_sack_to_move_thresh; | ||||
extern int32_t tcp_restoral_thresh; | extern int32_t tcp_restoral_thresh; | ||||
extern int32_t tcp_sad_decay_val; | extern int32_t tcp_sad_decay_val; | ||||
extern int32_t tcp_sad_pacing_interval; | extern int32_t tcp_sad_pacing_interval; | ||||
▲ Show 20 Lines • Show All 171 Lines • Show Last 20 Lines |
Please add a new line and comment note above these two new variables as "TLP related stats"