Full 32bit flowid from igb(4)

Adrian Chadd adrian at freebsd.org
Fri Apr 3 19:15:55 UTC 2015


On 3 April 2015 at 10:02, hiren panchasara <hiren at strugglingcoder.info> wrote:
> On 04/03/15 at 10:00P, Adrian Chadd wrote:
>> On 3 April 2015 at 09:54, hiren panchasara <hiren at strugglingcoder.info> wrote:
>> > On 03/31/15 at 11:15P, Adrian Chadd wrote:
>> >> Yeah, I think the right thing to do is:
>> >>
>> >> * If the descriptor says it's RSS, then use the flowid + rss type
>> > So, if we have multiqueue, we do everything needed to get RSS
>> > flowid/type. That means, with num_queues > 1 we can just expose those.
>> >
>> >> * else, set it to queue id and set the type to opaque.
>> >
>> > This part becomes irrelevant as it's a single queue case. Do we care
>> > about setting flowid value/type in case of single queue?
>>
>> My whole point with not always setting it is that people may do things
>> to /other/ parts of the driver and suddenly the RSS field isn't the
>> RSS field anymore.
>>
>> Doubly so if you start playing with multiqueue + flowdirector on ixgbe. :)
>>
>> So I'd rather the driver be right and correct - checking if the field
>> /is/ RSS and only setting the flowid+flowtype /if/ the value in that
>> register is an RSS flowid, rather than setting it to whatever's there
>> and hoping it's an RSS value. :)
>
> Okay, I guess it doesn't hurt to read those registers again at the time
> of actually assigning flowid/type. I'll do that and post a review on
> phabricator.

Well, the "Is this RSS flowid" bits are in the RX descriptor, so you
don't have to worry about reading registers. :)



-adrian


More information about the freebsd-net mailing list