From owner-cvs-src@FreeBSD.ORG Sun Dec 12 21:29:10 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F017B16A4CE; Sun, 12 Dec 2004 21:29:10 +0000 (GMT) Received: from smtp-vbr12.xs4all.nl (smtp-vbr12.xs4all.nl [194.109.24.32]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3237A43D48; Sun, 12 Dec 2004 21:29:10 +0000 (GMT) (envelope-from wb@freebie.xs4all.nl) Received: from freebie.xs4all.nl (freebie.xs4all.nl [213.84.32.253]) iBCLSp6G030907; Sun, 12 Dec 2004 22:28:52 +0100 (CET) (envelope-from wb@freebie.xs4all.nl) Received: from freebie.xs4all.nl (localhost [127.0.0.1]) by freebie.xs4all.nl (8.13.1/8.12.9) with ESMTP id iBCLSplo001533; Sun, 12 Dec 2004 22:28:51 +0100 (CET) (envelope-from wb@freebie.xs4all.nl) Received: (from wb@localhost) by freebie.xs4all.nl (8.13.1/8.13.1/Submit) id iBCLSoAn001532; Sun, 12 Dec 2004 22:28:50 +0100 (CET) (envelope-from wb) Date: Sun, 12 Dec 2004 22:28:50 +0100 From: Wilko Bulte To: Brooks Davis Message-ID: <20041212212850.GA1493@freebie.xs4all.nl> References: <200412122012.iBCKCou6068020@repoman.freebsd.org> <20041212204111.GB5503@electra.cse.Buffalo.EDU> <20041212205321.GA28802@odin.ac.hmc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <20041212205321.GA28802@odin.ac.hmc.edu> X-OS: FreeBSD 4.11-PRERELEASE X-PGP: finger wilko@freebsd.org User-Agent: Mutt/1.5.6i X-Virus-Scanned: by XS4ALL Virus Scanner cc: Brooks Davis cc: Ken Smith cc: src-committers@FreeBSD.ORG cc: cvs-all@FreeBSD.ORG cc: cvs-src@FreeBSD.ORG Subject: Re: cvs commit: src/sbin/ifconfig ifconfig.c src/sys/net if.c if.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Dec 2004 21:29:11 -0000 On Sun, Dec 12, 2004 at 12:53:21PM -0800, Brooks Davis wrote.. > On Sun, Dec 12, 2004 at 03:41:11PM -0500, Ken Smith wrote: > > On Sun, Dec 12, 2004 at 08:12:50PM +0000, Brooks Davis wrote: > > > brooks 2004-12-12 20:12:50 UTC > > >=20 > > > FreeBSD src repository > > >=20 > > > Modified files: (Branch: RELENG_4) > > > sbin/ifconfig ifconfig.c=20 > > > sys/net if.c if.h=20 > > > Log: > > > MFC the addition of ifi_datalen to struct if_data and ifconfig supp= ort > > > for it. The change to struct if_data differs slightly from the one= in > > > 5.3 in that a pad is added after ifi_xmitquota rather then adding > > > ifi_link_state before ifi_recvquota. This is necessicary to mainta= in > > > the 4.x ABI. > > > =20 > > > Revision Changes Path > > > 1.51.2.23 +4 -1 src/sbin/ifconfig/ifconfig.c > > > 1.85.2.28 +2 -0 src/sys/net/if.c > > > 1.58.2.12 +2 -0 src/sys/net/if.h > >=20 > > In if.h you are adding new fields that didn't exist before: > >=20 > > #ifndef _NET_IF_H_ > > @@ -97,6 +97,8 @@ struct if_data { > > u_char ifi_hdrlen; /* media header length */ > > u_char ifi_recvquota; /* polling quota for receive intrs */ > > u_char ifi_xmitquota; /* polling quota for xmit intrs */ > > + u_char ifi_do_no_use; /* pad for ifi_datalen's position */ > > + u_char ifi_datalen; /* length of this data struct */ > > u_long ifi_mtu; /* maximum transmission unit */ > > u_long ifi_metric; /* routing metric (external only) */ > > u_long ifi_baudrate; /* linespeed */ > >=20 > > So any already compiled executables that use the if_data structure would > > be looking for ifi_mtu/ifi_metric/ifi_baudrate in the wrong place after > > this change. Are you absolutely sure this is not breaking ABI? >=20 > ifi_mtu, etc remain in the same location because the two new variables > fill in the hidden padding required to align ifi_mtu. I've verified > that old and new ifconfigs work with old and new kernels. The change Als on 64 bit machines? Just wondering.. > will allow 4.11 ifconfigs to work with 6.x if we add fields to struct > if_data (fairly probable). --=20 Wilko Bulte wilko@FreeBSD.org