From owner-freebsd-net Tue Nov 10 18:50:15 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA26240 for freebsd-net-outgoing; Tue, 10 Nov 1998 18:50:15 -0800 (PST) (envelope-from owner-freebsd-net@FreeBSD.ORG) Received: from jason01.u.washington.edu (jason01.u.washington.edu [140.142.70.24]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA26235 for ; Tue, 10 Nov 1998 18:50:13 -0800 (PST) (envelope-from asun@u.washington.edu) Received: from saul9.u.washington.edu (asun@saul9.u.washington.edu [140.142.82.7]) by jason01.u.washington.edu (8.8.4+UW97.07/8.8.4+UW98.06) with ESMTP id SAA42988; Tue, 10 Nov 1998 18:49:54 -0800 Received: (from asun@localhost) by saul9.u.washington.edu (8.8.4+UW97.07/8.8.4+UW98.06) id SAA31398; Tue, 10 Nov 1998 18:49:52 -0800 (PST) Date: Tue, 10 Nov 1998 18:49:52 -0800 (PST) Message-Id: <199811110249.SAA31398@saul9.u.washington.edu> From: a sun To: wollman@khavrinen.lcs.mit.edu CC: stb@hanse.de, freebsd-net@FreeBSD.ORG In-reply-to: <199811110111.UAA22828@khavrinen.lcs.mit.edu> (message from Garrett Wollman on Tue, 10 Nov 1998 20:11:20 -0500 (EST)) Subject: Re: multicast handling in FreeBSD References: <199811102210.OAA11742@saul9.u.washington.edu> <199811110111.UAA22828@khavrinen.lcs.mit.edu> Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >> least, argues that you keep the old interface around. from the >> application level, the new interface looks slightly more complicated >> and somewhat arbitrary. From the application level there is absolutely no difference -- other than the requirement to actually construct a valid sockaddr. do you really intend everyone who uses a program that sets multicast addresses to recompile when they upgrade FreeBSD? that's what the change requires. actually, i'm a little confused on why you can't keep the same interface. can't you propagate the changes down to the actual interface? i guess i'm unfamiliar with how FreeBSD does it, but doing multicast stuff with aliased interfaces on linux, for example, seems to work without too much trouble. if you're not going to allow the old way of doing multicast assignments, i would at the very least like a feature #define that will allow me to test for it. i hope you realize that i'll have to do something silly like the following for FreeBSD: err = -1; #ifdef BSD_NEW_MULTICAST ifreq.ifr_addr = new_sa; err = ioctl(fd, SIOCADDMULTI, &ifreq); #endif /* looks like we compiled on a newer FreeBSD, but we're running * on an older one. */ if (err < 0) { ifreq.ifr_addr = old_sa; err = ioctl(fd, SIOCADDMULTI, &ifreq); } /* hmm. maybe we compiled on an older FreeBSD, but we're running on a newer one */ if (err < 0) { syslog(LOG_INFO, "sorry. you need to recompile."); } that's what i mean about "more complicated and somewhat arbitrary." -a To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message