Skip to content

Commit

Permalink
sctp: Get rid of an extra routing lookup when adding a transport.
Browse files Browse the repository at this point in the history
We used to perform 2 routing lookups for a new transport: one
just for path mtu detection, and one to actually route to destination
and path mtu update when sending a packet.  There is no point in doing
both of them, especially since the first one just for path mtu doesn't
take into account source address and sometimes gives the wrong route,
causing path mtu updates anyway.

We now do just the one call to do both route to destination and get
path mtu updates.

Signed-off-by: Vlad Yasevich <[email protected]>
  • Loading branch information
Vlad Yasevich committed Sep 4, 2009
1 parent a803c94 commit 8da645e
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions net/sctp/associola.c
Original file line number Diff line number Diff line change
Expand Up @@ -680,13 +680,15 @@ struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *asoc,
*/
peer->param_flags = asoc->param_flags;

sctp_transport_route(peer, NULL, sp);

/* Initialize the pmtu of the transport. */
if (peer->param_flags & SPP_PMTUD_ENABLE)
sctp_transport_pmtu(peer);
else if (asoc->pathmtu)
peer->pathmtu = asoc->pathmtu;
else
peer->pathmtu = SCTP_DEFAULT_MAXSEGMENT;
if (peer->param_flags & SPP_PMTUD_DISABLE) {
if (asoc->pathmtu)
peer->pathmtu = asoc->pathmtu;
else
peer->pathmtu = SCTP_DEFAULT_MAXSEGMENT;
}

/* If this is the first transport addr on this association,
* initialize the association PMTU to the peer's PMTU.
Expand Down

0 comments on commit 8da645e

Please sign in to comment.