Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 May 2015 07:39:21 +0000 (UTC)
From:      Andrew Rybchenko <arybchik@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r283278 - head/sys/dev/sfxge
Message-ID:  <201505220739.t4M7dLLQ049757@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arybchik
Date: Fri May 22 07:39:21 2015
New Revision: 283278
URL: https://svnweb.freebsd.org/changeset/base/283278

Log:
  sfxge: relax assertion to allow RST flag in TSO packets
  
  Kernel under stress load, mixed MC reboot and sfupdate really
  generates TSO packet with RST flag.
  It will generate many TCP packets with RST flag set.
  May be RST flag should be set in the last segment only, but it could be
  dropped. So, it is safer to keep the flag in all packets to be sure that
  connection is reset.
  
  Reviewed by:    gnn
  Sponsored by:   Solarflare Communications, Inc.
  MFC after:      2 days
  Differential Revision: https://reviews.freebsd.org/D2609

Modified:
  head/sys/dev/sfxge/sfxge_tx.c

Modified: head/sys/dev/sfxge/sfxge_tx.c
==============================================================================
--- head/sys/dev/sfxge/sfxge_tx.c	Fri May 22 05:02:53 2015	(r283277)
+++ head/sys/dev/sfxge/sfxge_tx.c	Fri May 22 07:39:21 2015	(r283278)
@@ -865,8 +865,14 @@ static void tso_start(struct sfxge_tso_s
 	tso->seqnum = ntohl(th->th_seq);
 
 	/* These flags must not be duplicated */
-	KASSERT(!(th->th_flags & (TH_URG | TH_SYN | TH_RST)),
-		("incompatible TCP flag on TSO packet"));
+	/*
+	 * RST should not be duplicated as well, but FreeBSD kernel
+	 * generates TSO packets with RST flag. So, do not assert
+	 * its absence.
+	 */
+	KASSERT(!(th->th_flags & (TH_URG | TH_SYN)),
+		("incompatible TCP flag 0x%x on TSO packet",
+		 th->th_flags & (TH_URG | TH_SYN)));
 
 	tso->out_len = mbuf->m_pkthdr.len - tso->header_len;
 }



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