Ensure that the COOKIE-ACK can be sent over UDP if the COOKIE-ECHO was

received over UDP.
Thanks to Felix Weinrank for makeing me aware of the problem and to
Irene Ruengeler for providing the fix.

MFC after: 1 week
This commit is contained in:
Michael Tuexen 2015-05-12 08:08:16 +00:00
parent eccfe69a5c
commit fcbbf5af1d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=282810

View File

@ -2325,12 +2325,13 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, int offset,
sctp_is_feature_on(inp, SCTP_PCB_FLAGS_AUTOCLOSE)) {
sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL);
}
/* calculate the RTT */
(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
if ((netp) && (*netp)) {
/* calculate the RTT and set the encaps port */
(*netp)->RTO = sctp_calculate_rto(stcb, asoc, *netp,
&cookie->time_entered, sctp_align_unsafe_makecopy,
SCTP_RTT_FROM_NON_DATA);
(*netp)->port = port;
}
/* respond with a COOKIE-ACK */
sctp_send_cookie_ack(stcb);