Date: Mon, 1 Jun 2015 07:53:51 -0700 From: Adrian Chadd <adrian@freebsd.org> To: Slawa Olhovchenkov <slw@zxy.spb.ru> Cc: FreeBSD Net <freebsd-net@freebsd.org> Subject: Re: Intel igb 82576 (netmap mode) and RSS queue issuse with fragmented UDP packets. Message-ID: <CAJ-Vmo=ZAPf%2BUYtrdvYn=rQqNsggZfXAA==MeyijqybM88scGA@mail.gmail.com> In-Reply-To: <CAJ-Vmon8kKz8CTCU-vNx-wkjpRAO4RkKANC%2BSo5GrQdfUQQcdA@mail.gmail.com> References: <20150601082509.GE1647@zxy.spb.ru> <CAJ-Vmon8kKz8CTCU-vNx-wkjpRAO4RkKANC%2BSo5GrQdfUQQcdA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
oh, hm, you asked the next question. Sorry, I haven't had coffee. I vaguely remember testing this and discovering the /should/ be putting all the frames in a packet int he same queue, as long as the frames have a consistent set of fragment bits set. Ie, if you're doing UDP and all frames in a packet have the fragment bit set, then all fragments (first and the rest) go into the same queue. Frames in a flow that are fragmented for some and not others (eg TCP flows with a firewall/router doing explicit fragmentation, or a mix of small/large UDP packets) will end up going into different queues. I can re-test this on ixgbe at some point, but IIRC that's how it behaved. I don't have the RSS stuff done for chelsio, so I haven't done any experiments just yet. Now, I also remember that with the badly setup flowdirector code in ixgbe it would mess that up, so the flowdir code was disabled in -HEAD and I believe now in -10. -adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=ZAPf%2BUYtrdvYn=rQqNsggZfXAA==MeyijqybM88scGA>