net: dsa: tag_qca: add define for handling MIB packet

Add struct to correctly parse a mib Ethernet packet.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ansuel Smith 2022-02-02 01:03:26 +01:00 коммит произвёл David S. Miller
Родитель c2ee8181fd
Коммит 18be654a43
2 изменённых файлов: 14 добавлений и 0 удалений

Просмотреть файл

@ -62,4 +62,14 @@ struct qca_mgmt_ethhdr {
__be16 hdr; /* qca hdr */
} __packed;
enum mdio_cmd {
MDIO_WRITE = 0x0,
MDIO_READ
};
struct mib_ethhdr {
u32 data[3]; /* first 3 mib counter */
__be16 hdr; /* qca hdr */
} __packed;
#endif /* __TAG_QCA_H */

Просмотреть файл

@ -57,6 +57,10 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
if (pk_type == QCA_HDR_RECV_TYPE_RW_REG_ACK)
return NULL;
/* Ethernet MIB counter packet */
if (pk_type == QCA_HDR_RECV_TYPE_MIB)
return NULL;
/* Remove QCA tag and recalculate checksum */
skb_pull_rcsum(skb, QCA_HDR_LEN);
dsa_strip_etype_header(skb, QCA_HDR_LEN);