This catches rack up in the recent changes to ECN and
also commonizes the functions that both the freebsd and rack stack uses. Sponsored by:Netflix Inc Differential Revision: https://reviews.freebsd.org/D23052
This commit is contained in:
parent
759a578b0c
commit
4ad2473790
@ -514,7 +514,7 @@ cc_post_recovery(struct tcpcb *tp, struct tcphdr *th)
|
||||
(tlen <= tp->t_maxseg) && \
|
||||
(V_tcp_delack_enabled || (tp->t_flags & TF_NEEDSYN)))
|
||||
|
||||
static void inline
|
||||
void inline
|
||||
cc_ecnpkt_handler(struct tcpcb *tp, struct tcphdr *th, uint8_t iptos)
|
||||
{
|
||||
INP_WLOCK_ASSERT(tp->t_inpcb);
|
||||
|
@ -7715,6 +7715,10 @@ rack_do_segment_nounlock(struct mbuf *m, struct tcphdr *th, struct socket *so,
|
||||
TCPSTAT_INC(tcps_ecn_ect1);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Process a packet differently from RFC3168. */
|
||||
cc_ecnpkt_handler(tp, th, iptos);
|
||||
|
||||
/* Congestion experienced. */
|
||||
if (thflags & TH_ECE) {
|
||||
rack_cong_signal(tp, th, CC_ECN);
|
||||
|
@ -891,6 +891,7 @@ void cc_ack_received(struct tcpcb *tp, struct tcphdr *th,
|
||||
uint16_t nsegs, uint16_t type);
|
||||
void cc_conn_init(struct tcpcb *tp);
|
||||
void cc_post_recovery(struct tcpcb *tp, struct tcphdr *th);
|
||||
void cc_ecnpkt_handler(struct tcpcb *tp, struct tcphdr *th, uint8_t iptos);
|
||||
void cc_cong_signal(struct tcpcb *tp, struct tcphdr *th, uint32_t type);
|
||||
#ifdef TCP_HHOOK
|
||||
void hhook_run_tcp_est_in(struct tcpcb *tp,
|
||||
|
Loading…
Reference in New Issue
Block a user