[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150526225142.GB26454@roeck-us.net>
Date: Tue, 26 May 2015 15:51:42 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Vivien Didelot <vivien.didelot@...oirfairelinux.com>
Cc: netdev <netdev@...r.kernel.org>,
Florian Fainelli <f.fainelli@...il.com>,
Andrew Lunn <andrew@...n.ch>, Chris Healy <cphealy@...il.com>,
Jérome Oufella
<jerome.oufella@...oirfairelinux.com>
Subject: Re: DSA and underlying 802.1Q encapsulation
On Tue, May 26, 2015 at 06:29:57PM -0400, Vivien Didelot wrote:
> Hi,
>
> I'm doing tests with VLAN support in DSA and I noticed that the EDSA
> frame is prepended with a 802.1q header once queued to the underlying
> network device, in net/dsa/tag_edsa.c:
>
> skb->dev = p->parent->dst->master_netdev;
> dev_queue_xmit(skb);
>
> This issue can be observed with the following dump:
>
> curl -s http://ix.io/iIv | tcpdump -en -r -
>
> I suspect that the DSA code must clear some VLAN flags in the skb
> structure, in order to prevent the additional encapsulation by the lower
> level. Does this make sense?
>
Hi Vivien,
Interesting question. Does the underlying network device support VLAN HW
acceleration (NETIF_F_HW_VLAN_CTAG_RX, NETIF_F_HW_VLAN_CTAG_TX) ?
If yes, the dsa code may need to move the tag into the header.
If we are lucky, a call to vlan_hwaccel_push_inside() might do it.
Do you have some vlan dsa code to share, by any chance ? That might
save me some time, as I am looking into it as well.
Thanks,
Guenter
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists