of the interface to that of the bridge instead of just refusing the
addition with EINVAL
this is a convenience feature to simplify bridge setup with non-standard
MTU, the useful behaviour observed with Linux xenbr
a KASSERT(), to make it clear no mbuf manipulation is ever done here
the condition should never trigger, this always runs after ether_output()
M_PREPEND()s ether_header
for destination interfaces with real hardware offloading this fixes
multicast packet corruption; for xvif(4) this fix stops treating them
as having no csum
may fix PR kern/42386
automate installation of sysctl nodes.
Note that there are still a number of device and pseudo-device modules
that create entries tied to individual device units, rather than to the
module itself. These are not changed.
- MP-safe drivers provide a mutex to ifmedia that is used to serialize
access to media-related structures / hardware regsiters. Converted
drivers use the new ifmedia_init_with_lock() function for this. The
new name is provided to ease the transition.
- Un-converted drivers continue to call ifmedia_init(), which will supply
a compatibility lock to be used instead. Several media-related entry
points must be aware of this compatibility lock, and are able to acquire
it recursively a limited number of times, if needed. This is a SPIN
mutex with priority IPL_NET.
- This same lock is used to serialize access to PHY registers and other
MII-related data structures.
The PHY drivers are modified to acquire and release the lock, as needed,
and assert the lock is held as a diagnostic aid.
The "usbnet" framework has had an overhaul of its internal locking
protocols to fit in with the media / mii changes, and the drivers adapted.
USB wifi drivers have been changed to provide their own adaptive mutex
to the ifmedia later via a new ieee80211_media_init_with_lock() function.
This is required because the USB drivers need an adaptive mutex.
Besised "usbnet", a few other drivers are converted: vmx, wm, ixgbe / ixv.
mcx also now calls ifmedia_init_with_lock() because it needs to also use
an adaptive mutex. The mcx driver still needs to be fully converted to
NET_MPSAFE.
instead of the current process credentials (which can change via
set{e,}{u,g}id(2)) and by passing the fd to a different process. This makes
the routing socket behave like other file descriptors. Proposed in tech-kern.
must be serialized against the interrupts / soft-interrupts in which
they're manipulated, as well as protected from non-atomic 64-bit memory
loads on 32-bit platforms.
the conditional in place for a time in case serious problems are discovered,
so that the Old Way can be re-enabled quickly. After some time, the Old
Way will be removed completely.
an ifmedia. Currently calls ifmedia_removeall(). All drivers
that call ifmedia_init() and support detach should call this
routine.
- In ifmedia_delete_instance(), set ifm->ifm_cur to NULL and
ifm->ifm_media to IFM_NONE when removing / freeing that entry,
not simply when we've been asked to delete every media instance.