Commit 18be654a authored by Ansuel Smith's avatar Ansuel Smith Committed by David S. Miller
Browse files

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



Add struct to correctly parse a mib Ethernet packet.

Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c2ee8181
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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 */
+4 −0
Original line number Diff line number Diff line
@@ -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);