diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-16 06:57:14 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-16 06:57:14 -0400 |
commit | 02f3d4ce9e81434a365f4643020b0402f6fe3332 (patch) | |
tree | 8fd12d62c3d92ed090d1d7e5f92750bef951b914 /net/sctp/associola.c | |
parent | 35ad9b9cf7d8a2e6259a0d24022e910adb6f3489 (diff) |
sctp: Adjust PMTU updates to accomodate route invalidation.
This adjusts the call to dst_ops->update_pmtu() so that we can
transparently handle the fact that, in the future, the dst itself can
be invalidated by the PMTU update (when we have non-host routes cached
in sockets).
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/associola.c')
-rw-r--r-- | net/sctp/associola.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c index b16517ee1aaf..8cf348e62e74 100644 --- a/net/sctp/associola.c +++ b/net/sctp/associola.c | |||
@@ -1360,7 +1360,7 @@ struct sctp_transport *sctp_assoc_choose_alter_transport( | |||
1360 | /* Update the association's pmtu and frag_point by going through all the | 1360 | /* Update the association's pmtu and frag_point by going through all the |
1361 | * transports. This routine is called when a transport's PMTU has changed. | 1361 | * transports. This routine is called when a transport's PMTU has changed. |
1362 | */ | 1362 | */ |
1363 | void sctp_assoc_sync_pmtu(struct sctp_association *asoc) | 1363 | void sctp_assoc_sync_pmtu(struct sock *sk, struct sctp_association *asoc) |
1364 | { | 1364 | { |
1365 | struct sctp_transport *t; | 1365 | struct sctp_transport *t; |
1366 | __u32 pmtu = 0; | 1366 | __u32 pmtu = 0; |
@@ -1372,7 +1372,7 @@ void sctp_assoc_sync_pmtu(struct sctp_association *asoc) | |||
1372 | list_for_each_entry(t, &asoc->peer.transport_addr_list, | 1372 | list_for_each_entry(t, &asoc->peer.transport_addr_list, |
1373 | transports) { | 1373 | transports) { |
1374 | if (t->pmtu_pending && t->dst) { | 1374 | if (t->pmtu_pending && t->dst) { |
1375 | sctp_transport_update_pmtu(t, dst_mtu(t->dst)); | 1375 | sctp_transport_update_pmtu(sk, t, dst_mtu(t->dst)); |
1376 | t->pmtu_pending = 0; | 1376 | t->pmtu_pending = 0; |
1377 | } | 1377 | } |
1378 | if (!pmtu || (t->pathmtu < pmtu)) | 1378 | if (!pmtu || (t->pathmtu < pmtu)) |