Page MenuHomeFreeBSD

rge: add debugnet/netdump support
AcceptedPublic

Authored by olivier on Tue, Sep 29, 5:12 PM.
Tags
None
Referenced Files
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
Unknown Object (File)
Sat, Oct 3, 3:19 PM
Unknown Object (File)
Sat, Oct 3, 6:42 AM
Unknown Object (File)
Thu, Oct 1, 1:49 PM
Unknown Object (File)
Thu, Oct 1, 1:16 AM
Subscribers
None

Details

Reviewers
adrian
kevans
Group Reviewers
network
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