Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Nov 2016 05:31:37 +0000 (UTC)
From:      Sepherosa Ziehau <sephe@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r309228 - head/sys/dev/hyperv/netvsc
Message-ID:  <201611280531.uAS5Vbw6092923@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sephe
Date: Mon Nov 28 05:31:36 2016
New Revision: 309228
URL: https://svnweb.freebsd.org/changeset/base/309228

Log:
  hyperv/hn: Fix multi-packet RNDIS message aggregation size setting.
  
  Just in case that no chimney sending buffer can be used.
  
  MFC after:	1 week
  Sponsored by:	Microsoft
  Differential Revision:	https://reviews.freebsd.org/D8619

Modified:
  head/sys/dev/hyperv/netvsc/if_hn.c

Modified: head/sys/dev/hyperv/netvsc/if_hn.c
==============================================================================
--- head/sys/dev/hyperv/netvsc/if_hn.c	Mon Nov 28 05:23:57 2016	(r309227)
+++ head/sys/dev/hyperv/netvsc/if_hn.c	Mon Nov 28 05:31:36 2016	(r309228)
@@ -706,6 +706,10 @@ hn_set_txagg(struct hn_softc *sc)
 	if (sc->hn_rndis_agg_size < size)
 		size = sc->hn_rndis_agg_size;
 
+	/* NOTE: We only aggregate packets using chimney sending buffers. */
+	if (size > (uint32_t)sc->hn_chim_szmax)
+		size = sc->hn_chim_szmax;
+
 	if (size <= 2 * HN_PKTSIZE_MIN(sc->hn_rndis_agg_align)) {
 		/* Disable */
 		size = 0;
@@ -717,10 +721,6 @@ hn_set_txagg(struct hn_softc *sc)
 	if (size > INT_MAX)
 		size = INT_MAX;
 
-	/* NOTE: We only aggregate packets using chimney sending buffers. */
-	if (size > (uint32_t)sc->hn_chim_szmax)
-		size = sc->hn_chim_szmax;
-
 	/*
 	 * Setup aggregation packet count.
 	 */



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