Re: [PATCH v4 net-next] net: introduce dev_set_forwarding()
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2013-11-08 04:43:41
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2013-11-08 04:43:41
On Thu, Nov 07, 2013 at 08:40:00PM -0800, Eric Dumazet wrote:
On Fri, 2013-11-08 at 12:24 +0800, Herbert Xu wrote:quoted
I don't know why you're fixing this problem by disabling/degrading GRO instead of fixing the qdisc to intelligently segment the GRO packet.On what criteria you decide that the packet you are going to queue to the NIC must be segmented ?
Easy. You don't physically segment the packet until it's transmitted. But logically you treat each GRO/GSO packet as if it had already been segmented.
BTW, the Qdisc API doesnt really permit what you describe. There are the queue() and dequeue(). Once packet is dequeued, you cannot requeue a bunch of packets if you decide to segment the GRO packet.
This logic should be inside the qdisc. I'm not saying that we need to implement this for every single qdisc out there, just the ones that you care about. Cheers, -- Email: Herbert Xu [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt