From owner-freebsd-hackers Sun Apr 26 23:50:40 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA29446 for freebsd-hackers-outgoing; Sun, 26 Apr 1998 23:50:40 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from mail.artcom.de ([192.76.129.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA29374 for ; Sun, 26 Apr 1998 23:50:27 -0700 (PDT) (envelope-from hans@artcom.de) Received: from transrapid.artcom.de by mail.artcom.de with smtp id m0yThji-000008C; Mon, 27 Apr 1998 08:49:58 +0200 (MEST) Date: Mon, 27 Apr 1998 08:49:58 +0200 (MEST) From: Hans Huebner Reply-To: Hans Huebner To: freebsd-hackers@FreeBSD.ORG Subject: Re: FreeBSD HA configuration / Ethernet address takeover In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sun, 26 Apr 1998, Matthew N. Dodd wrote: > I've got an ethernet card here that allows an arbitrary number (well > arbitrary to no more than 16) number of MAC addresses. Fairly nifty. > I'm kind of puzzled at how this would be integrated with the > SIOCGHWADDR/SIOCSHWADDR calls as you might also need a way of determining > which hadware address to set/get :) After thinking about this for a weekend, I've come to the conclusion that multiple ethernet addresses for one logical ethernet interface would not be a good idea: Not only would it complicate many utility programs, it would also add ambiguity to the many-to-one mapping of an IP address to an Ethernet address. If multiple logical Ethernet interfaces on one physical interface would be needed, that should be implemented by adding the notion of multiple logical interfaces attachable to one physical interface. Solaris does it like that, and I found the approach consistent and straightforward: Instead of defining additional IP addresses for one interface, you clone the primary interface and get an additional, logical ethernet interface which can be configured using ifconfig similar to a real interface. Such a logical interface would also be the right place to assign another hardware address to an IP address, if the ethernet adapter supports that. I'm unsure whether Solaris supports that, though. This leaves the question whether the SIOC[GS]IFHWADDR ioctl's should be implemented the way Linux does this, that is: unsigned char hwaddr[6]; set address: ioctl(sockfd, SIOCGIFHWADDR, hwaddr); get address: ioctl(sockfs, SIOCSIFHWADDR, hwaddr); Comments anyone? -Hans P.S.: Please people. Stop trying to tell me that my approach is stupid. I know that there are application level redundancy mechanisms, and I also know how to configure some of them. I still want to do it like this for several reasons, and others seem to be interested in a way to change hardware addresses as well. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message