In article local.mail.freebsd-questions/[EMAIL PROTECTED] you
write:
On Tue, Feb 18, 2003 at 11:52:22AM -0600, Jonathan Lemon wrote:
In article
local.mail.freebsd-questions/[EMAIL PROTECTED]
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=8802BROADCAST,SIMPLEX,MULTICAST mtu 1500
ether 00:e0:29:85:49:b6
media: Ethernet autoselect (10baseT/UTP)
status: no carrier
rl1: flags=8802BROADCAST,SIMPLEX,MULTICAST 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=8802BROADCAST,SIMPLEX,MULTICAST mtu 1500
ether 00:e0:29:85:49:d0
media: Ethernet autoselect (10baseT/UTP)
status: no carrier
rl1: flags=8802BROADCAST,SIMPLEX,MULTICAST 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=8802BROADCAST,SIMPLEX,MULTICAST mtu 1500
ether 00:e0:29:85:49:b6
media: Ethernet autoselect (10baseT/UTP)
status: no carrier
ifconfig net2
rl0: flags=8802BROADCAST,SIMPLEX,MULTICAST 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
Thanks.
That works for after the system is booted up and running.
I tried adding ifconfig_net1/2 lines to rc.conf and it didn't work.
ifconfig_net1=inet 10.0.0.3 netmask 255.0.0.0
You'll need to manually specify the interface list, the default is
to configure only the physical interfaces, not any aliases:
network_interfaces=lo0 net1 net2
--
Jonathan
To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message