diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2007-06-07 14:21:05 -0400 |
---|---|---|
committer | Vladislav Yasevich <vxy@hera.kernel.org> | 2007-06-13 16:44:42 -0400 |
commit | 8a4794914f9cf2681235ec2311e189fe307c28c7 (patch) | |
tree | 029530de3f65445050e7f4c3ad4cd0195b127fa4 /net/sctp/socket.c | |
parent | c910b47e1811b3f8b184108c48de3d7af3e2999b (diff) |
[SCTP] Flag a pmtu change request
Currently, if the socket is owned by the user, we drop the ICMP
message. As a result SCTP forgets that path MTU changed and
never adjusting it's estimate. This causes all subsequent
packets to be fragmented. With this patch, we'll flag the association
that it needs to udpate it's estimate based on the already updated
routing information.
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Acked-by: Sridhar Samudrala <sri@us.ibm.com>
Diffstat (limited to 'net/sctp/socket.c')
-rw-r--r-- | net/sctp/socket.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index 45510c46c223..6edaaa009d62 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -1662,6 +1662,9 @@ SCTP_STATIC int sctp_sendmsg(struct kiocb *iocb, struct sock *sk, | |||
1662 | goto out_free; | 1662 | goto out_free; |
1663 | } | 1663 | } |
1664 | 1664 | ||
1665 | if (asoc->pmtu_pending) | ||
1666 | sctp_assoc_pending_pmtu(asoc); | ||
1667 | |||
1665 | /* If fragmentation is disabled and the message length exceeds the | 1668 | /* If fragmentation is disabled and the message length exceeds the |
1666 | * association fragmentation point, return EMSGSIZE. The I-D | 1669 | * association fragmentation point, return EMSGSIZE. The I-D |
1667 | * does not specify what this error is, but this looks like | 1670 | * does not specify what this error is, but this looks like |