diff options
| author | Randall Stewart <rrs@FreeBSD.org> | 2010-05-16 16:51:44 +0000 |
|---|---|---|
| committer | Randall Stewart <rrs@FreeBSD.org> | 2010-05-16 16:51:44 +0000 |
| commit | 31bd7e42f91207cf1b5df8f67b97a82995de1544 (patch) | |
| tree | 5d363c2e526794aaf143016eb232f47fe437a1d4 /sys/netinet | |
| parent | d536af657c3ffc31a625fd92b633a97465995bdc (diff) | |
Notes
Diffstat (limited to 'sys/netinet')
| -rw-r--r-- | sys/netinet/sctp_indata.c | 5 | ||||
| -rw-r--r-- | sys/netinet/sctp_output.c | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/sys/netinet/sctp_indata.c b/sys/netinet/sctp_indata.c index 13b95ba7adb6..a8525f09a523 100644 --- a/sys/netinet/sctp_indata.c +++ b/sys/netinet/sctp_indata.c @@ -3750,7 +3750,8 @@ sctp_try_advance_peer_ack_point(struct sctp_tcb *stcb, * the chunk, advance our peer ack point and we can check * the next chunk. */ - if (tp1->sent == SCTP_FORWARD_TSN_SKIP) { + if ((tp1->sent == SCTP_FORWARD_TSN_SKIP) || + (tp1->sent == SCTP_DATAGRAM_ACKED)) { /* advance PeerAckPoint goes forward */ if (compare_with_wrap(tp1->rec.data.TSN_seq, asoc->advanced_peer_ack_point, @@ -5351,7 +5352,7 @@ sctp_kick_prsctp_reorder_queue(struct sctp_tcb *stcb, { struct sctp_queued_to_read *ctl, *nctl; struct sctp_association *asoc; - int tt; + uint16_t tt; asoc = &stcb->asoc; tt = strmin->last_sequence_delivered; diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index 47590c76963a..522b52fcc185 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -9707,7 +9707,6 @@ send_forward_tsn(struct sctp_tcb *stcb, chk->rec.chunk_id.can_take_data = 0; chk->asoc = asoc; chk->whoTo = NULL; - chk->data = sctp_get_mbuf_for_msg(MCLBYTES, 0, M_DONTWAIT, 1, MT_DATA); if (chk->data == NULL) { sctp_free_a_chunk(stcb, chk); @@ -9734,7 +9733,8 @@ sctp_fill_in_rest: unsigned int cnt_of_skipped = 0; TAILQ_FOREACH(at, &asoc->sent_queue, sctp_next) { - if (at->sent != SCTP_FORWARD_TSN_SKIP) { + if ((at->sent != SCTP_FORWARD_TSN_SKIP) && + (at->sent != SCTP_DATAGRAM_ACKED)) { /* no more to look at */ break; } |
