From owner-freebsd-stable@FreeBSD.ORG Sat Jan 28 21:20:06 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F47C16A462 for ; Sat, 28 Jan 2006 21:20:06 +0000 (GMT) (envelope-from emaste@phaedrus.sandvine.ca) Received: from mailserver.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id E02A243D4C for ; Sat, 28 Jan 2006 21:20:04 +0000 (GMT) (envelope-from emaste@phaedrus.sandvine.ca) Received: from labgw2.phaedrus.sandvine.com ([192.168.3.11]) by mailserver.sandvine.com with Microsoft SMTPSVC(5.0.2195.6713); Sat, 28 Jan 2006 16:18:39 -0500 Received: by labgw2.phaedrus.sandvine.com (Postfix, from userid 12627) id 412B513654; Sat, 28 Jan 2006 16:20:03 -0500 (EST) Date: Sat, 28 Jan 2006 16:20:03 -0500 From: Ed Maste To: freebsd-stable@freebsd.org Message-ID: <20060128212003.GA52217@sandvine.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i X-OriginalArrivalTime: 28 Jan 2006 21:18:39.0640 (UTC) FILETIME=[68888980:01C62450] Subject: FreeBSD 5.5 network driver binary module compatibility X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jan 2006 21:20:06 -0000 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