Messages in this thread | | | Date | Mon, 10 Oct 2022 14:44:46 +0200 | From | Christian Marangi <> | Subject | Re: [net PATCH 1/2] net: dsa: qca8k: fix inband mgmt for big-endian systems |
| |
On Mon, Oct 10, 2022 at 08:53:01PM +0200, Andrew Lunn wrote: > > /* Special struct emulating a Ethernet header */ > > struct qca_mgmt_ethhdr { > > - u32 command; /* command bit 31:0 */ > > - u32 seq; /* seq 63:32 */ > > - u32 mdio_data; /* first 4byte mdio */ > > + __le32 command; /* command bit 31:0 */ > > + __le32 seq; /* seq 63:32 */ > > + __le32 mdio_data; /* first 4byte mdio */ > > __be16 hdr; /* qca hdr */ > > } __packed; > > It looks odd that hdr is BE while the rest are LE. Did you check this? > > Andrew
Yes we did many test to analyze this and I just checked with some tcpdump that the hdr is BE everytime. If you want I can provide you some tcpdump from 2 different systems.
Anyway it looks like this family switch treats the hdr in a standard way with the network byte order and for anything else stick to LE.
Also as a side note the tagger worked correctly before the mgmt feature on BE systems and also works correctly now... just any command is slow as the mgmt system has to timeout and fallback to legacy mdio.
-- Ansuel
| |