Lines Matching defs:fp

394 	sctp_faddr_t	*fp;
436 for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
438 pp_max_retr = MIN(sctp_pp_early_abort, fp->sf_max_retr);
440 pp_max_retr = fp->sf_max_retr;
452 if (fp->sf_state == SCTP_FADDRS_UNREACH) {
453 sctp_get_dest(sctp, fp);
454 if (fp->sf_state == SCTP_FADDRS_UNREACH) {
455 if (fp->sf_hb_enabled &&
456 ++fp->sf_strikes > pp_max_retr &&
457 sctp_faddr_dead(sctp, fp,
462 fp->sf_hb_expiry = now + SET_HB_INTVL(fp);
466 fp->sf_hb_expiry = now;
473 if (!fp->sf_hb_enabled && fp->sf_state !=
489 if (now >= fp->sf_hb_expiry) {
490 if (fp->sf_hb_pending) {
497 switch (fp->sf_state) {
506 fp->sf_rtt_updates = 0;
507 fp->sf_strikes++;
508 if (fp->sf_strikes > pp_max_retr) {
509 if (sctp_faddr_dead(sctp, fp,
518 fp->sf_rto =
522 SCTP_CALC_RXT(sctp, fp,
524 fp->sf_hb_expiry = now +
525 fp->sf_rto;
530 fp->sf_hb_expiry = now +
531 SET_HB_INTVL(fp);
541 if (fp->sf_suna > 0) {
542 fp->sf_hb_expiry = now +
543 SET_HB_INTVL(fp);
546 fp->sf_hb_expiry = now + fp->sf_rto;
559 if (fp->sf_state != SCTP_FADDRS_UNCONFIRMED ||
561 sctp_send_heartbeat(sctp, fp);
564 if (fp->sf_hb_expiry < earliest_expiry || earliest_expiry == 0)
565 earliest_expiry = fp->sf_hb_expiry;
588 sctp_rexmit_timer(sctp_t *sctp, sctp_faddr_t *fp)
595 ASSERT(fp != NULL);
598 SCTP_PRINTADDR(fp->sf_faddr)));
600 fp->sf_timer_running = 0;
603 pp_max_retr = fp->sf_max_retr;
607 pp_max_retr = MIN(sctp_pp_early_abort, fp->sf_max_retr);
613 if (fp->sf_strikes >= sctp->sctp_max_init_rxt) {
634 if (fp->sf_strikes >= pp_max_retr) {
635 if (sctp_faddr_dead(sctp, fp, SCTP_FADDRS_DOWN) == -1) {
659 sctp_rexmit(sctp, fp);
674 mp = sctp_init_mp(sctp, fp);
677 (void) conn_ip_output(mp, fp->sf_ixa);
691 (void) conn_ip_output(mp, fp->sf_ixa);
716 fp->sf_strikes++;
718 SCTP_CALC_RXT(sctp, fp, rto_max);
720 SCTP_FADDR_TIMER_RESTART(sctp, fp, fp->sf_rto);
727 sctp_update_rtt(sctp_t *sctp, sctp_faddr_t *fp, clock_t delta)
735 dprint(5, ("sctp_update_rtt: fp = %p, rtt = %d\n", (void *)fp, rtt));
738 if (fp->sf_srtt == -1) {
739 fp->sf_srtt = rtt;
740 fp->sf_rttvar = rtt / 2;
741 fp->sf_rto = 3 * rtt; /* == rtt + 4 * rttvar ( == rtt / 2) */
749 abs = fp->sf_srtt - rtt;
751 fp->sf_rttvar = (3 * fp->sf_rttvar + abs) >> 2;
752 fp->sf_rttvar = fp->sf_rttvar != 0 ? fp->sf_rttvar : 1;
754 fp->sf_srtt = (7 * fp->sf_srtt + rtt) >> 3;
755 fp->sf_rto = fp->sf_srtt + 4 * fp->sf_rttvar;
759 fp->sf_srtt, fp->sf_rttvar, fp->sf_rto));
762 if (fp->sf_rto < sctp->sctp_rto_min) {
763 fp->sf_rto = sctp->sctp_rto_min;
765 if (fp->sf_rto > sctp->sctp_rto_max) {
766 fp->sf_rto = sctp->sctp_rto_max;
769 SCTP_MAX_RTO(sctp, fp);
770 fp->sf_rtt_updates++;
776 sctp_faddr_t *fp;
778 for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
779 if (fp->sf_timer_mp != NULL) {
780 sctp_timer_free(fp->sf_timer_mp);
781 fp->sf_timer_mp = NULL;
782 fp->sf_timer_running = 0;
784 if (fp->sf_rc_timer_mp != NULL) {
785 sctp_timer_free(fp->sf_rc_timer_mp);
786 fp->sf_rc_timer_mp = NULL;
787 fp->sf_rc_timer_running = 0;
795 sctp_faddr_t *fp;
797 for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) {
798 SCTP_FADDR_TIMER_STOP(fp);
799 SCTP_FADDR_RC_TIMER_STOP(fp);