• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/sctp/

Lines Matching refs:cwnd

381 /* This routine updates the transport's cwnd and partial_bytes_acked
388 __u32 cwnd, ssthresh, flight_size, pba, pmtu;
390 cwnd = transport->cwnd;
398 /* The appropriate cwnd increase algorithm is performed if, and only
403 (flight_size < cwnd))
410 if (cwnd <= ssthresh) {
412 * o When cwnd is less than or equal to ssthresh, an SCTP
414 * cwnd only if the current congestion window is being fully
417 * Only when these three conditions are met can the cwnd be
418 * increased; otherwise, the cwnd MUST not be increased.
419 * If these conditions are met, then cwnd MUST be increased
429 cwnd += pmtu;
431 cwnd += bytes_acked;
433 "bytes_acked: %d, cwnd: %d, ssthresh: %d, "
436 transport, bytes_acked, cwnd,
439 /* RFC 2960 7.2.2 Whenever cwnd is greater than ssthresh,
446 * When partial_bytes_acked is equal to or greater than cwnd
447 * and before the arrival of the SACK the sender had cwnd or
449 * SACK, flightsize was greater than or equal to cwnd),
450 * increase cwnd by MTU, and reset partial_bytes_acked to
451 * (partial_bytes_acked - cwnd).
454 if (pba >= cwnd) {
455 cwnd += pmtu;
456 pba = ((cwnd < pba) ? (pba - cwnd) : 0);
459 "transport: %p, bytes_acked: %d, cwnd: %d, "
462 transport, bytes_acked, cwnd,
466 transport->cwnd = cwnd;
470 /* This routine is used to lower the transport's cwnd when congestion is
483 * ssthresh = max(cwnd/2, 4*MTU)
484 * cwnd = 1*MTU
487 transport->ssthresh = max(transport->cwnd/2,
489 transport->cwnd = asoc->pathmtu;
496 /* RFC 2960 7.2.4 Adjust the ssthresh and cwnd of the
504 * ssthresh = max(cwnd/2, 4*MTU)
505 * cwnd = ssthresh
515 transport->ssthresh = max(transport->cwnd/2,
517 transport->cwnd = transport->ssthresh;
527 * source halves the congestion window "cwnd" and reduces the
535 transport->ssthresh = max(transport->cwnd/2,
537 transport->cwnd = transport->ssthresh;
545 * transport address, the cwnd of the transport address
546 * should be adjusted to max(cwnd/2, 4*MTU) per RTO.
551 transport->cwnd = max(transport->cwnd/2,
557 SCTP_DEBUG_PRINTK("%s: transport: %p reason: %d cwnd: "
560 transport->cwnd, transport->ssthresh);
568 * The limit is applied by adjusting cwnd as follows:
569 * if ((flightsize+ Max.Burst * MTU) < cwnd)
570 * cwnd = flightsize + Max.Burst * MTU
576 u32 old_cwnd = t->cwnd;
584 t->cwnd = max_burst_bytes;
589 /* Restore the old cwnd congestion window, after the burst had it's
595 t->cwnd = t->burst_limited;
617 * All the congestion control parameters (e.g., cwnd, ssthresh)
621 t->cwnd = min(4*asoc->pathmtu, max_t(__u32, 2*asoc->pathmtu, 4380));