Messages in this thread | | | Date | Tue, 25 Jan 2022 20:02:53 -0800 | Subject | Re: [RFC PATCH v7 06/16] net: dsa: tag_qca: add define for handling mgmt Ethernet packet | From | Florian Fainelli <> |
| |
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. -- Florian
| |