FreeBSD 5.5 network driver binary module compatibility

Ed Maste emaste at phaedrus.sandvine.ca
Sat Jan 28 13:20:06 PST 2006


I've been backmerging to RELENG_5 the IP multicast address locking work
done by Robert Watson in HEAD and RELENG_6.  This prevents various panics
and corruption that happens when configuring multicast addresses.

The first two parts [1][2] of the MFC are complete, and all that remains
is to have drivers lock the if_addr_mtx when they synchronize their
hardware address filter with the list maintained by the stack.

In order to avoid breaking struct ifnet within 5.x, a global mutex
if_addr_mtx is shared by all drivers.  This means that FreeBSD 5.5
binary modules of these drivers will not load on FreeBSD 5.4 or earlier,
because the global mutex doesn't exist.

Existing binary drivers will continue work on FreeBSD 5.5 (but will lack
locking around multicast address configuration).

-ed

[1] http://lists.freebsd.org/pipermail/cvs-src/2006-January/057620.html
[2] http://lists.freebsd.org/pipermail/cvs-src/2006-January/058342.html


More information about the freebsd-stable mailing list