MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rack_log_timely

Function rack_log_timely

freebsd/netinet/tcp_stacks/rack.c:2413–2461  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2411}
2412
2413static void
2414rack_log_timely(struct tcp_rack *rack,
2415 uint32_t logged, uint64_t cur_bw, uint64_t low_bnd,
2416 uint64_t up_bnd, int line, uint8_t method)
2417{
2418 if (rack->rc_tp->t_logstate != TCP_LOG_STATE_OFF) {
2419 union tcp_log_stackspecific log;
2420 struct timeval tv;
2421
2422 memset(&log, 0, sizeof(log));
2423 log.u_bbr.flex1 = logged;
2424 log.u_bbr.flex2 = rack->rc_gp_timely_inc_cnt;
2425 log.u_bbr.flex2 <<= 4;
2426 log.u_bbr.flex2 |= rack->rc_gp_timely_dec_cnt;
2427 log.u_bbr.flex2 <<= 4;
2428 log.u_bbr.flex2 |= rack->rc_gp_incr;
2429 log.u_bbr.flex2 <<= 4;
2430 log.u_bbr.flex2 |= rack->rc_gp_bwred;
2431 log.u_bbr.flex3 = rack->rc_gp_incr;
2432 log.u_bbr.flex4 = rack->r_ctl.rack_per_of_gp_ss;
2433 log.u_bbr.flex5 = rack->r_ctl.rack_per_of_gp_ca;
2434 log.u_bbr.flex6 = rack->r_ctl.rack_per_of_gp_rec;
2435 log.u_bbr.flex7 = rack->rc_gp_bwred;
2436 log.u_bbr.flex8 = method;
2437 log.u_bbr.cur_del_rate = cur_bw;
2438 log.u_bbr.delRate = low_bnd;
2439 log.u_bbr.bw_inuse = up_bnd;
2440 log.u_bbr.rttProp = rack_get_bw(rack);
2441 log.u_bbr.pkt_epoch = line;
2442 log.u_bbr.pkts_out = rack->r_ctl.rc_rtt_diff;
2443 log.u_bbr.timeStamp = tcp_get_usecs(&tv);
2444 log.u_bbr.inflight = ctf_flight_size(rack->rc_tp, rack->r_ctl.rc_sacked);
2445 log.u_bbr.epoch = rack->r_ctl.rc_gp_srtt;
2446 log.u_bbr.lt_epoch = rack->r_ctl.rc_prev_gp_srtt;
2447 log.u_bbr.cwnd_gain = rack->rc_dragged_bottom;
2448 log.u_bbr.cwnd_gain <<= 1;
2449 log.u_bbr.cwnd_gain |= rack->rc_gp_saw_rec;
2450 log.u_bbr.cwnd_gain <<= 1;
2451 log.u_bbr.cwnd_gain |= rack->rc_gp_saw_ss;
2452 log.u_bbr.cwnd_gain <<= 1;
2453 log.u_bbr.cwnd_gain |= rack->rc_gp_saw_ca;
2454 log.u_bbr.lost = rack->r_ctl.rc_loss_count;
2455 TCP_LOG_EVENTP(rack->rc_tp, NULL,
2456 &rack->rc_inp->inp_socket->so_rcv,
2457 &rack->rc_inp->inp_socket->so_snd,
2458 TCP_TIMELY_WORK, 0,
2459 0, &log, false, &tv);
2460 }
2461}
2462
2463static int
2464rack_bw_can_be_raised(struct tcp_rack *rack, uint64_t cur_bw, uint64_t last_bw_est, uint16_t mult)

Callers 5

rack_bw_can_be_raisedFunction · 0.85
rack_increase_bw_mulFunction · 0.85
rack_decrease_bw_mulFunction · 0.85
rack_update_multiplierFunction · 0.85

Calls 4

memsetFunction · 0.85
rack_get_bwFunction · 0.85
tcp_get_usecsFunction · 0.85
ctf_flight_sizeFunction · 0.85

Tested by

no test coverage detected