Message ID | 20170809124119.24320-4-john@phrozen.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Wed, Aug 09, 2017 at 02:41:18PM +0200, John Crispin wrote: > The MT7530 inserts the 4 magic header in between the 802.3 address and > protocol field. The patch implements the callback that can be called by > the flow dissector to figure out the real protocol and offset of the > network header. With this patch applied we can properly parse the packet > and thus make hashing function properly. > > Signed-off-by: Muciri Gatimu <muciri@openmesh.com> > Signed-off-by: Shashidhar Lakkavalli <shashidhar.lakkavalli@openmesh.com> > Signed-off-by: John Crispin <john@phrozen.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
diff --git a/net/dsa/tag_mtk.c b/net/dsa/tag_mtk.c index 2f32b7ea3365..02163c045a96 100644 --- a/net/dsa/tag_mtk.c +++ b/net/dsa/tag_mtk.c @@ -87,7 +87,17 @@ static struct sk_buff *mtk_tag_rcv(struct sk_buff *skb, struct net_device *dev, return skb; } +static int mtk_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) +{ + *offset = 4; + *proto = ((__be16 *)skb->data)[1]; + + return 0; +} + const struct dsa_device_ops mtk_netdev_ops = { - .xmit = mtk_tag_xmit, - .rcv = mtk_tag_rcv, + .xmit = mtk_tag_xmit, + .rcv = mtk_tag_rcv, + .flow_dissect = mtk_tag_flow_dissect, };