|
@@ -87,7 +87,17 @@ static struct sk_buff *mtk_tag_rcv(struct sk_buff *skb, struct net_device *dev,
|
|
|
return skb;
|
|
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 = {
|
|
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,
|
|
|
};
|
|
};
|