InfoDoc ID   Synopsis   Date
47437   Sun Fire [TM] V480 local-mac-address behavior   7 Oct 2002

Status Issued

Description

The purpose of this document is to describe the behavior of the Open Boot PROM(OBP) variable 'local-mac-address?' on the V480 platform. Configuring this variable for specific network configurations is outside of the scope of this document.

There are two "built-in" network interfaces on the V480. The physical connections are labeled Net0 and Net1. The device paths for the interfaces are as follows:

	Net0 = /pci@9,700000/network@2
	Net1 = /pci@9,600000/network@1
                  

Net0 and Net1 are generally associated with ce0 (Cassini Ethernet) and ce1 respectively under Solaris[TM]. However this may not be a constant, whereas the specific hardware device path is a constant the mapping of device instance numbers under Solaris may change depending upon specific hardware and OBP configurations.

Solaris will assign the same mac address as reported by the OBP banner to each of the "ce" interfaces when the 'local_mac_address?' is set to false (default). This is the behavior seen in other multi-interfaced platforms.

When 'local_mac_address?' is set to 'true', Solaris assigns (or is assigned) the mac address associated with Net1 to "ce0" rather than from Net0. This results in a different mac address than what is displayed by the banner. This effective change occurs due to the order in which these interfaces are probed at the OBP level. This behavior may be different from other platforms where the primary interface maintains the OBP banner mac address regardless of the 'local-mac-address' setting.

To show this correlation below are examples of the OBP banner (1), a 'show-nets' output (2), how the entries are defined as instance numbers in /etc/path_to_inst file (3), and how Solaris associates the mac address with 'local_mac_address?' set to false (4) and when set to true (5).

1) OBP banner output:

{2} ok banner
Sun Fire [TM] 480R, No Keyboard
Copyright 1998-2002 Sun Microsystems, Inc.  All rights reserved. OpenBoot
4.5, 4096 MB memory installed, Serial #51038073. Ethernet address
0:3:ba:a:c7:79, Host ID: 830ac779.                  

2) 'show-nets' output

{2} ok show-nets                   
a) /pci@9,600000/network@1
b) /pci@9,700000/network@2                  

3) Network entries in /etc/path_to_inst file

"/pci@9,700000/network@2" 0 "ce"
"/pci@9,600000/network@1" 1 "ce"
                  

4) How Solaris associates the mac address with local-mac-address?=false

# ifconfig -a  
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
ce0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 129.148.11.46 netmask ffffff00 broadcast 129.148.11.255
        ether 0:3:ba:a:c7:79 
ce1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 129.129.129.6 netmask ffff0000 broadcast 129.129.255.255
        ether 0:3:ba:a:c7:79                  

5) How Solaris associates the mac address with local-mac-address?=true

# ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
ce0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 129.148.11.46 netmask ffffff00 broadcast 129.148.11.255
        ether 0:3:ba:a:c7:7a 
ce1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 129.129.129.6 netmask ffff0000 broadcast 129.129.255.255
        ether 0:3:ba:a:c7:79                   

INTERNAL SUMMARY:

Internal Summary

The properties associated with each interface can be examined from the OBP as follows (see explanation below):

{2} ok setenv auto-boot? false
auto-boot? =          false

{2} ok reset-all
Resetting ...

Sun Fire 480R, No Keyboard
Copyright 1998-2002 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.5, 4096 MB memory installed, Serial #51038073.
Ethernet address 0:3:ba:a:c7:79, Host ID: 830ac779.
                                                                      
{2} ok show-nets
a) /pci@9,600000/network@1
b) /pci@9,700000/network@2
q) NO SELECTION 
Enter Selection, q to quit: b		======>  Net0 is selected
/pci@9,700000/network@2 has been selected.
Type ^Y ( Control-Y ) to insert it in the command line. 
e.g. ok nvalias mydev ^Y 
         for creating devalias mydev for 
/pci@9,700000/network@2

{2} ok select /pci@9,700000/network@2	======> this is Net0 device path
100 Mbps HDX Link up

{2} ok .prp		======> Display the properties
mac-address              00 03 ba 0a c7 79 
assigned-addresses       82001010 00000000 00200000 00000000 00200000 
                         82001030 00000000 02000000 00000000 00100000 
pci-req-removal          
compatible               70 63 69 31 30 38 65 2c 61 62 62 61 2e 31 31 00 
reg                      00001000 00000000 00000000 00000000 00000000 
                         02001010 00000000 00000000 00000000 00200000 
version                  Gigaswift FCode 2.7 02/01/31
address-bits             00 00 00 30 
max-frame-size           00 00 40 00 
phy-type                 mif
model                    SUNW,pci-ce
device_type              network
name                     network
local-mac-address        00 03 ba 0a c7 7a 
66mhz-capable 
fast-back-to-back 
devsel-speed             00000002 
class-code               00020000 
interrupts               00000001 
                         00000002 
                         00000003 
                         00000004 
latency-timer            00000040 
cache-line-size          00000010 
max-latency              00000040 
min-grant                00000040 
revision-id              00000011 
device-id                0000abba 
vendor-id                0000108e 
{2} ok                   

The first line 'mac-address' shows the same address as in the 'banner' which is

the system MAC address. The line for 'local-mac-address' shows the address that

will be assigned to ce0 (always banner address + 1, 79 + 1 = 7a) if the OBP variable

local-mac-address? is set to true.

The Net1 device is shown below:

{2} ok device-end
{2} ok show-nets
a) /pci@9,600000/network@1
b) /pci@9,700000/network@2
q) NO SELECTION 
Enter Selection, q to quit: a		======>  Net1 is selected
/pci@9,600000/network@1 has been selected.
Type ^Y ( Control-Y ) to insert it in the command line. 
e.g. ok nvalias mydev ^Y 
         for creating devalias mydev for 
/pci@9,600000/network@1
{2} ok select /pci@9,600000/network@1	======> this is Net1 device path
100 Mbps HDX Link up
{2} ok .prp		======> Display the properties
mac-address              00 03 ba 0a c7 79 
assigned-addresses       82000810 00000000 00200000 00000000 00200000 
                         82000830 00000000 00100000 00000000 00100000 
pci-req-removal          
compatible               70 63 69 31 30 38 65 2c 61 62 62 61 2e 31 31 00 
reg                      00000800 00000000 00000000 00000000 00000000 
                         02000810 00000000 00000000 00000000 00200000 
version                  Gigaswift FCode 2.7 02/01/31
address-bits             00 00 00 30 
max-frame-size           00 00 40 00 
phy-type                 mif
model                    SUNW,pci-ce
device_type              network
name                     network
local-mac-address        00 03 ba 0a c7 79 
66mhz-capable 
fast-back-to-back 
devsel-speed             00000002 
class-code               00020000 
interrupts               00000001 
                         00000002 
                         00000003 
                         00000004 
latency-timer            00000040 
cache-line-size          00000010 
max-latency              00000040 
min-grant                00000040 
revision-id              00000011 
device-id                0000abba 
vendor-id                0000108e 
{2} ok 
            

SUBMITTER: Paul Buckley APPLIES TO: AFO Vertical Team Docs/Install/Boot ATTACHMENTS:


Copyright (c) 1997-2003 Sun Microsystems, Inc.