HomeFreeBSD

Modify send_pkt() to return the generated packet and have the caller

Description

Modify send_pkt() to return the generated packet and have the caller
do the subsequent ip_output() in IPFW. In ipfw_tick(), the keep-alive
packets must be generated from the data that resides under the
stateful lock, but they must not be sent at that time, as this would
cause a lock order reversal with the normal ordering (interface's
lock, then locks belonging to the pfil hooks).

In practice, this caused deadlocks when using IPFW and if_bridge(4)
together to do stateful transparent filtering.

MFC after: 1 week

Details

Provenance
Brian Feldman <green@FreeBSD.org>Authored on Jun 10 2005, 12:28 PM
Parents
rG4aea1563d640: - Only create the led(4) interface, if setting the thinklight is possible
Branches
Unknown
Tags
Unknown

Event Timeline