Lines Matching defs:sack
258 static int32_t rack_sack_not_required = 1; /* set to one to allow non-sack to use rack */
529 struct sackblk *sack, struct tcpopt *to, struct rack_sendmap **prsm,
1565 "Percentage of segment size needed in a sack 800 = 80.0?");
1659 "Highest sack to ack ratio seen");
1700 "Total number of SACK attackers that had sack disabled");
1923 "Total times we had to walk whole list for sack processing");
1935 "Total times we took shortcut for sack processing");
6720 * or sack) and that changes things (rw, or snd_una etc).
6776 * timer running, then we don't even want a sack to wake
6806 * When DND is on, we only let a sack
6882 /* Got up to all that were marked sack-passed */
7533 * The retransmit timer went off, all sack'd blocks must be
7614 * For non-sack customers new data
8024 * A user send or queued mbuf (sack) has called us? We
8036 * no-sack wakeup on since we no longer have a PKT_OUTPUT
9239 * not a sack, we need to move all the
9342 rack_proc_sack_blk(struct tcpcb *tp, struct tcp_rack *rack, struct sackblk *sack,
9353 start = sack->start;
9354 end = sack->end;
9390 * the previous one was a partially sack now we
9428 * see if the sack spans over on top of
9541 * sack-passed on rsm (The one passed in
9589 * failed XXXrrs what can we do but loose the sack
9611 /* Position us to point to the new nrsm that starts the sack blk */
9622 /* A partial sack to a already sacked block */
9661 * the previous one was a partially sack now we
9740 * The end of this sack block is smaller than
9759 * the previous one was a partially sack now we
9906 /* failed rrs what can we do but loose the sack info? */
9919 * the previous one was a partially sack now we
10132 * Now lets possibly clear the sack filter so we start
10243 * If we have some sack blocks in the filter
10268 * Note since sack's also turn on this event we have
10436 * We have sent no more, and we saw an sack
10523 * sack holes for what was acked.
10634 * and then re-entered recovery (more sack's arrived)
10804 struct sackblk sack, sack_blocks[TCP_MAX_SACK + 1];
10846 /* We are done nothing left and no sack. */
10865 &sack, sizeof(sack));
10866 sack.start = ntohl(sack.start);
10867 sack.end = ntohl(sack.end);
10868 if (SEQ_GT(sack.end, sack.start) &&
10869 SEQ_GT(sack.start, ack_point) &&
10870 SEQ_LT(sack.start, tp->snd_max) &&
10871 SEQ_GT(sack.end, ack_point) &&
10872 SEQ_LEQ(sack.end, tp->snd_max)) {
10873 sack_blocks[num_sack_blks] = sack;
10875 } else if (SEQ_LEQ(sack.start, th_ack) &&
10876 SEQ_LEQ(sack.end, th_ack)) {
10881 was_tlp = rack_note_dsack(rack, sack.start, sack.end);
10885 tcp_record_dsack(tp, sack.start, sack.end, was_tlp);
10906 /* Nothing to sack, but we need to update counts */
10909 /* Its a sack of some sort */
10918 sack = sack_blocks[i];
10920 sack_blocks[j] = sack;
10925 * Now are any of the sack block ends the same (yes some
10949 * Now collapse out the dup-sack and
10987 * i.e the sack-filter pushes down
10989 * is the sequence in the sack block (has more
11017 * you have more than one sack-blk, this
11019 * and the sack-filter is still working, or
11104 * we will get a return of the rsm. For a non-sack
12700 /* We have sack holes on our scoreboard */
15025 * We really don't know if you support sack,
16442 * could be, if a sack is present, we want to be awoken and
16552 * We don't look at sack's from the
16825 * TF_SACK_PERMIT is set and the sack-not-required is clear.
17087 * No sack so we automatically do the 3 strikes and
20205 * a) This is a non-sack connection, we had a time-out
20406 * at a time. We do this because another sack could