HomeFreeBSD

debugnet: Fix false-positive assertions for dp_state

Description

debugnet: Fix false-positive assertions for dp_state

debugnet_handle_arp:

An assertion is present to ensure the pcb is only modified when the state is
DN_STATE_INIT. Because debugnet_arp_gw() is asynchronous it is possible for
ARP replies to come in after the gateway address is known and the state
already changed.

debugnet_handle_ip:

Similarly it is possible for packets to come in, from the expected
server, during the gateway mac discovery phase.  This can happen from
testing disconnects / reconnects in quick succession.  This later
causes some acks to be sent back but hit an assertion because the
state is wrong.

Reviewed by: cem, debugnet_handle_arp: markj, vangyzen
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D31327

Details

Provenance
bdreweryAuthored on Jul 27 2021, 8:12 PM
Reviewer
cem
Differential Revision
D31327: debugnet_handle_arp(): Fix false-positive assertion for dp_state
Parents
rG07c4b78d0a1d: lua loader: Add disable-device to disable a device.
Branches
Unknown
Tags
Unknown