[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>
This commit is contained in:
committed by
Vladislav Yasevich
parent
c910b47e18
commit
8a4794914f
@@ -367,9 +367,15 @@ static void sctp_add_backlog(struct sock *sk, struct sk_buff *skb)
|
||||
void sctp_icmp_frag_needed(struct sock *sk, struct sctp_association *asoc,
|
||||
struct sctp_transport *t, __u32 pmtu)
|
||||
{
|
||||
if (sock_owned_by_user(sk) || !t || (t->pathmtu == pmtu))
|
||||
if (!t || (t->pathmtu == pmtu))
|
||||
return;
|
||||
|
||||
if (sock_owned_by_user(sk)) {
|
||||
asoc->pmtu_pending = 1;
|
||||
t->pmtu_pending = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (t->param_flags & SPP_PMTUD_ENABLE) {
|
||||
/* Update transports view of the MTU */
|
||||
sctp_transport_update_pmtu(t, pmtu);
|
||||
|
Reference in New Issue
Block a user