[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YfDIkSpH7g+TPan0@Ansuel-xps.localdomain>
Date: Wed, 26 Jan 2022 05:05:37 +0100
From: Ansuel Smith <ansuelsmth@...il.com>
To: Florian Fainelli <f.fainelli@...il.com>
Cc: Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org
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@...il.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
Powered by blists - more mailing lists