diff options
| -rw-r--r-- | include/net/sctp/sctp.h | 9 | ||||
| -rw-r--r-- | net/sctp/associola.c | 6 | ||||
| -rw-r--r-- | net/sctp/transport.c | 6 | 
3 files changed, 12 insertions, 9 deletions
| diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index e327acad8e7d..4965cbfa7d92 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h @@ -600,10 +600,15 @@ static inline __u32 sctp_mtu_payload(const struct sctp_sock *sp,  	return mtu ? mtu - overhead : overhead;  } +static inline __u32 sctp_dst_mtu(const struct dst_entry *dst) +{ +	return SCTP_TRUNC4(max_t(__u32, dst_mtu(dst), +				 SCTP_DEFAULT_MINSEGMENT)); +} +  static inline bool sctp_transport_pmtu_check(struct sctp_transport *t)  { -	__u32 pmtu = max_t(size_t, SCTP_TRUNC4(dst_mtu(t->dst)), -			   SCTP_DEFAULT_MINSEGMENT); +	__u32 pmtu = sctp_dst_mtu(t->dst);  	if (t->pathmtu == pmtu)  		return true; diff --git a/net/sctp/associola.c b/net/sctp/associola.c index a29025418b96..039fdb862b17 100644 --- a/net/sctp/associola.c +++ b/net/sctp/associola.c @@ -1405,11 +1405,9 @@ void sctp_assoc_sync_pmtu(struct sctp_association *asoc)  		return;  	/* Get the lowest pmtu of all the transports. */ -	list_for_each_entry(t, &asoc->peer.transport_addr_list, -				transports) { +	list_for_each_entry(t, &asoc->peer.transport_addr_list, transports) {  		if (t->pmtu_pending && t->dst) { -			sctp_transport_update_pmtu( -					t, SCTP_TRUNC4(dst_mtu(t->dst))); +			sctp_transport_update_pmtu(t, sctp_dst_mtu(t->dst));  			t->pmtu_pending = 0;  		}  		if (!pmtu || (t->pathmtu < pmtu)) diff --git a/net/sctp/transport.c b/net/sctp/transport.c index c5fc3aed08a1..ed73a9d91b83 100644 --- a/net/sctp/transport.c +++ b/net/sctp/transport.c @@ -242,9 +242,9 @@ void sctp_transport_pmtu(struct sctp_transport *transport, struct sock *sk)  						&transport->fl, sk);  	} -	if (transport->dst) { -		transport->pathmtu = SCTP_TRUNC4(dst_mtu(transport->dst)); -	} else +	if (transport->dst) +		transport->pathmtu = sctp_dst_mtu(transport->dst); +	else  		transport->pathmtu = SCTP_DEFAULT_MAXSEGMENT;  } | 
