| 10617 | } |
| 10618 | |
| 10619 | static void |
| 10620 | rack_set_state(struct tcpcb *tp, struct tcp_rack *rack) |
| 10621 | { |
| 10622 | switch (tp->t_state) { |
| 10623 | case TCPS_SYN_SENT: |
| 10624 | rack->r_state = TCPS_SYN_SENT; |
| 10625 | rack->r_substate = rack_do_syn_sent; |
| 10626 | break; |
| 10627 | case TCPS_SYN_RECEIVED: |
| 10628 | rack->r_state = TCPS_SYN_RECEIVED; |
| 10629 | rack->r_substate = rack_do_syn_recv; |
| 10630 | break; |
| 10631 | case TCPS_ESTABLISHED: |
| 10632 | rack_set_pace_segments(tp, rack, __LINE__); |
| 10633 | rack->r_state = TCPS_ESTABLISHED; |
| 10634 | rack->r_substate = rack_do_established; |
| 10635 | break; |
| 10636 | case TCPS_CLOSE_WAIT: |
| 10637 | rack->r_state = TCPS_CLOSE_WAIT; |
| 10638 | rack->r_substate = rack_do_close_wait; |
| 10639 | break; |
| 10640 | case TCPS_FIN_WAIT_1: |
| 10641 | rack->r_state = TCPS_FIN_WAIT_1; |
| 10642 | rack->r_substate = rack_do_fin_wait_1; |
| 10643 | break; |
| 10644 | case TCPS_CLOSING: |
| 10645 | rack->r_state = TCPS_CLOSING; |
| 10646 | rack->r_substate = rack_do_closing; |
| 10647 | break; |
| 10648 | case TCPS_LAST_ACK: |
| 10649 | rack->r_state = TCPS_LAST_ACK; |
| 10650 | rack->r_substate = rack_do_lastack; |
| 10651 | break; |
| 10652 | case TCPS_FIN_WAIT_2: |
| 10653 | rack->r_state = TCPS_FIN_WAIT_2; |
| 10654 | rack->r_substate = rack_do_fin_wait_2; |
| 10655 | break; |
| 10656 | case TCPS_LISTEN: |
| 10657 | case TCPS_CLOSED: |
| 10658 | case TCPS_TIME_WAIT: |
| 10659 | default: |
| 10660 | break; |
| 10661 | }; |
| 10662 | } |
| 10663 | |
| 10664 | static void |
| 10665 | rack_timer_audit(struct tcpcb *tp, struct tcp_rack *rack, struct sockbuf *sb) |
no test coverage detected