| 2359 | } |
| 2360 | |
| 2361 | static void |
| 2362 | bbr_log_to_event(struct tcp_bbr *bbr, uint32_t cts, int32_t to_num) |
| 2363 | { |
| 2364 | if (bbr->rc_tp->t_logstate != TCP_LOG_STATE_OFF) { |
| 2365 | union tcp_log_stackspecific log; |
| 2366 | uint64_t ar; |
| 2367 | |
| 2368 | bbr_fill_in_logging_data(bbr, &log.u_bbr, cts); |
| 2369 | log.u_bbr.flex1 = bbr->bbr_timer_src; |
| 2370 | log.u_bbr.flex2 = 0; |
| 2371 | log.u_bbr.flex3 = bbr->r_ctl.rc_hpts_flags; |
| 2372 | ar = (uint64_t)(bbr->r_ctl.rc_resend); |
| 2373 | ar >>= 32; |
| 2374 | ar &= 0x00000000ffffffff; |
| 2375 | log.u_bbr.flex4 = (uint32_t)ar; |
| 2376 | ar = (uint64_t)bbr->r_ctl.rc_resend; |
| 2377 | ar &= 0x00000000ffffffff; |
| 2378 | log.u_bbr.flex5 = (uint32_t)ar; |
| 2379 | log.u_bbr.flex6 = TICKS_2_USEC(bbr->rc_tp->t_rxtcur); |
| 2380 | log.u_bbr.flex8 = to_num; |
| 2381 | TCP_LOG_EVENTP(bbr->rc_tp, NULL, |
| 2382 | &bbr->rc_inp->inp_socket->so_rcv, |
| 2383 | &bbr->rc_inp->inp_socket->so_snd, |
| 2384 | BBR_LOG_RTO, 0, |
| 2385 | 0, &log, false, &bbr->rc_tv); |
| 2386 | } |
| 2387 | } |
| 2388 | |
| 2389 | static void |
| 2390 | bbr_log_startup_event(struct tcp_bbr *bbr, uint32_t cts, uint32_t flex1, uint32_t flex2, uint32_t flex3, uint8_t reason) |
no test coverage detected