Lines Matching defs:sack
129 SYSCTL_NODE(_net_inet_tcp, OID_AUTO, sack, CTLFLAG_RW, 0, "TCP SACK");
188 /* pkt left to sack blk */
192 /* pkt right to sack blk */
400 * are in our queue of sack blocks.
538 * 0 otherwise. Note: We treat (snd_una, th_ack) as a sack block so any changes
546 struct sackblk sack, sack_blocks[TCP_MAX_SACK + 1], *sblkp;
569 &sack, sizeof(sack));
570 sack.start = ntohl(sack.start);
571 sack.end = ntohl(sack.end);
572 if (SEQ_GT(sack.end, sack.start) &&
573 SEQ_GT(sack.start, tp->snd_una) &&
574 SEQ_GT(sack.start, th_ack) &&
575 SEQ_LT(sack.start, tp->snd_max) &&
576 SEQ_GT(sack.end, tp->snd_una) &&
577 SEQ_LEQ(sack.end, tp->snd_max)) {
578 sack_blocks[num_sack_blks++] = sack;
580 (sack.end-sack.start);
599 sack = sack_blocks[i];
601 sack_blocks[j] = sack;
609 * (from the sack blocks received) are created later below
638 /* Go to the previous sack block. */
644 * sack block. Skip over all the sack blocks that
647 * remaining sack blocks. This also trims the
664 * Since the incoming sack blocks are sorted, we can process them
671 * previous sack block.
696 * The sack block may ack all or part of the
735 * we're done with the sack block or the sack hole.
765 * Partial ack handling within a sack recovery episode. Keeping this very
770 * the midst of sack recovery.