Thread (13 messages) 13 messages, 3 authors, 2017-12-12

Re: [PATCH net-next 2/3] net: dsa: mediatek: combine MediaTek tag with VLAN tag

flat view

From: Sean Wang <sean.wang@mediatek.com>
Date: 2017-12-12 08:40:43
Also in: linux-mediatek, lkml

On Tue, 2017-12-12 at 09:28 +0100, Andrew Lunn wrote:
On Tue, Dec 12, 2017 at 03:21:21PM +0800, Sean Wang wrote:
quoted
On Thu, 2017-12-07 at 16:30 +0100, Andrew Lunn wrote:
quoted
quoted
@@ -25,20 +28,37 @@ static struct sk_buff *mtk_tag_xmit(struct sk_buff *skb,
 {
 	struct dsa_port *dp = dsa_slave_to_port(dev);
 	u8 *mtk_tag;
+	bool is_vlan_skb = true;
..
quoted
+	/* Mark tag attribute on special tag insertion to notify hardware
+	 * whether that's a combined special tag with 802.1Q header.
+	 */
+	mtk_tag[0] = is_vlan_skb ? MTK_HDR_XMIT_TAGGED_TPID_8100 :
+		     MTK_HDR_XMIT_UNTAGGED;
 	mtk_tag[1] = (1 << dp->index) & MTK_HDR_XMIT_DP_BIT_MASK;
-	mtk_tag[2] = 0;
-	mtk_tag[3] = 0;
+
+	/* Tag control information is kept for 802.1Q */
+	if (!is_vlan_skb) {
+		mtk_tag[2] = 0;
+		mtk_tag[3] = 0;
+	}
 
 	return skb;
 }
Hi Sean

So you can mark a packet for egress. What about ingress? How do you
know the VLAN/PORT combination for packets the CPU receives? I would
of expected a similar change to mtk_tag_rcv().

   Andrew
Hi, Andrew

It's unnecessary for extra handling in mtk_tag_rcv() when VLAN tag is
present since it is able to put the VLAN tag after the special tag and
then follow the existing way to parse.
Hi Sean

O.K. Please mention this in the commit message. Since it was something
i was expecting, it should be documented why it is not needed.

  Thanks
	Andrew

Sure. I will add this in the commit message.
	
	Sean


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help