Skip site navigation (1)Skip section navigation (2)
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>