Lines Matching refs:pmtu

276 			t->pl.pmtu = SCTP_BASE_PLPMTU;  in sctp_transport_pl_send()
277 t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); in sctp_transport_pl_send()
281 if (t->pl.pmtu == t->pl.probe_size) { /* Black Hole Detected */ in sctp_transport_pl_send()
286 t->pl.pmtu = SCTP_BASE_PLPMTU; in sctp_transport_pl_send()
287 t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); in sctp_transport_pl_send()
291 t->pl.probe_size = t->pl.pmtu; in sctp_transport_pl_send()
294 if (t->pl.pmtu == t->pl.probe_size) { /* Black Hole Detected */ in sctp_transport_pl_send()
298 t->pl.pmtu = SCTP_BASE_PLPMTU; in sctp_transport_pl_send()
299 t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); in sctp_transport_pl_send()
306 __func__, t, t->pl.state, t->pl.pmtu, t->pl.probe_size, t->pl.probe_high); in sctp_transport_pl_send()
313 __func__, t, t->pl.state, t->pl.pmtu, t->pl.probe_size, t->pl.probe_high); in sctp_transport_pl_recv()
315 t->pl.pmtu = t->pl.probe_size; in sctp_transport_pl_recv()
323 t->pl.pmtu = t->pl.probe_size; in sctp_transport_pl_recv()
324 t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); in sctp_transport_pl_recv()
341 t->pl.probe_size = t->pl.pmtu; in sctp_transport_pl_recv()
342 t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); in sctp_transport_pl_recv()
355 static bool sctp_transport_pl_toobig(struct sctp_transport *t, u32 pmtu) in sctp_transport_pl_toobig() argument
358 __func__, t, t->pl.state, t->pl.pmtu, t->pl.probe_size, pmtu); in sctp_transport_pl_toobig()
360 if (pmtu < SCTP_MIN_PLPMTU || pmtu >= t->pl.probe_size) in sctp_transport_pl_toobig()
364 if (pmtu >= SCTP_MIN_PLPMTU && pmtu < SCTP_BASE_PLPMTU) { in sctp_transport_pl_toobig()
367 t->pl.pmtu = SCTP_BASE_PLPMTU; in sctp_transport_pl_toobig()
368 t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); in sctp_transport_pl_toobig()
372 if (pmtu >= SCTP_BASE_PLPMTU && pmtu < t->pl.pmtu) { in sctp_transport_pl_toobig()
378 t->pl.pmtu = SCTP_BASE_PLPMTU; in sctp_transport_pl_toobig()
379 t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); in sctp_transport_pl_toobig()
381 } else if (pmtu > t->pl.pmtu && pmtu < t->pl.probe_size) { in sctp_transport_pl_toobig()
382 t->pl.probe_size = pmtu; in sctp_transport_pl_toobig()
386 if (pmtu >= SCTP_BASE_PLPMTU && pmtu < t->pl.pmtu) { in sctp_transport_pl_toobig()
392 t->pl.pmtu = SCTP_BASE_PLPMTU; in sctp_transport_pl_toobig()
393 t->pathmtu = t->pl.pmtu + sctp_transport_pl_hlen(t); in sctp_transport_pl_toobig()
402 bool sctp_transport_update_pmtu(struct sctp_transport *t, u32 pmtu) in sctp_transport_update_pmtu() argument
408 if (unlikely(pmtu < SCTP_DEFAULT_MINSEGMENT)) { in sctp_transport_update_pmtu()
410 __func__, pmtu, SCTP_DEFAULT_MINSEGMENT); in sctp_transport_update_pmtu()
412 pmtu = SCTP_DEFAULT_MINSEGMENT; in sctp_transport_update_pmtu()
414 pmtu = SCTP_TRUNC4(pmtu); in sctp_transport_update_pmtu()
417 return sctp_transport_pl_toobig(t, pmtu - sctp_transport_pl_hlen(t)); in sctp_transport_update_pmtu()
426 dst->ops->update_pmtu(dst, sk, NULL, pmtu, true); in sctp_transport_update_pmtu()
439 pmtu = sctp_dst_mtu(dst); in sctp_transport_update_pmtu()
440 change = t->pathmtu != pmtu; in sctp_transport_update_pmtu()
442 t->pathmtu = pmtu; in sctp_transport_update_pmtu()
561 __u32 cwnd, ssthresh, flight_size, pba, pmtu; in sctp_transport_raise_cwnd() local
573 pmtu = transport->asoc->pathmtu; in sctp_transport_raise_cwnd()
601 if (bytes_acked > pmtu) in sctp_transport_raise_cwnd()
602 cwnd += pmtu; in sctp_transport_raise_cwnd()
638 cwnd += pmtu; in sctp_transport_raise_cwnd()