| 1865 | } |
| 1866 | |
| 1867 | static __inline void |
| 1868 | bbr_fill_in_logging_data(struct tcp_bbr *bbr, struct tcp_log_bbr *l, uint32_t cts) |
| 1869 | { |
| 1870 | memset(l, 0, sizeof(union tcp_log_stackspecific)); |
| 1871 | l->cur_del_rate = bbr->r_ctl.rc_bbr_cur_del_rate; |
| 1872 | l->delRate = get_filter_value(&bbr->r_ctl.rc_delrate); |
| 1873 | l->rttProp = get_filter_value_small(&bbr->r_ctl.rc_rttprop); |
| 1874 | l->bw_inuse = bbr_get_bw(bbr); |
| 1875 | l->inflight = ctf_flight_size(bbr->rc_tp, |
| 1876 | (bbr->r_ctl.rc_sacked + bbr->r_ctl.rc_lost_bytes)); |
| 1877 | l->applimited = bbr->r_ctl.r_app_limited_until; |
| 1878 | l->delivered = bbr->r_ctl.rc_delivered; |
| 1879 | l->timeStamp = cts; |
| 1880 | l->lost = bbr->r_ctl.rc_lost; |
| 1881 | l->bbr_state = bbr->rc_bbr_state; |
| 1882 | l->bbr_substate = bbr_state_val(bbr); |
| 1883 | l->epoch = bbr->r_ctl.rc_rtt_epoch; |
| 1884 | l->lt_epoch = bbr->r_ctl.rc_lt_epoch; |
| 1885 | l->pacing_gain = bbr->r_ctl.rc_bbr_hptsi_gain; |
| 1886 | l->cwnd_gain = bbr->r_ctl.rc_bbr_cwnd_gain; |
| 1887 | l->inhpts = bbr->rc_inp->inp_in_hpts; |
| 1888 | l->ininput = bbr->rc_inp->inp_in_input; |
| 1889 | l->use_lt_bw = bbr->rc_lt_use_bw; |
| 1890 | l->pkts_out = bbr->r_ctl.rc_flight_at_input; |
| 1891 | l->pkt_epoch = bbr->r_ctl.rc_pkt_epoch; |
| 1892 | } |
| 1893 | |
| 1894 | static void |
| 1895 | bbr_log_type_bw_reduce(struct tcp_bbr *bbr, int reason) |
no test coverage detected