tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Dealing with M_HASFCS for protocols that do not do ethernet crc



On Tue, Aug 09, 2022 at 07:15:10PM +0200, Martin Husemann wrote:
> On Tue, Aug 09, 2022 at 06:37:25PM +0200, Martin Husemann wrote:
> > Bit 25 of the MCR is defined as CST (CRC stripping for Type frames)
> > and should cause dropping of the last four bytes if ethertype >= 0x600,
> > and there is bit 7 defined as ACS (Automatic Pad/CRC Stripping) that
> > should cause the CRC field to be stripped if the length field is <= 1500.
> 
> Bah - bit 25 seems not to be available in all variants (or it is
> undocumented in some versions) and we already set bit 7 (called
> AWIN_GMAC_MAC_CONF_ACS in the driver).

Very stupid idea: maybe the "docs" are wrong, the bits are inverted and
as we set it up now the FCS is *not* stripped for regular packets with
a length field <= 1500 (ACS off) and it is (eroneously) stripped for
the ethertalk packets (with type > 0x600, CST on), but despite the
chip stripping it for us we still used to set M_HASFCS.

That would explain how the change could have helped.

Martin


Home | Main Index | Thread Index | Old Index