This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM2432: Profinet MAC Address behavior

Part Number: AM2432

Hi, 

I am using AM2432 with the Industrial SDK 11.00.00.08.

I have a question about managing MAC addresses with the Profinet protocol.

I have seen that starting from the MAC address given, the stack generates two other addresses by adding +1 and +2 to this address. So, for example, with a MAC address AC:D3:64:00:00:00, the ports will use AC:D3:64:00:00:01 and AC:D3:64:00:00:02. 

Is it correct to say that each device uses three MAC addresses in total? 

So, should I consider this when choosing the addresses with two devices in the same network? For example, if Device1 with address AC:D3:64:00:00:00 (with port MAC addresses AC:D3:64:00:00:01 and AC:D3:64:00:00:02) and Device2 AC:D3:64:00:00:01 (with port MAC addresses AC:D3:64:00:00:02 and AC:D3:64:00:00:03), could there be any address conflict?

Thank you,

Best Regards,

Andrea

  • Hello Andrea,

    you are right, each PROFINET device uses 3 MAC addresses as you described above and you should keep all these addresses unique because some protocols within PROFINET environment (like LLDP, MRP, PTCP) need port-level addressing and duplicates of the same MAC can lead to problems.

    Kind regards,
    Kamil 

     

  • Hello Kamil,

    #1. There is a unique MAC address of each AM243x device, Is it used in the Industry SDK Profinet demo/example?

    #2. What is the suggestion for customer to obtain and store the reset 2 MAC address if the SOC efused one can be used. otherwise, how to get 3 MAC address?

  • Hello Tony,

    1. Yes, the MAC address is stored in EEPROM of the device. You can read it by calling APP_HW_BOARD_INFO_getMacInfo() after stack initialization is done.

    2. The other two MAC addresses are simply +1 and +2 of the MAC address obtained in 1.

    Kind regards,
    Kamil

  • Hi Kamil,

    #1. I mean unique MAC Address of each device stored in register, not in board's EEPROM. can it be used as Profinet MACaddress?

    Assign and store MAC address to EEPROM need extra step on production line, customer thinks it is time-consuming and labor-intensive.

    #2. Is simply adding 1 or 2 to the other two MAC addresses a common or simplified approach, how to guarantee uniqueness and won't conflict.

  • Hi Tony,

    1. I will discuss the uniqueness of the port MAC addresses derived from the one stored in CTRL_MMR0 register with the responsible team and get back to you. However, customers usually don't use this MAC address. They rather decide themselves the easiest way to create and maintain their own MAC address list.

    2. Profinet stack gets the device's MAC address from the user application and sets the port MAC addresses by adding 1 and 2. This approach is common and static in our library.

    Kind regards,
    Kamil

  • I will discuss the uniqueness of the port MAC addresses derived from the one stored in CTRL_MMR0 register with the responsible team and get back to you.

    No need to discuss, it was discussed and confirmed the CTRL_MMR0/1 MAC address is unique per unit.

    My question is why TI Profinet demo/example doesn't use this free and unique MAC address.

    However, customers usually don't use this MAC address. They rather decide themselves the easiest way to create and maintain their own MAC address list.

    What is the benefit to create and maintain their own MAC address list?

    Is it because other competitor's solution doesn't have the pre-effused MAC address, and don't know TI device has it, so they still use the old approach?

    From my customer's opinion, it is inconvenient to maintain MAC address by themself, it need a EEPROM which increase cost, PCB size, and additional step to blow it. 

    Profinet stack gets the device's MAC address from the user application and sets the port MAC addresses by adding 1 and 2. This approach is common and static in our library.

    Is it just a common approach in TI solution, or a common approach for competitor's solution also? 

    Can it ensure unique by adding 1 and 2?

    How do you think change the Profinet demo to use CTRL_MMR0/1 MAC address, it will be a benefit of TI solution. 

  •  it was discussed and confirmed the CTRL_MMR0/1 MAC address is unique per unit.

    Correct

    My question is why TI Profinet demo/example doesn't use this free and unique MAC address.

    Reason is simple. PROFINET needs 3 MAC addresses per ICSSM/G. E-fuse has only 1 MAC address and meant for use with CPSW use cases originally. E-fuse needs to be there in all parts and not ICSS enabled variants, so this will lead to wastage of MAC addresses. Many customers use MAC address for their unique identification, if customer uses TI MAC address, then in wireshark logs etc. their product will appear as Texas Instruments, majority of customers do NOT prefer this as this will be difficult to debug issues etc. in a large network.

    it is inconvenient to maintain MAC address by themself, it need a EEPROM which increase cost, PCB size, and additional step to blow it. 

    They can keep this SPI or OSPI flash along with image, not necessary to have a dedicated EEPROM just because TI EVM is doing this way. Our EVMs need I2C EEPROM anyway for board identification purpose and we are reusing the same non-volatile memory for MAC address storage

    How do you think change the Profinet demo to use CTRL_MMR0/1 MAC address, it will be a benefit of TI solution. 

    As explained above, we do NOT think this is a scalable option for either TI or customers !

  • It is clear to me now.

    Another question may not belong to TI, but can share with us if you know.

    When buy MAC address, will it be a sequential pool? when use +1 and +2 for rest 2 MAC address, each device MAC address should be set to +3 after each one to avoid confliction?

  • When buy MAC address, will it be a sequential pool? when use +1 and +2 for rest 2 MAC address, each device MAC address should be set to +3 after each one to avoid confliction?

    From what I heard - normally its sequential pool and you are right.

  • Hello Kamil, 

    I have another question. Is the behavior of +1 and +2 inherited from the Profinet specifications, or is it a design choice made by the Profinet stack? Would it be possible, hypothetically, to request a custom Profinet Stack that implements a different method for obtaining the MAC addresses of the ports?

    Thank you,

    Best Regards,

    Andrea

  • Hello Andrea,

    From the specifications, I could find that the bridge Filtering Database (which also applies to the end-station) assigns port MAC addresses are sequential values of the interface MAC address:



    Would you please explain why aren't you able to assign sequential MAC addresses? in general, this approach is recommended by Profinet community and it is widely adopted. If you are interested in a custom solution and would like us to do an initial evaluation of viability and efforts of implementing this, please reach out to your regional sales representatives.

    Kind regards,
    Kamil