Lines Matching defs:sack
122 SYSCTL_NODE(_net_inet_tcp, OID_AUTO, sack, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
205 /* pkt left to sack blk */
209 /* pkt right to sack blk */
417 * are in our queue of sack blocks.
562 struct sackblk sack, sack_blocks[TCP_MAX_SACK + 1], *sblkp;
605 &sack, sizeof(sack));
606 sack.start = ntohl(sack.start);
607 sack.end = ntohl(sack.end);
608 if (SEQ_GT(sack.end, sack.start) &&
609 SEQ_GT(sack.start, tp->snd_una) &&
610 SEQ_GT(sack.start, th_ack) &&
611 SEQ_LT(sack.start, tp->snd_max) &&
612 SEQ_GT(sack.end, tp->snd_una) &&
613 SEQ_LEQ(sack.end, tp->snd_max) &&
614 ((sack.end - sack.start) >= maxseg ||
615 SEQ_GEQ(sack.end, tp->snd_max))) {
616 sack_blocks[num_sack_blks++] = sack;
617 } else if (SEQ_LEQ(sack.start, th_ack) &&
618 SEQ_LEQ(sack.end, th_ack)) {
622 tcp_record_dsack(tp, sack.start, sack.end, 0);
641 sack = sack_blocks[i];
643 sack_blocks[j] = sack;
651 * (from the sack blocks received) are created later below
703 /* Go to the previous sack block. */
709 * sack block. Skip over all the sack blocks that
712 * remaining sack blocks. This also trims the
741 * Since the incoming sack blocks are sorted, we can process them
764 * previous sack block.
798 * The sack block may ack all or part of the
855 * we're done with the sack block or the sack hole.
946 * Partial ack handling within a sack recovery episode. Keeping this very
951 * the midst of sack recovery.