Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Jul 2009 18:01:51 GMT
From:      Andre Oppermann <andre@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 166563 for review
Message-ID:  <200907251801.n6PI1pT0039546@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166563

Change 166563 by andre@andre_t61 on 2009/07/25 18:01:26

	Move snd_sacked reduction tracking from tcp_sack_flush to tcp_sack_free.

Affected files ...

.. //depot/projects/tcp_new/netinet/tcp_sack.c#13 edit

Differences ...

==== //depot/projects/tcp_new/netinet/tcp_sack.c#13 (text+ko) ====

@@ -157,6 +157,7 @@
 
 	sb = RB_REMOVE(tcp_sackblocks, &tp->snd_sackblocks, tsb);
 	KASSERT(sb != NULL, ("%s: RB_REMOVE failed", __func__));
+	tp->snd_sacked -= SEQ_DELTA(tsb->tsb_blk.start, tsb->tsb_blk.end);
 	uma_zfree(tcp_sackblock_zone, tsb);
 }
 
@@ -166,7 +167,6 @@
 	struct tcp_sack_block *tsb, *tsbn;
 
 	RB_FOREACH_SAFE(tsb, tcp_sackblocks, &tp->snd_sackblocks, tsbn) {
-		tp->snd_sacked -= SEQ_DELTA(tsb->tsb_blk.start, tsb->tsb_blk.end);
 		tcp_sack_free(tp, tsb);
 	}
 	KASSERT(tp->snd_sacked == 0, ("%s: snd_sacked not zero", __func__));
@@ -200,7 +200,7 @@
 	}
 
 	/*
-	 * SACK header but no blocks or no SACK information even though
+	 * SACK header but no blocks nor SACK information even though
 	 * it was sent before.
 	 */
 	if ((to->to_flags & TOF_SACK) && to->to_nsacks == 0)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907251801.n6PI1pT0039546>