HomeFreeBSD

if_cpsw overhaul:

Description

if_cpsw overhaul:

  • Fix RX and TX teardown: . TX teardown would not reclaim the abandoned descriptors; . Interrupt storms in RX teardown; . Fixed the acknowledge of the teardown completion interrupt.
  • Remove temporary lists for the descriptors;
  • Simplified the descriptor handling (less writes and reads from descriptors where possible);
  • Better debug;
  • Add support for the RX threshold interrupts: With interrupt moderation only, an RX overrun is likely to happen. The RX threshold is set to trigger a non paced interrupt everytime your RX free buffers are under the minimum threshold, helping to prevent the rx overrun.

The NIC now survive when pushed over its limits (where previously it would
lock up in a few seconds).

uFW (600MHz SoC) can now forward up to 560Mb/s of UDP traffic (netmap
pkt-gen as source and sink). TCP forwarding rate is over 350Mb/s.

No difference (other than CPU use) was seen on Beaglebone black (1GHz SoC)
for his fast ethernet.

Tested on: uFW, BBB
Sponsored by: Rubicon Communications, LLC (Netgate)

Details

Provenance
loosAuthored on
Parents
rS306716: Add man page for dnvlist.
Branches
Unknown
Tags
Unknown