From owner-freebsd-bugs@FreeBSD.ORG Wed Feb 27 14:14:14 2013 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E8434E94; Wed, 27 Feb 2013 14:14:14 +0000 (UTC) (envelope-from jcharbon@verisign.com) Received: from exprod6og110.obsmtp.com (exprod6og110.obsmtp.com [64.18.1.25]) by mx1.freebsd.org (Postfix) with ESMTP id 46675324; Wed, 27 Feb 2013 14:14:14 +0000 (UTC) Received: from peregrine.verisign.com ([216.168.239.74]) (using TLSv1) by exprod6ob110.postini.com ([64.18.5.12]) with SMTP ID DSNKUS4UsIBZQel11qN7/yNnPQG7mLqAc/eK@postini.com; Wed, 27 Feb 2013 06:14:14 PST Received: from DUL1WNSMTP01.vcorp.ad.vrsn.com (dul1wnexcn03.vcorp.ad.vrsn.com [10.170.12.113]) by peregrine.verisign.com (8.13.6/8.13.4) with ESMTP id r1RCsLqd028102; Wed, 27 Feb 2013 07:54:25 -0500 Received: from dul1jcharbon-m1.vcorp.ad.vrsn.com ([10.19.30.29]) by DUL1WNSMTP01.vcorp.ad.vrsn.com with Microsoft SMTPSVC(7.5.7601.17514); Wed, 27 Feb 2013 07:54:21 -0500 Message-ID: <512E01FC.3040404@verisign.com> Date: Wed, 27 Feb 2013 13:54:20 +0100 From: "Charbon, Julien" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130216 Thunderbird/17.0.3 MIME-Version: 1.0 To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: kern/176446: Concurrency in ixgbe driving out-of-order packet process and spurious RST References: <201302261920.r1QJK0N0053137@freefall.freebsd.org> In-Reply-To: <201302261920.r1QJK0N0053137@freefall.freebsd.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 27 Feb 2013 12:54:21.0665 (UTC) FILETIME=[90073510:01CE14E9] Cc: jfv@FreeBSD.org, "De La Gueronniere, Marc" X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Feb 2013 14:14:15 -0000 I successfully reproduced this issue using only the socat tool: Server side: Enable TCP debug, and launch socat server: # sysctl net.inet.tcp.log_debug=1 net.inet.tcp.log_debug: 0 -> 1 $ cat /some/where/response.sh #!/usr/bin/env bash read line echo -n "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567" $ socat TCP4-LISTEN:8181,fork,reuseaddr EXEC:/some/where/response.sh Client side: Create socat client TCP load: $ cat ./request 128 $ while true; do socat ./request,ignoreeof\!\!./response TCP4:192.168.100.144:8181 & sleep 0.0001; done Then on server side just wait for a TCP debug in /var/log/debug.log like: kernel: TCP: [192.168.100.136]:48359 to [192.168.100.144]:8181; syncache_socket: in_pcbconnect failed with error 48 kernel: TCP: [192.168.100.136]:48359 to [192.168.100.144]:8181 tcpflags 0x10; tcp_input: Listen socket: Socket allocation failed due to limits or memory shortage, sending RST kernel: TCP: [192.168.100.136]:48359 to [192.168.100.144]:8181 tcpflags 0x4; syncache_chkrst: Spurious RST without matching syncache entry (possibly syncookie only), segment ignored Adding Jack F. Vogel (ixgbe driver maintainer), and Marc De La Gueronniere (author of our work in progress patch for this issue). -- Julien