HardenedBSD/sys/net
Kevin Bowling 725e4008ef iflib: invert default restart on VLAN changes
In rS360398, a new iflib device method was added to opt out of VLAN
events needing an interface reset.

I am switching the default to not requiring a restart for:
* VLAN events
* unknown events

After fixing various bugs, I do not think this would be a common need
of hardware and it is undesirable from the user's perspective causing
link flaps and much slower VLAN configuration. Currently, there are no
other restart events besides VLAN events, and setting the
ifdi_needs_restart default to false will alleviate the need to churn
every driver if an odd event is added in the future for specific
hardware.

markj points out this could cause churn in the other direction; I will
solve that problem with an event registration system as he mentions in
the review should we need it in the future.

These drivers will opt into restart and need further inspection or work:
* ixv (needs code audit, 61a8231 fixed principal issue; re-init probably
not necessary)
* axgbe (needs code audit; re-init probably not necessary)
* iavf - (needs code audit; interaction with Malicious Driver Detection
mentioned in rS360398)
* mgb - no VLAN functions are currently implemented. Left a comment.

MFC after:	2 weeks
Sponsored by:	BBOX.io
Differential Revision:	https://reviews.freebsd.org/D41558
2023-08-24 13:48:19 -07:00
..
altq
route
bpf_buffer.c
bpf_buffer.h
bpf_filter.c
bpf_jitter.c
bpf_jitter.h
bpf_zerocopy.c
bpf_zerocopy.h
bpf.c
bpf.h
bpfdesc.h
bridgestp.c
bridgestp.h
debugnet_inet.c
debugnet_int.h
debugnet.c
debugnet.h
dlt.h
ethernet.h
firewire.h
ieee8023ad_lacp.c
ieee8023ad_lacp.h
ieee_oui.h
if_arp.h
if_bridge.c
if_bridgevar.h
if_clone.c
if_clone.h
if_dead.c
if_disc.c
if_dl.h
if_edsc.c
if_enc.c
if_enc.h
if_epair.c
if_ethersubr.c
if_fwsubr.c
if_gif.c
if_gif.h
if_gre.c
if_gre.h
if_infiniband.c
if_ipsec.c
if_ipsec.h
if_lagg.c
if_lagg.h
if_llatbl.c
if_llatbl.h
if_llc.h
if_loop.c
if_me.c
if_media.c
if_media.h
if_mib.c
if_mib.h
if_ovpn.c
if_ovpn.h
if_pflog.h
if_pfsync.h
if_private.h
if_stf.c
if_stf.h
if_strings.h
if_tap.h
if_tun.h
if_tuntap.c
if_types.h
if_var.h
if_vlan_var.h
if_vlan.c
if_vxlan.c
if_vxlan.h
if.c
if.h
ifdi_if.m
iflib.c
iflib.h
ifq.c
ifq.h
infiniband.h
mp_ring.c
mp_ring.h
mppc.h
mppcc.c
mppcd.c
netisr_internal.h
netisr.c
netisr.h
netmap_legacy.h
netmap_user.h
netmap_virt.h
netmap.h
paravirt.h
pfil.c
pfil.h
pfkeyv2.h
pfvar.h
ppp_defs.h
radix.c
radix.h
rndis.h
route.c
route.h
rss_config.c
rss_config.h
rtsock.c
sff8436.h
sff8472.h
slcompress.c
slcompress.h
toeplitz.c
toeplitz.h
vnet.c
vnet.h