net: dsa: tag_rtl4_a: use the generic flow dissector procedure
Remove the .flow_dissect procedure, so the flow dissector will call the generic variant which works for this tagging protocol. Cc: Linus Walleij <linus.walleij@linaro.org> Cc: DENG Qingfang <dqfext@gmail.com> Cc: Mauri Sandberg <sandberg@mailfence.com> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
e665297983
Коммит
300fd579b2
|
@ -106,20 +106,11 @@ static struct sk_buff *rtl4a_tag_rcv(struct sk_buff *skb,
|
||||||
return skb;
|
return skb;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rtl4a_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto,
|
|
||||||
int *offset)
|
|
||||||
{
|
|
||||||
*offset = RTL4_A_HDR_LEN;
|
|
||||||
/* Skip past the tag and fetch the encapsulated Ethertype */
|
|
||||||
*proto = ((__be16 *)skb->data)[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct dsa_device_ops rtl4a_netdev_ops = {
|
static const struct dsa_device_ops rtl4a_netdev_ops = {
|
||||||
.name = "rtl4a",
|
.name = "rtl4a",
|
||||||
.proto = DSA_TAG_PROTO_RTL4_A,
|
.proto = DSA_TAG_PROTO_RTL4_A,
|
||||||
.xmit = rtl4a_tag_xmit,
|
.xmit = rtl4a_tag_xmit,
|
||||||
.rcv = rtl4a_tag_rcv,
|
.rcv = rtl4a_tag_rcv,
|
||||||
.flow_dissect = rtl4a_tag_flow_dissect,
|
|
||||||
.overhead = RTL4_A_HDR_LEN,
|
.overhead = RTL4_A_HDR_LEN,
|
||||||
};
|
};
|
||||||
module_dsa_tag_driver(rtl4a_netdev_ops);
|
module_dsa_tag_driver(rtl4a_netdev_ops);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче