From owner-freebsd-net@FreeBSD.ORG Mon Jun 1 08:25:12 2015 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3886FFBF for ; Mon, 1 Jun 2015 08:25:12 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E82FA1A8E for ; Mon, 1 Jun 2015 08:25:11 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.84 (FreeBSD)) (envelope-from ) id 1YzL1x-000Mm8-US for freebsd-net@freebsd.org; Mon, 01 Jun 2015 11:25:09 +0300 Date: Mon, 1 Jun 2015 11:25:09 +0300 From: Slawa Olhovchenkov To: freebsd-net@freebsd.org Subject: Intel igb 82576 (netmap mode) and RSS queue issuse with fragmented UDP packets. Message-ID: <20150601082509.GE1647@zxy.spb.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jun 2015 08:25:12 -0000 I am use Intel 82576 (igb driver) in netmap mode. I see isssuse: flow routed in different queue depends of IP flags. For example: Total 4 queue. UDP flow. SRC: 91.214.70.167:12062 DST: 95.31.64.226:49939 Flags:DF routed to queue 0 SRC: 91.214.70.167:12062 DST: 95.31.64.226:49939 Flags:More_Frags (offset 0, length 1396) routed to queue 3 I understand that next fragment (IP (tos 0x0, ttl 62, id 36361, offset 1376, flags [none], proto UDP (17), length 102) 91.214.70.167 > 95.72.171.116: ip-proto-17) may be routed in different queue, but why fragment 0 routed to different queue? This is software (driver, netmap) issuse? Or this is hardware (silicon) isssuse? What about Intel 10G/40G cards? Chelsio?