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.

TMS320C6678: NDK multicast limitation

Part Number: TMS320C6678

Our design utilizes the TMS320C6678 and NDK 2.21.01.38. We are unable to establish more than 30 multicast streams using the NDK. An Application Note from 2007 on the TI website states that a maximum of 32 multicast groups are supported, www.ti.com/.../spraai3.pdf
However, our design depends on having hundreds of multicast groups supported concurrently.

• Would you be able to verify if this Application Note is still correct?
• Is the NDK limit based on performance limitations or just an arbitrary data structure size?
• Can the NDK limit be increased and what are the possible ramifications to the modification?

  • Hi Jason,

    I've forwarded this to the RTOS experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Hi Jason,

    Jason Kim2 said:
    We are unable to establish more than 30 multicast streams using the NDK.

    What problem did you encounter when trying to do this?

    ----

    From the NDK (high level stack, not driver) perspective, I can't see any reason for this limitation. However, the app note does mention that this limitation may also be present in the driver, as well.  The 6678 driver team would have to comment on that side of it.

    In the NDK, I see the limit being defined by a macro at line 48 of ti/ndk/stack/igmp/igmp.c:

    /* Max Groups */
    #define IGMP_MAX_GROUP  32

    It's then used to create an array of IGMP records (line 58):

    static IGMP_REC igmp[IGMP_MAX_GROUP];

    One limitation here would be memory, as each IGMP record is dynamically allocated using the NDK's mmAlloc() API.

    You should have all of the NDK source code in version 2.21.01.38, so you could increase the value for IGMP_MAX_GROUP and rebuild the NDK stack to give it a try.

    Steve

  • Steve,

    We were able to rebuild the NDK after increasing the IGMP_MAX_GROUP which allowed us to establish the required number of multicast streams for our application. Additionally, we do not see any performance issues due to this modification.