From owner-freebsd-questions Tue Feb 18 9:52:22 2003 Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7C2FA37B401 for ; Tue, 18 Feb 2003 09:52:19 -0800 (PST) Received: from mail.flugsvamp.com (ts46-01-qdr3643.mdfrd.or.charter.com [68.118.36.71]) by mx1.FreeBSD.org (Postfix) with ESMTP id E68C743F93 for ; Tue, 18 Feb 2003 09:52:17 -0800 (PST) (envelope-from jlemon@flugsvamp.com) Received: (from jlemon@localhost) by mail.flugsvamp.com (8.12.6/8.12.6) id h1IHqMGt067351; Tue, 18 Feb 2003 11:52:22 -0600 (CST) (envelope-from jlemon) Date: Tue, 18 Feb 2003 11:52:22 -0600 (CST) From: Jonathan Lemon Message-Id: <200302181752.h1IHqMGt067351@mail.flugsvamp.com> To: m.seaman@infracaninophile.co.uk, Terry Todd , questions@freebsd.org Subject: Re: NIC numbering X-Newsgroups: local.mail.freebsd-questions In-Reply-To: References: Organization: Cc: Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In article you write: >On Tue, Feb 18, 2003 at 11:02:30AM -0600, Terry Todd wrote: >> On Mon, Feb 17, 2003 at 02:08:19PM +0100, Cliff Sarginson wrote: >> > On Mon, Feb 17, 2003 at 01:30:09PM +0100, Andrea Franceschini wrote: >> > > On Sat, Feb 15, 2003 at 08:28:35AM -0600, Terry Todd wrote: >> > > > When you have more than one of the same type of NIC card in one >> > > > machine is there a way to insure that the NIC numbering remains >> > > > attached to the same card / MAC address if more cards are added or >> > > > they are moved around? >> > > > >> >> Here's an example. >> >> The original setup: >> >> $ ifconfig -a >> rl0: flags=8802 mtu 1500 >> ether 00:e0:29:85:49:b6 >> media: Ethernet autoselect (10baseT/UTP) >> status: no carrier >> rl1: flags=8802 mtu 1500 >> ether 00:e0:29:85:49:d0 >> media: Ethernet autoselect (10baseT/UTP) >> status: no carrier >> >> After the cards are switched around in the PCI slots: >> >> $ ifconfig -a >> rl0: flags=8802 mtu 1500 >> ether 00:e0:29:85:49:d0 >> media: Ethernet autoselect (10baseT/UTP) >> status: no carrier >> rl1: flags=8802 mtu 1500 >> ether 00:e0:29:85:49:b6 >> media: Ethernet autoselect (10baseT/UTP) >> status: no carrier >> >> How can I keep rl0 associated with MAC 00:e0:29:85:49:b6 >> and rl1 associated with MAC 00:e0:29:85:49:d0 and still >> be able to add cards or move them around? > >About the best you can do is use ifconfig(8) to set the MAC address at >the same time as you configure the interface: > > ifconfig rl0 ether 00:e0:29:85:49:b6 > ifconfig rl1 ether 00:e0:29:85:49:d0 > >which will cause the MAC address to stick with the interface number, >rather than the actual card. That will work if you just keep the two >cards as you've shown here, but if you add a new card that happens to >end up as rl0 then you'll probably end up with a mess. > >As far as I know, there's no way of wiring down interface numbers to >PCI bus slots, analogously to the way you can wire down SCSI devices >by bus, target and LUN --- see the section on 'SCSI DEVICE >CONFIGURATION' in LINT. You'ld probably have to go a bit linux-ish >and have, say, eth0 as the generic name for an ethernet interface >independant of the actual chipset on the NIC in order to make the most >sense of that sort of wiring-down idea. Actually, this capability has been in 5.0 for a long time, but I don't think that it was ever MFC'd to 4.x. There are network aliases for the actual physical devices, which appear as /dev/netN, where N is the index number used. These can be wired either by name or ether number at boot time: Allow wiring of net aliases in /boot/device.hints of the form: hint.net.1.dev="lo0" or hint.net.12.ether="00:a0:c9:c9:9d:63" So for the original poster, you could do (in 5.0): hint.net.1.ether="00:e0:29:85:49:b6" hint.net.2.ether="00:e0:29:85:49:d0" > ifconfig net1 rl1: flags=8802 mtu 1500 ether 00:e0:29:85:49:b6 media: Ethernet autoselect (10baseT/UTP) status: no carrier > ifconfig net2 rl0: flags=8802 mtu 1500 ether 00:e0:29:85:49:d0 media: Ethernet autoselect (10baseT/UTP) status: no carrier And the 'net1','net2' aliases will remain bound to whichever driver has those actual ethernet addresses, regardless of PCI ordering. -- Jonathan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message