Re: [PATCH net-next 3/3] ipv4: gre: add GRO capability
From: Jesse Gross <hidden>
Date: 2012-10-01 20:56:35
On Fri, Sep 28, 2012 at 7:04 AM, Eric Dumazet [off-list ref] wrote:
On Thu, 2012-09-27 at 15:03 -0700, Jesse Gross wrote:quoted
We wouldn't actually do the decapsulation at the point of GRO. This is actually pretty similar to what we do with TCP - we merge TCP payloads even though we haven't done any real IP processing yet. However, we do check firewall rules later if we actually hit the IP stack. GRE would work the same way in this case. What I'm describing is pretty much exactly what NICs will be doing, so if that doesn't work we'll have a problem...GRO ability to truly aggregate data is kind of limited to some workloads. How NICs will handle interleaved flows I dont really know. What you describe needs a serious GRO preliminary work, because it depends on napi_gro_flush() being called from time to time, while we need something else, more fine grained. (I am pretty sure GRO needs some love from us, it looks like some packets can stay a long time in gro_list. It would be nice if it was able to reorder packets (from same flow) as well)
It's definitely possible to improve GRO in a couple of areas. I'm not quite sure why you say that these changes are related to tunnels though, since they're not really different from say, a VLAN tag.
Anyway, my changes are self-contained in a new file and non intrusive. As soon as we can provide a better alternative we can revert them ?
Sure, I don't have a problem with your patches for now. I was just trying to think about different approaches.