[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1553650359-15959-1-git-send-email-xiaofeis@codeaurora.org>
Date: Wed, 27 Mar 2019 09:32:39 +0800
From: xiaofeis <xiaofeis@...eaurora.org>
To: davem@...emloft.net
Cc: vkoul@...nel.org, netdev@...r.kernel.org, andrew@...n.ch,
linux-arm-msm@...r.kernel.org, bjorn.andersson@...aro.org,
vivien.didelot@...il.com, f.fainelli@...il.com,
niklas.cassel@...aro.org, xiazha@...eaurora.org,
xiaofeis <xiaofeis@...eaurora.org>
Subject: [PATCH] net: dsa: Implement flow_dissect callback for tag_qca
Add flow_dissect for qca tagged packet to get the right hash.
Signed-off-by: xiaofeis <xiaofeis@...eaurora.org>
---
net/dsa/tag_qca.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
index e886a3c..f4b4de3 100644
--- a/net/dsa/tag_qca.c
+++ b/net/dsa/tag_qca.c
@@ -113,8 +113,18 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev,
return skb;
}
+static int qca_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
+ int *offset)
+{
+ *offset = QCA_HDR_LEN;
+ *proto = ((__be16 *)skb->data)[0];
+
+ return 0;
+}
+
const struct dsa_device_ops qca_netdev_ops = {
.xmit = qca_tag_xmit,
.rcv = qca_tag_rcv,
+ .flow_dissect = qca_tag_flow_dissect,
.overhead = QCA_HDR_LEN,
};
--
1.9.1
Powered by blists - more mailing lists