From owner-freebsd-current@FreeBSD.ORG  Sun Oct 31 14:35:46 2004
Return-Path: <owner-freebsd-current@FreeBSD.ORG>
Delivered-To: freebsd-current@freebsd.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 1C83316A4CE
	for <current@FreeBSD.org>; Sun, 31 Oct 2004 14:35:46 +0000 (GMT)
Received: from fledge.watson.org (fledge.watson.org [204.156.12.50])
	by mx1.FreeBSD.org (Postfix) with ESMTP id A17D943D54
	for <current@FreeBSD.org>; Sun, 31 Oct 2004 14:35:45 +0000 (GMT)
	(envelope-from robert@fledge.watson.org)
Received: from fledge.watson.org (localhost [127.0.0.1])
	by fledge.watson.org (8.13.1/8.13.1) with ESMTP id i9VEZ2hA050786
	for <current@FreeBSD.org>; Sun, 31 Oct 2004 09:35:02 -0500 (EST)
	(envelope-from robert@fledge.watson.org)
Received: from localhost (robert@localhost)i9VEZ2g8050783
	for <current@FreeBSD.org>; Sun, 31 Oct 2004 14:35:02 GMT
	(envelope-from robert@fledge.watson.org)
Date: Sun, 31 Oct 2004 14:35:02 +0000 (GMT)
From: Robert Watson <rwatson@FreeBSD.org>
X-Sender: robert@fledge.watson.org
To: current@FreeBSD.org
Message-ID: <Pine.NEB.3.96L.1041031143243.48928B-100000@fledge.watson.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Subject: HEADS UP: Kernel ABI for network device drivers changes
X-BeenThere: freebsd-current@freebsd.org
X-Mailman-Version: 2.1.1
Precedence: list
List-Id: Discussions about the use of FreeBSD-current
	<freebsd-current.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-current>,
	<mailto:freebsd-current-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-current>
List-Post: <mailto:freebsd-current@freebsd.org>
List-Help: <mailto:freebsd-current-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-current>,
	<mailto:freebsd-current-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 31 Oct 2004 14:35:46 -0000


Over the last two days, I've modified the size of 'struct ifnet' in order
to add several spare fields.  The goal is to break the ABI now just before
5.3 so that we can preserve network interface driver ABI more easily over
the lifetime of 5.x even as we continue the network stack work.  The
result of this change is that all network interface drivers on the 6.x,
5.x, and 5.3 branches must be recompiled when you update to the latest
kernel.  Since few third party network drivers exist right now, we figured
it was better to do it now than after the release as final compiled third
party drivers start to turn up.  In addition to adding the fields, we also
moved if_handoff() from being an inline to a function, as we anticipate
changing the way that network device dispatch occurs.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org      Principal Research Scientist, McAfee Research