Re: [PATCH net] macvlan: Disable LRO on lowerdev; warn if it's turned back on
On 02/21/2012 12:28 PM, Ben Hutchings wrote:
On Tue, 2012-02-21 at 12:01 -0800, John Fastabend wrote:On 2/21/2012 11:13 AM, Ben Hutchings wrote:Large Receive Offload (LRO) is only appropriate for packets that are destined for the host, and should be disabled if received packets may be forwarded. Further, macvtap_skb_to_vnet_hdr() will BUG() on a packet received with LRO (but not GRO). Signed-off-by: Ben Hutchings<bhutchings@xxxxxxxxxxxxxx> --- I'm not really familiar with macvlan so I'm not certain that this should be applied to all modes. Ben. drivers/net/macvlan.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)But this patch assumes the macvlan is forwarding traffic to a guest via macvtap. Which is an assumption that may not be true. It seems more appropriate for the macvtap driver to do these checks after all its the driver that may BUG() with LRO.That's what I thought at first, but then I looked through what macvlan was doing and it certainly appears to re-transmit skbs in all modes. That's not valid when gso_size != 0 and gso_type == 0.
You can put an IP on a mac-vlan and receive packets on it like normal Ethernet interfaces. They wouldn't be re-transmitted in that case, would they?
-- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html