Messages in this thread | | | Date | Wed, 26 Jan 2022 05:05:37 +0100 | From | Ansuel Smith <> | Subject | Re: [RFC PATCH v7 06/16] net: dsa: tag_qca: add define for handling mgmt Ethernet packet |
| |
On Tue, Jan 25, 2022 at 08:02:53PM -0800, Florian Fainelli wrote: > > > On 1/25/2022 8:01 PM, Ansuel Smith wrote: > > 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@gmail.com> > > > > --- > > > > > > [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) > > It would have to be in a call site where you use the structure, I have not > checked whether putting it in a static inline function in .h file actually > works if the inline function is not used at all.
Think I can test that by just putting a wrong value in QCA_HDR_MGMT_PKG_LEN and check if the error is triggered. Will check if the macro will actually work.
> -- > Florian
-- Ansuel
| |