[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201009281639.59417.arnd@arndb.de>
Date: Tue, 28 Sep 2010 16:39:59 +0200
From: Arnd Bergmann <arnd@...db.de>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: Ben Hutchings <bhutchings@...arflare.com>, xiaohui.xin@...el.com,
netdev@...r.kernel.org, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, mingo@...e.hu, davem@...emloft.net,
herbert@...dor.hengli.com.au, jdike@...ux.intel.com,
Sridhar Samudrala <sri@...ibm.com>
Subject: Re: [PATCH v11 13/17] Add mp(mediate passthru) device.
On Tuesday 28 September 2010, Michael S. Tsirkin wrote:
> > > + skb_reserve(skb, NET_IP_ALIGN);
> > > + skb_put(skb, len);
> > > +
> > > + if (skb_copy_datagram_from_iovec(skb, 0, iov, 0, len)) {
> > > + kfree_skb(skb);
> > > + return -EAGAIN;
> > > + }
> > > +
> > > + skb->protocol = eth_type_trans(skb, mp->dev);
> >
> > Why are you calling eth_type_trans() on transmit?
>
> So that GSO can work. BTW macvtap does:
>
> skb_set_network_header(skb, ETH_HLEN);
> skb_reset_mac_header(skb);
> skb->protocol = eth_hdr(skb)->h_proto;
>
> and I think this is broken for vlans. Arnd?
Hmm, that code (besides set_network_header) was added by Sridhar
for GSO support. I believe I originally did eth_type_trans but
had to change it before that time because it broke something.
Unfortunately, my memory on that is not very good any more.
Can you be more specific what the problem is? Do you think
it breaks when a guest sends VLAN tagged frames or when macvtap
is connected to a VLAN interface that adds another tag (or
only the combination)?
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists