Add two non-interface-specific bridge parameters:
- "flags" stores flags for the bridge itself. For now there is only one flag, IFBRF_DEFVLANFILTER, which causes newly added members to have IFBIF_VLANFILTER enabled by default.
- "defpvid" sets the automatically assigned PVID for new members. If set to 0 (the default) then no PVID is assigned, which matches the current behaviour.
Expose both of these in ifconfig:
- ifconfig bridge0 defvlanfilter defuntagged 1
This has two benefits:
- We avoid a race condition where a newly added bridge member would briefly have full VLAN access after BRDGADD finishes but before the vlan configuration can be applied.
- VLAN-filtering bridges become easier to configure. In particular, setting "defvlanfilter defuntagged 1" makes the bridge conform to IEEE 802.1Q, while also allow existing tools which add/remove bridge members (such as bhyve/jail managers) to work unmodified.