Subject: Re: [PATCH] sky2: don't do GRO on second port

From: David Miller <[email-masked]>
Date: Wed, 01 Sep 2010 14:51:51 -0700 (PDT)

From: Jarek Poplawski <[email-masked]>
Date: Mon, 30 Aug 2010 21:09:00 +0200

> On Mon, Aug 30, 2010 at 10:51:17AM -0700, Stephen Hemminger wrote:
>> 
>>  There's something very important I forgot to tell you.
>>  What?
>> 
>>  Don't cross the GRO streams.
>>  Why?
>> 
>>  It would be bad.
>>  I'm fuzzy on the whole good/bad thing. What do you mean, "bad"?
>> 
>>  Try to imagine all the Internet as you know it stopping instantaneously
>>   and every bit in every packet swapping at the speed of light.
>>  Total packet reordering.
>>  Right. That's bad. Okay. All right. Important safety tip. Thanks, Hubert
> 
> Looks really bad to me, so... let's forget it! ;-) (At least until
> next next.)

I'm applying this patch.

Note that for us, devices act as domains, or a key for networking
traffic, whether we like it or not.  Yes, even for the same IP
addresses on the same host.

The reason is that we can do ingress packet editing and the realm of
those rules are per-ingress-qdisc, which are per-device.

The only scenerio you can guarentee that all packets for a given
flow key will be treated the same is the one where the input device
is the same as well.

When there is a single napi --> device mapping, it works, but without
that invariant it doesn't.