HomeFreeBSD

MFC r322548: Rework vlan(4) locking.

Description

MFC r322548: Rework vlan(4) locking.

Previously the locking of vlan(4) interfaces was not very comprehensive.
Particularly there was very little protection against the destruction of
active vlan(4) interfaces or concurrent modification of a vlan(4)
interface. The former readily produced several different panics.

The changes can be summarized as using two global vlan locks (an
rmlock(9) and an sx(9)) to protect accesses to the if_vlantrunk field of
struct ifnet, in addition to other places where global exclusive access
is required. vlan(4) should now be much more resilient to the destruction
of active interfaces and concurrent calls into the configuration path.

Details

Provenance
mjorasAuthored on
Parents
rS323476: make-memstick.sh: use 'set -e' to abort if any step fails
Branches
Unknown
Tags
Unknown