Date: Tue, 13 Apr 2004 08:35:08 -0700 From: Brooks Davis <brooks@one-eyed-alien.net> To: Luigi Rizzo <rizzo@icir.org> Cc: net@freebsd.org Subject: Re: multiple definitions of ROUNDUP macro Message-ID: <20040413153508.GB20550@Odin.AC.HMC.Edu> In-Reply-To: <20040413014720.A57543@xorpc.icir.org> References: <20040413014720.A57543@xorpc.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--ftEhullJWpWg/VHq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 13, 2004 at 01:47:20AM -0700, Luigi Rizzo wrote: > The ROUNDUP macro, used to account for the space occupied by a sockaddr = =20 > when passed through a routing socket, is defined in a zillion places: >=20 > src/usr.sbin/IPXrouted/startup.c:#define ROUNDUP(a) \ > src/usr.sbin/arp/arp.c:#define ROUNDUP(a) \ > src/usr.sbin/ndp/ndp.c:#define ROUNDUP(a) \ > src/usr.sbin/ppp/defs.h:#define ROUNDUP(x) ((x) ? (1 + (((x) - 1) | (size= of(longsrc/usr.sbin/route6d/route6d.c:#define ROUNDUP(a) \ > src/usr.sbin/rwhod/rwhod.c:#define ROUNDUP(a) \ > src/sys/net/route.c.orig:#define ROUNDUP(a) (a>0 ? (1 + (((a) - 1) | (siz= eof(lonsrc/sys/net/rtsock.c:#define ROUNDUP(a) \ >=20 > A similar macro, ADVANCE, has similar problems. > This is confusing at best, and a likely source of trouble. >=20 > If there are no objections I would like to replace it with a > centralised macro (possibly with a suitable name) which takes > a sockaddr * as argument and returns the rounded-up size of the > object as a result. Sounds good. BDE suggested the roundup/roundup2 macros in sys/param.h when I was removing some macros from net/if.c. > BTW, i notice that the rounding is to multiples of "sizeof(long)", > and i wonder if this is intentional, especially on 64-bit > architectures. Our wordsize is long on all architectures so that makes sense to me. -- Brooks --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --ftEhullJWpWg/VHq Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFAfAirXY6L6fI4GtQRAiSkAJwJ2CfTBzw9Fi7f0umyc22c7g/hMQCfZnnB ne5+EeTuB3baiMLk1Of2gzs= =gRgG -----END PGP SIGNATURE----- --ftEhullJWpWg/VHq--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040413153508.GB20550>