CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]   2026/11/05 01:54:52

Modified files:
        sys/dev/pci    : if_rge.c if_rgereg.h 

Log message:
Work around RTL8125 and RTL8125B TX hang on short UDP frames.

These chips look for PTP messages in short UDP frames without regard
to IP fragmentation.  A frame shorter than 175 bytes that reads port
319 or 320 at the UDP destination port offset with fewer than 47 bytes
of UDP data following hangs the TX.

Pad such frames to 47 bytes of UDP data in software.  Also pad every
frame shorter than 60 bytes, since the chip doesn't checksum those
correctly, and compute the checksums in software for padded frames.

Problem reported and fix tested by Tomas Slobodnik.

Reply via email to