Lines Matching defs:to

19  *    contributors may be used to endorse or promote products derived
53 * NOTES: On the outbound side of things I need to check the sack timer to
54 * see if I should generate a sack into the chunk queue (if I have data to
58 * This will cause sctp_service_queues() to get called on the top entry in
81 * This is really set wrong with respect to a 1-2-m socket. Since
119 * If the window gets too small due to ctrl-stuff, reduce it to 1,
293 * This tsn is behind the cum ack and thus we don't need to
294 * worry about it being moved from one to the other.
311 /* We must back down to see what the new highest is. */
385 * number?? return -1 to abort.
473 * to go OR put it in the correct place in the delivery queue. If we do
474 * append to the so_buf, keep doing so until we are out of order as
485 * could use the TSN to keep track of things, but this scheme breaks
487 * single msg to stream 0, send 4Billion messages to stream 1, now
488 * send a message to stream 0. You have a situation where the TSN
490 * or should we just change our queue sort at the bottom to be by
493 * Could it also be legal for a peer to send ssn 1 with TSN 2 and
615 * to put it on the queue.
619 "Queue to str MID: %u duplicate", control->mid);
756 * We have to purge it from there, hopefully this will work
774 * chunks/TSN's go to mid 0. So we have to do the old style watching
775 * to see if we have it all. If you return one, no other control
811 * Ok we have to move anything left
812 * on the control queue to a new
847 * Now lets add it to the queue
874 * Switch to the new guy and
920 * Here we need to place the chunk into the control structure sorted
963 * since I have no way to recover. This
1054 * fragmented are ready to deliver. If so go ahead and place them on
1056 * need to remove them from the stream's queue.
1336 * Don't need to decrement
1364 * appropriate flag to say we queued what we could.
1388 /* Must be added to the stream-in queue */
1405 * and we have up to the cum-ack then its invalid.
1421 * the first it goes to the control mbuf. o if its not first but the
1422 * next in sequence it goes to the control, and each succeeding one
1458 /* Still willing to raise highest FSN seen */
1485 * DATA we have to receive the first before
1490 * We have already delivered up to
1514 * DATA we have to receive the first before
1520 * We have already delivered up to
1548 * If we reach here, we need to place the new chunk in the
1552 "chunk is a not first fsn: %u needs to be inserted\n",
1586 * wrapped. Maybe I should compare to TSN
1591 "Duplicate to fsn: %u -- abort\n",
1621 /* We can add this one now to the control */
1623 "Adding more to control: %p at: %p fsn: %u next_fsn: %u included: %u\n",
1633 * We only add to the
1661 /* Need to wakeup the reader */
1746 * Need to send an abort since we had a empty data chunk.
1805 * Check to see about the GONE flag, duplicates would cause a sack
1806 * to be sent up above
1838 * two back to back phdr, one with the error type
1943 * When we have NO room in the rwnd we check to make sure
1947 /* some to read, wake-up */
2061 * need to count up the size hopefully does not hit
2062 * this to often :-0
2125 * delivery queue, Its un-ordered OR ordered and the next to
2134 SCTPDBG(SCTP_DEBUG_XXX, "Injecting control: %p to be read (MID: %u)\n",
2178 SCTPDBG(SCTP_DEBUG_XXX, "Building ck: %p for control: %p to be read (MID: %u)\n",
2200 * more smart about this and check the actual stream to see
2209 * yep its past where we need to reset... go ahead
2232 * (all setup from loop) to setup
2242 SCTPDBG(SCTP_DEBUG_XXX, "Unordered data to be read control: %p MID: %u\n",
2266 "Queue data to stream for reasm control: %p MID: %u\n",
2311 * time to reset streams. 1: call reset function. 2: free
2400 * Now we also need to check the mapping array in a couple of ways.
2405 * nr-mapping array only.. i.e. things up to the cum-ack are always
2409 * mapping_array to get a true picture of the cum-ack.
2525 * hopefully when more data comes in to fill it up
2526 * we will be able to slide it forward. Really I
2579 * Now we need to see if we need to queue a sack or just start the
2605 if ((stcb->asoc.send_sack == 1) || /* We need to send a
2622 * Therefore, if acks that do not have to be
2625 * been sent due to gap reports will be
2679 * may need to go out. Don't bump the net. This is done ONLY when a
2688 * to a smaller mbuf and free up the cluster mbuf. This will help
2696 caddr_t *from, *to;
2699 to = mtod(m, caddr_t *);
2701 memcpy(to, from, SCTP_BUF_LEN((*mm)));
2712 /* get pointer to the first chunk header */
2766 * Need to send an abort since we had a
2835 * them. We may later want to add
2836 * sysctl stuff to switch out and do
2856 * Need to send an abort since we
2869 /* Add a error report to the queue */
2913 * we need to report rwnd overrun drops.
3006 * saw_newack to 1 for dest being
3037 * new_(rtx_)pseudo_cumack to TRUE so that the cwnd for this dest can be
3121 * (leave PR-SCTP ones that are to skip alone though)
3268 * We must add this stuff back in to assure
3281 * We inflate the cwnd to compensate for our
3315 * select the sending_seq, this is either the next thing ready to be
3386 * No new acks were received for data sent to this
3387 * dest. Therefore, according to the SFR algo for
3388 * CMT, no data sent to this dest can be marked for
3397 * CMT: New acks were received for data sent to this
3399 * after tp1. Therefore, according to the SFR algo
3407 * Here we check to see if we were have already done a FR
3434 * CMT DAC algorithm: If SACK flag is set to
3436 * because it would have been set to the
3437 * cumack earlier. If not already to be
3467 * If FR's go to new networks, then we must only do
3469 * go to the same network (Armando's work) then its
3470 * ok to FR multiple times.
3498 * SACK flag is set to 0,
3501 * would have been set to
3503 * not already to be rtx'd,
3558 * CMT DAC algorithm: If SACK flag is set to
3560 * because it would have been set to the
3561 * cumack earlier. If not already to be
3605 /* add back to the rwnd */
3623 /* Make sure to flag we had a FR */
3631 * SCTP_PRINTF("OK, we are now ready to FR this
3674 * (rtx-)pseudo_cumack needs to be tracked
3688 * default behavior is to NOT retransmit
3689 * FR's to an alternate. Armando Caro's
3706 * assigned so we subtract one from this to
3716 * lowest TSN) and subtract one to get the
3763 /* no chance to advance, out of here */
3787 * retransmission to a PR-stream but has run out its chances
3788 * already maybe OR has been marked to skip now. Can we skip
3812 * Ok now if this chunk is marked to drop it we can clean up
4155 * Karn's rule applies to clearing error
4232 /* move back to data send queue */
4268 * PR-SCTP and marked to skip of course.
4359 /* PR-Sctp issues need to be addressed too */
4366 /* C3. See if we need to send a Fwd-TSN */
4374 /* try to FR fwd-tsn's that get lost too */
4425 * we take any chance we can to service our queues since we cannot
4431 * queue (cum-ack is equal to last acked) then you have a duplicate
4441 * procedure if needed being sure to set the FR flag. 10) Do pr-sctp
4567 * We init netAckSz and netAckSz2 to 0. These are used to track 2
4569 * netAck2 is used to track the total bytes acked that are un-
4594 * to be greater than the cumack. Also reset saw_newack to 0
4718 /* always set this up to cum-ack */
4848 * num_seg > 0 call sctp_check_for_revoked() to tell if peer revoked
4898 * Karn's rule applies to clearing error
5031 * Now here we are going to recycle net_ack for a different use...
5040 * to be done. Setting this_sack_lowest_newack to the cum_ack will
5146 * PR-SCTP and marked to skip of course.
5175 /* C2. try to further move advancedPeerAckPoint ahead */
5182 /* C3. See if we need to send a Fwd-TSN */
5195 /* try to FR fwd-tsn's that get lost too */
5251 * First deliver anything prior to and including the stream no that
5282 /* deliver it to at least the delivery-q */
5293 * Make it so this is next to
5311 /* Restore the next to deliver unless we are ahead */
5353 /* deliver it to at least the delivery-q */
5366 * Make it so this is next to
5392 * will be tossed too. We could in theory do more work to spin
5394 * new msg at the head, and call the delivery function... to see if
5433 /* This has to be old data, unordered */
5493 * 1) update local cumTSN to x 2) try to further advance cumTSN to x
5495 * pr-in-streams 4) clean up re-assembly queue 5) Send a sack to