Re: [PATCH 0/2] Disable forwarding of LRO skbs
From: Ben Hutchings <hidden>
Date: 2008-05-01 11:03:47
Herbert Xu wrote:
Ben Hutchings [off-list ref] wrote:quoted
Large Receive Offload (LRO) destroys packet headers that should be preserved when forwarding. Currently it also triggers a BUG() or WARN() in skb_gso_segment(). We should disable it wherever forwarding is enabled, and discard LRO skbs with a warning if it is turned back on.I don't think forwarding GSO packets is bad per se. However, doing LRO on forwarded traffic is broken because it breaks the end-to-end connection. So I agree that we should detect this but preferrably not based on the GSO flag as LRO isn't the only source of GSO traffic and the rest of them can be forwarded just fine.
My understanding is that at the points I'm adding the check, we're only considering received skbs and gso_size will only be set if LRO was used. I was going to raise the virtualisation issue because Kieran has been in contact with XenSource over this and they believed LRO was not a problem in Xen. So long as the bridges in dom0 each connect a single physical interface to other domains running paravirtualised Linux, this is probably true. But I have no idea how to "whitelist" this sort of case. Ben. -- Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job.