sctp_timer.c (170091) | sctp_timer.c (170181) |
---|---|
1/*- 2 * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * a) Redistributions of source code must retain the above copyright notice, 8 * this list of conditions and the following disclaimer. --- 17 unchanged lines hidden (view full) --- 26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 28 * THE POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31/* $KAME: sctp_timer.c,v 1.29 2005/03/06 16:04:18 itojun Exp $ */ 32 33#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * a) Redistributions of source code must retain the above copyright notice, 8 * this list of conditions and the following disclaimer. --- 17 unchanged lines hidden (view full) --- 26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 28 * THE POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31/* $KAME: sctp_timer.c,v 1.29 2005/03/06 16:04:18 itojun Exp $ */ 32 33#include <sys/cdefs.h> |
34__FBSDID("$FreeBSD: head/sys/netinet/sctp_timer.c 170091 2007-05-29 09:29:03Z rrs $"); | 34__FBSDID("$FreeBSD: head/sys/netinet/sctp_timer.c 170181 2007-06-01 11:19:54Z rrs $"); |
35 36#define _IP_VHL 37#include <netinet/sctp_os.h> 38#include <netinet/sctp_pcb.h> 39#ifdef INET6 40#include <netinet6/sctp6_var.h> 41#endif 42#include <netinet/sctp_var.h> --- 243 unchanged lines hidden (view full) --- 286 (mnet->dest_state & SCTP_ADDR_UNCONFIRMED) 287 ) { 288 /* 289 * will skip ones that are not-reachable or 290 * unconfirmed 291 */ 292 continue; 293 } | 35 36#define _IP_VHL 37#include <netinet/sctp_os.h> 38#include <netinet/sctp_pcb.h> 39#ifdef INET6 40#include <netinet6/sctp6_var.h> 41#endif 42#include <netinet/sctp_var.h> --- 243 unchanged lines hidden (view full) --- 286 (mnet->dest_state & SCTP_ADDR_UNCONFIRMED) 287 ) { 288 /* 289 * will skip ones that are not-reachable or 290 * unconfirmed 291 */ 292 continue; 293 } |
294 if (val > mnet->ssthresh) { | 294 if (val < mnet->ssthresh) { |
295 hthresh = mnet; 296 val = mnet->ssthresh; 297 } else if (val == mnet->ssthresh) { 298 uint32_t rndval; 299 uint8_t this_random; 300 301 if (stcb->asoc.hb_random_idx > 3) { 302 rndval = sctp_select_initial_TSN(&stcb->sctp_ep->sctp_ep); --- 336 unchanged lines hidden (view full) --- 639 } else { 640 chk->no_fr_allowed = 0; 641 if (TAILQ_EMPTY(&stcb->asoc.send_queue)) { 642 chk->rec.data.fast_retran_tsn = stcb->asoc.sending_seq; 643 } else { 644 chk->rec.data.fast_retran_tsn = (TAILQ_FIRST(&stcb->asoc.send_queue))->rec.data.TSN_seq; 645 } 646 } | 295 hthresh = mnet; 296 val = mnet->ssthresh; 297 } else if (val == mnet->ssthresh) { 298 uint32_t rndval; 299 uint8_t this_random; 300 301 if (stcb->asoc.hb_random_idx > 3) { 302 rndval = sctp_select_initial_TSN(&stcb->sctp_ep->sctp_ep); --- 336 unchanged lines hidden (view full) --- 639 } else { 640 chk->no_fr_allowed = 0; 641 if (TAILQ_EMPTY(&stcb->asoc.send_queue)) { 642 chk->rec.data.fast_retran_tsn = stcb->asoc.sending_seq; 643 } else { 644 chk->rec.data.fast_retran_tsn = (TAILQ_FIRST(&stcb->asoc.send_queue))->rec.data.TSN_seq; 645 } 646 } |
647 /* 648 * CMT: Do not allow FRs on retransmitted TSNs. 649 */ |
|
647 if (sctp_cmt_on_off == 1) { 648 chk->no_fr_allowed = 1; 649 } 650 } else if (chk->sent == SCTP_DATAGRAM_ACKED) { 651 /* remember highest acked one */ 652 could_be_sent = chk; 653 } 654 if (chk->sent == SCTP_DATAGRAM_RESEND) { --- 1102 unchanged lines hidden --- | 650 if (sctp_cmt_on_off == 1) { 651 chk->no_fr_allowed = 1; 652 } 653 } else if (chk->sent == SCTP_DATAGRAM_ACKED) { 654 /* remember highest acked one */ 655 could_be_sent = chk; 656 } 657 if (chk->sent == SCTP_DATAGRAM_RESEND) { --- 1102 unchanged lines hidden --- |