Re: NIC numbering

2003-02-18 Thread Jonathan Lemon
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



Re: NIC numbering

2003-02-18 Thread Jonathan Lemon
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

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message