outqueue.c (e5f612969c6f965e3bd1158598e0a3b1c4f389b9) outqueue.c (779edd7348878a7376c0e3d0f96485c30b5f1b7d)
1/* SCTP kernel implementation
2 * (C) Copyright IBM Corp. 2001, 2004
3 * Copyright (c) 1999-2000 Cisco, Inc.
4 * Copyright (c) 1999-2001 Motorola, Inc.
5 * Copyright (c) 2001-2003 Intel Corp.
6 *
7 * This file is part of the SCTP kernel implementation
8 *

--- 393 unchanged lines hidden (view full) ---

402{
403 struct sctp_outq *q = &asoc->outqueue;
404 struct sctp_chunk *chk, *temp;
405
406 q->sched->unsched_all(&asoc->stream);
407
408 list_for_each_entry_safe(chk, temp, &q->out_chunk_list, list) {
409 if (!chk->msg->abandoned &&
1/* SCTP kernel implementation
2 * (C) Copyright IBM Corp. 2001, 2004
3 * Copyright (c) 1999-2000 Cisco, Inc.
4 * Copyright (c) 1999-2001 Motorola, Inc.
5 * Copyright (c) 2001-2003 Intel Corp.
6 *
7 * This file is part of the SCTP kernel implementation
8 *

--- 393 unchanged lines hidden (view full) ---

402{
403 struct sctp_outq *q = &asoc->outqueue;
404 struct sctp_chunk *chk, *temp;
405
406 q->sched->unsched_all(&asoc->stream);
407
408 list_for_each_entry_safe(chk, temp, &q->out_chunk_list, list) {
409 if (!chk->msg->abandoned &&
410 (!SCTP_PR_PRIO_ENABLED(chk->sinfo.sinfo_flags) ||
410 (!(chk->chunk_hdr->flags & SCTP_DATA_FIRST_FRAG) ||
411 !SCTP_PR_PRIO_ENABLED(chk->sinfo.sinfo_flags) ||
411 chk->sinfo.sinfo_timetolive <= sinfo->sinfo_timetolive))
412 continue;
413
414 chk->msg->abandoned = 1;
415 sctp_sched_dequeue_common(q, chk);
416 asoc->sent_cnt_removable--;
417 asoc->abandoned_unsent[SCTP_PR_INDEX(PRIO)]++;
418 if (chk->sinfo.sinfo_stream < asoc->stream.outcnt) {

--- 1482 unchanged lines hidden ---
412 chk->sinfo.sinfo_timetolive <= sinfo->sinfo_timetolive))
413 continue;
414
415 chk->msg->abandoned = 1;
416 sctp_sched_dequeue_common(q, chk);
417 asoc->sent_cnt_removable--;
418 asoc->abandoned_unsent[SCTP_PR_INDEX(PRIO)]++;
419 if (chk->sinfo.sinfo_stream < asoc->stream.outcnt) {

--- 1482 unchanged lines hidden ---