diff mbox series

net: dsa: Implement flow_dissect callback for tag_qca

Message ID 1553650359-15959-1-git-send-email-xiaofeis@codeaurora.org (mailing list archive)
State Superseded
Headers show
Series net: dsa: Implement flow_dissect callback for tag_qca | expand

Commit Message

xiaofeis March 27, 2019, 1:32 a.m. UTC
Add flow_dissect for qca tagged packet to get the right hash.

Signed-off-by: xiaofeis <xiaofeis@codeaurora.org>
---
 net/dsa/tag_qca.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Bjorn Andersson March 27, 2019, 3:50 a.m. UTC | #1
On Tue 26 Mar 18:32 PDT 2019, xiaofeis wrote:

> Add flow_dissect for qca tagged packet to get the right hash.
> 
> Signed-off-by: xiaofeis <xiaofeis@codeaurora.org>

Hi Xiaofei,

Please use your full name (first and last) both as author and in the
signed-off tag.

Regards,
Bjorn

> ---
>  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
>
diff mbox series

Patch

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,
 };