Adjust the MTU when accepting an SCTP association using
UDP encapsulation. MFC after: 1 week
This commit is contained in:
parent
23a4fe48f9
commit
60862d8e48
@ -521,7 +521,6 @@ sctp_process_init_ack(struct mbuf *m, int iphlen, int offset,
|
||||
/* calculate the RTO */
|
||||
net->RTO = sctp_calculate_rto(stcb, asoc, net, &asoc->time_entered, sctp_align_safe_nocopy,
|
||||
SCTP_RTT_FROM_NON_DATA);
|
||||
|
||||
retval = sctp_send_cookie_echo(m, offset, stcb, net);
|
||||
if (retval < 0) {
|
||||
/*
|
||||
@ -2347,12 +2346,17 @@ sctp_process_cookie_new(struct mbuf *m, int iphlen, int offset,
|
||||
sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL);
|
||||
}
|
||||
(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
|
||||
if ((netp) && (*netp)) {
|
||||
if ((netp != NULL) && (*netp != NULL)) {
|
||||
/* 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);
|
||||
#if defined(INET) || defined(INET6)
|
||||
if (((*netp)->port == 0) && (port != 0)) {
|
||||
sctp_pathmtu_adjustment(stcb, (*netp)->mtu - sizeof(struct udphdr));
|
||||
}
|
||||
(*netp)->port = port;
|
||||
#endif
|
||||
}
|
||||
/* respond with a COOKIE-ACK */
|
||||
sctp_send_cookie_ack(stcb);
|
||||
@ -5845,7 +5849,7 @@ sctp_common_input_processing(struct mbuf **mm, int iphlen, int offset, int lengt
|
||||
*/
|
||||
inp = stcb->sctp_ep;
|
||||
#if defined(INET) || defined(INET6)
|
||||
if ((net) && (port)) {
|
||||
if ((net != NULL) && (port != 0)) {
|
||||
if (net->port == 0) {
|
||||
sctp_pathmtu_adjustment(stcb, net->mtu - sizeof(struct udphdr));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user