diff options
Diffstat (limited to 'net/sctp')
-rw-r--r-- | net/sctp/associola.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c index caba989f4e76..8450960df24f 100644 --- a/net/sctp/associola.c +++ b/net/sctp/associola.c | |||
@@ -680,13 +680,15 @@ struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *asoc, | |||
680 | */ | 680 | */ |
681 | peer->param_flags = asoc->param_flags; | 681 | peer->param_flags = asoc->param_flags; |
682 | 682 | ||
683 | sctp_transport_route(peer, NULL, sp); | ||
684 | |||
683 | /* Initialize the pmtu of the transport. */ | 685 | /* Initialize the pmtu of the transport. */ |
684 | if (peer->param_flags & SPP_PMTUD_ENABLE) | 686 | if (peer->param_flags & SPP_PMTUD_DISABLE) { |
685 | sctp_transport_pmtu(peer); | 687 | if (asoc->pathmtu) |
686 | else if (asoc->pathmtu) | 688 | peer->pathmtu = asoc->pathmtu; |
687 | peer->pathmtu = asoc->pathmtu; | 689 | else |
688 | else | 690 | peer->pathmtu = SCTP_DEFAULT_MAXSEGMENT; |
689 | peer->pathmtu = SCTP_DEFAULT_MAXSEGMENT; | 691 | } |
690 | 692 | ||
691 | /* If this is the first transport addr on this association, | 693 | /* If this is the first transport addr on this association, |
692 | * initialize the association PMTU to the peer's PMTU. | 694 | * initialize the association PMTU to the peer's PMTU. |