Bhanu,
Based on the 82599 datasheet, Permanent MAC address for port 0 belongs to 'lan 
core 0 module pointer' ( EEPROM word at offset 0x09) and port1 belongs to 'lan 
core1 module pointer'
The  pointer to MAC address in the eeprom is depend on eeprom word 0x09 and 
0x0A.
For port 0,
1.      Run ethtool -e eth0 
2.      Word offset 0x09 points to section  'lan core 0 module pointer' (for 
port 0)
3.      Word offset 0x01 , 0x02, 0x03 of 'lan core 0 module pointer' represents 
permanent MAC address (for more info see open source  82599 data sheet)
        (Ignore the word offset 0x00 as it represents length, value of which is 
0x07)

For port 1,
1.      Run ethtool -e eth1 
2.      Word offset 0x0A points to section  'lan core 1 module pointer' (for 
port 1)
3.      Word offset 0x01 , 0x02, 0x03 of 'lan core 1 module pointer' represents 
permanent MAC address (for more info see open source  82599 data sheet)
        (Ignore the word offset 0x00 as it represents length, value of which is 
0x07)
 
For example,
In my case, eeprom word at word offset 0x09 is 0x1af so at word offset  
[0x1af+0x1] is the first word of MAC address! The equivalent byte offset is 
0x360. So at byte offset 0x360 is the first byte of permanent MAC address for 
port 0.   

And same for port 1, in my case eeprom word at word offset 0x0A is 0x01B7 so at 
word offset [0x01B7+0x1] is the first word of MAC address. The equivalent byte 
offset is 0x370 (= [0x01B7+0x1] word offset) So at byte offset 0x370 is the 
first byte of permanent MAC address for port 1.   

Give it a try with 
ethtool -E ethx magic $magic offset $offset value $value

Thanks.

-Tushar


-----Original Message-----
From: y bhanu [mailto:[email protected]] 
Sent: Monday, December 27, 2010 3:53 PM
To: Ko, Stephen S
Cc: [email protected]
Subject: Re: [E1000-devel] 82599 ixgbe+ ethtool MAC address offsets

Thanks Stephen,

But, I want to write these MACS to be permanently written so that I
wouldn't have to do it everytime I boot or unload/load these drivers.
I am writing these MACS currently with ethtool now and writing these
MACS to 0x33C & 0x360 offsets. I have have trouble to get it work on
some new Cards with the same deviceID.

I need some advice on how to write new MACS of the 82599 Card from linux.
It is very important that I do it right because the same utility will
be used to write production boxes.
Any help is very much appropriated

Thanks,
Bhanu


On Mon, Dec 27, 2010 at 10:47 AM, Ko, Stephen S <[email protected]> wrote:
> Hi Bhanu,
>
> Similar goal can be achieved by ifconfig:
>
> ifconfig eth8 down
> ifconfig eth8 hw ether <your address>
> ifconfig eth8 up
>
> Is there a particular reason why you are trying to do this in EEPROM?
>
> Thanks,
> Stephen
>
> -----Original Message-----
> From: y bhanu [mailto:[email protected]]
> Sent: Monday, December 27, 2010 8:37 AM
> To: [email protected]
> Subject: Re: [E1000-devel] 82599 ixgbe+ ethtool MAC address offsets
>
> Hi guys,
>
> I need a simple way lof burning new MACs to my 82599 (10 G) device.
> Is there a better way of doing it?
>
> Any help is greatly appritiated.
>
> Thanks,
> Bhanu
>
> On Friday, December 24, 2010, y bhanu <[email protected]> wrote:
>> Hi Guys,
>>
>> I am driving the 10 Gigabit PCI Express Intel(R) Network Card I have
>> with ixgbe driver I download from Intel website.
>>
>> It brings up both the devices on the Card and works fine.
>>
>> I would like to write my own MAC addresses to these devices.
>> I tried used the ethtool to write the MAC addresses.
>> both these devices come up as eth8 and eth9.
>>
>> I found that I have to use eth8 to writes MAC both(eth8 and eth9)
>> devices. I am using following offsets to program the MACs. Am I doing
>> it right?
>>
>>     OFFSET1=0x33C    // MAC for eth8
>>     OFFSET2=0x360    // MAC for eth9
>>
>> I write each byte in a script using something like:
>> ethtool -E eth8 magic $magic offset $offset value 0x$value
>>
>> Any pointers are much appreciated.
>>
>> Thanks
>> bhanu
>>
>
> ------------------------------------------------------------------------------
> Learn how Oracle Real Application Clusters (RAC) One Node allows customers
> to consolidate database storage, standardize their database environment, and,
> should the need arise, upgrade to a full multi-node Oracle RAC database
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> E1000-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/e1000-devel
> To learn more about Intel&#174; Ethernet, visit 
> http://communities.intel.com/community/wired
>

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to