Re: [RFC PATCH v7 06/16] net: dsa: tag_qca: add define for handling mgmt Ethernet packet

From: Ansuel Smith
Date: Tue Jan 25 2022 - 23:01:39 EST


On Tue, Jan 25, 2022 at 07:54:15PM -0800, Florian Fainelli wrote:
>
>
> On 1/22/2022 5:33 PM, Ansuel Smith wrote:
> > Add all the required define to prepare support for mgmt read/write in
> > Ethernet packet. Any packet of this type has to be dropped as the only
> > use of these special packet is receive ack for an mgmt write request or
> > receive data for an mgmt read request.
> > A struct is used that emulates the Ethernet header but is used for a
> > different purpose.
> >
> > Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx>
> > ---
>
> [snip]
>
> > +/* Special struct emulating a Ethernet header */
> > +struct mgmt_ethhdr {
> > + u32 command; /* command bit 31:0 */
> > + u32 seq; /* seq 63:32 */
> > + u32 mdio_data; /* first 4byte mdio */
> > + __be16 hdr; /* qca hdr */
> > +} __packed;
>
> Might be worth adding a BUILD_BUG_ON(sizeof(struct mgmt_ethhdr) !=
> QCA_HDR_MGMT_PKG_LEN) when you start making use of that structure?

Where should I put this check? Right after the struct definition,
correct? (I just checked definition of the macro)

> --
> Florian

--
Ansuel