Subject: Re: [PATCH net-next] tuntap: hardware vlan tx support

From: "Michael S. Tsirkin" <[email-masked]>
Date: Tue, 23 Jul 2013 18:27:35 +0300

On Tue, Jul 23, 2013 at 08:17:27AM -0700, Stephen Hemminger wrote:
> On Tue, 23 Jul 2013 15:15:48 +0800
> Jason Wang <[email-masked]> wrote:
> 
> > Inspired by commit f09e2249c4f5c7c13261ec73f5a7807076af0c8e (macvtap: restore
> > vlan header on user read). This patch adds hardware vlan tx support for
> > tuntap. This is done by copying vlan header directly into userspace in
> > tun_put_user() instead of doing it through __vlan_put_tag() in
> > dev_hard_start_xmit(). This eliminates one unnecessary memove in
> > vlan_insert_tag() for 802.1ad and 802.1q traffic.
> > 
> > pktgen test shows about 20% improvement for 802.1q traffic:
> > 
> > Before:
> >   662149pps 317Mb/sec (317831520bps) errors: 0
> > After:
> >   801033pps 384Mb/sec (384495840bps) errors: 0
> > 
> > Cc: Basil Gor <[email-masked]>
> > Cc: Michael S. Tsirkin <[email-masked]>
> > Signed-off-by: Jason Wang <[email-masked]>
> 
> 
> You need to make this configurable by some mechanism, since otherwise
> it will break applications that expect current VLAN behavior

I don't think there's a behavior change: vlan is still linearized
into the buffer. It's just done more efficiently.