Page MenuHomeFreeBSD

rge: add debugnet/netdump support
ClosedPublic

Authored by olivier on Tue, Sep 29, 5:12 PM.
Tags
None
Referenced Files
F175931547: D60135.diff
Wed, Oct 14, 2:45 PM
F175881670: D60135.diff
Wed, Oct 14, 4:11 AM
F175854544: D60135.id189747.diff
Tue, Oct 13, 10:17 PM
Unknown Object (File)
Tue, Oct 13, 5:17 PM
Unknown Object (File)
Fri, Oct 9, 12:52 AM
Unknown Object (File)
Thu, Oct 8, 8:12 PM
Unknown Object (File)
Thu, Oct 8, 8:10 PM
Unknown Object (File)
Thu, Oct 8, 7:18 PM
Subscribers

Details

Summary

Implement the debugnet KPI in rge(4) so a panicking kernel can dump its core image over a Realtek 2.5GbE NIC.

Mirrors the re(4) pattern: rge_debugnet_transmit() bypasses the asynchronous sc_txq/taskqueue path (taskqueues cannot run in panic
context) and inlines the synchronous rge_encap() + RGE_TXSTART doorbell write.
rge_debugnet_poll() drains TX completions with rge_txeof(), then runs rge_rxeof() with a local mbufq and feeds each received mbuf
back through if_input() so debugnet's overridden if_input handler can observe ARP replies and netdumpd ACKs - rge_rxeof() does not call
if_input() itself, the interrupt handler normally drains the mbufq
after dropping the lock, and that step has to be reproduced here.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

olivier created this revision.

update due to latest changes in if_rge

This revision is now accepted and ready to land.Fri, Oct 2, 5:26 PM
This revision was automatically updated to reflect the committed changes.