HomeFreeBSD

MFC r312604 and r312605:

Description

MFC r312604 and r312605:

Simplify the handling of small packets padding in cpsw:

  • Pad small packets to 60 bytes and not 64 (exclude the CRC bytes);
  • Pad the packet using m_append(9), if the packet has enough space for padding, which is usually true, it will not be necessary append a newly allocated mbuf to the chain.

Suggested by: yongari

MFC r312608:

Handle the rx queue stall while reading the packets from NIC (when the
descriptor state will not change anymore). This seems to eliminate the
race where we can miss a stalled queue under high load.

While here remove the unnecessary curly brackets.

Reported by: Konstantin Kormashev <konstantin@netgate.com>

MFC r312636:

Properly assemble an mbuf chain out of received fragments.

Remove the rx_batch hack, it makes no difference now that most of bugs have
been sorted out.

MFC r312637:

Be a little more pedantic here, the TRM says the hardware is supposed to
only clean the OWNER bit on SOP descriptors.

Sponsored by: Rubicon Communications, LLC (Netgate)

Details

Provenance
loosAuthored on
Parents
rS312761: MFC r312411:
Branches
Unknown
Tags
Unknown