• Home
  • Raw
  • Download

Lines Matching refs:tp

314 void sctp_transport_update_rto(struct sctp_transport *tp, __u32 rtt)  in sctp_transport_update_rto()  argument
316 if (unlikely(!tp->rto_pending)) in sctp_transport_update_rto()
318 pr_debug("%s: rto_pending not set on transport %p!\n", __func__, tp); in sctp_transport_update_rto()
320 if (tp->rttvar || tp->srtt) { in sctp_transport_update_rto()
321 struct net *net = sock_net(tp->asoc->base.sk); in sctp_transport_update_rto()
333 tp->rttvar = tp->rttvar - (tp->rttvar >> net->sctp.rto_beta) in sctp_transport_update_rto()
334 + (((__u32)abs((__s64)tp->srtt - (__s64)rtt)) >> net->sctp.rto_beta); in sctp_transport_update_rto()
335 tp->srtt = tp->srtt - (tp->srtt >> net->sctp.rto_alpha) in sctp_transport_update_rto()
341 tp->srtt = rtt; in sctp_transport_update_rto()
342 tp->rttvar = rtt >> 1; in sctp_transport_update_rto()
348 if (tp->rttvar == 0) in sctp_transport_update_rto()
349 tp->rttvar = SCTP_CLOCK_GRANULARITY; in sctp_transport_update_rto()
352 tp->rto = tp->srtt + (tp->rttvar << 2); in sctp_transport_update_rto()
357 if (tp->rto < tp->asoc->rto_min) in sctp_transport_update_rto()
358 tp->rto = tp->asoc->rto_min; in sctp_transport_update_rto()
363 if (tp->rto > tp->asoc->rto_max) in sctp_transport_update_rto()
364 tp->rto = tp->asoc->rto_max; in sctp_transport_update_rto()
366 sctp_max_rto(tp->asoc, tp); in sctp_transport_update_rto()
367 tp->rtt = rtt; in sctp_transport_update_rto()
372 tp->rto_pending = 0; in sctp_transport_update_rto()
375 __func__, tp, rtt, tp->srtt, tp->rttvar, tp->rto); in sctp_transport_update_rto()