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: How to use Multicast on C6678?

Part Number: TMS320C6678

Hi, are there any help docs or example codes for multicast usage on c6678? Does the newest NDK and c6678 network drivers support Multicast? Thanks.

  • Hi,

    Here is the NDK documentation:
    www.ti.com/.../spru524j.pdf
    processors.wiki.ti.com/.../Processor_SDK_RTOS_NDK

    As per the TI Network Developer's Kit (NDK) v2.25 API (first link), I understand that it supports multicast.

    Best Regards,
    Yordan
  • Hi, Yordan. thanks for your reply. But I cant find the contents or examples for multicast on c6678, can you give me more suggestions? thanks.
  • Hi,

    Here is what I found in the docs located in the NDK folder:

     From TI Network Developer's Kit (NDK) v2.25 User's Guide (SPRU523J):

     "This library has been modified to additionally support NIMU core architecture, VLANs, IPv6, Jumbo

    Frames and Raw Ethernet sockets. The NIMU core replaces the Ethernet and IF objects that existed

    previously and provides the following services:

    • Generates unique names and identifiers for each NIMU network interface object. The unique name is

    an extension to the previous LL packet layer architecture which only used device indexes for

    identification.

    • Provides an interface used by the drivers to pass Ethernet packets up to the NDK core stack. The

    function supports handling of 802.3 and 802.1Q tags.

    Provides a configuration interface which allows the ability to configure receive filters/multicast

    addresses, etc. This is done through the IOCTL interface API." 

    From TI Network Developer's Kit (NDK) v2.25 Reference Guide (SPRU524J) if you search "multicast" you will find information: 

    "

    SO_REUSEPORT - Allows completely duplicate bindings by multiple processes if they all set SO_REUSEPORT before binding the port. This option permits multiple instances of a program to each receive UDP/IP multicast or broadcast datagrams destined for the bound port. 

    ..............

    IP_ADD_MEMBERSHIP - Specifies the multicast group to join. It accepts a struct ip_mreq parameter (as defined in RFC 3678) which specifies multicast group
    address that the application wants to join and the interface IP address to use for joining the multicast group

    .......

    Internet Group Management Protocol (IGMP) is designed to help routers in routing IP multicast traffic.

    The above is part of the things found in the reference guide. 

    From 

    Network Developer's Kit (NDK) Support Package Ethernet Driver (SPRUFP2B): 

    "

    The various APIs exposed by the three main layers—the NIMU-specific layer, mini-driver, and generic EMAC/MDIO CSL layer—can be classified based on their functionality into the following categories:
    • Initialization and Shutdown APIs. These APIs are called during Ethernet device start up to initialize the EMAC environment or during shutdown to bring down the Ethernet controller and its subsystems.
    • Configuration APIs. These APIs are called to get/set the EMAC configuration. The configuration APIs are generally useful in setting the following parameters:
    multicast configuration
    — receive filters on the Ethernet device

    You can use NIMU to implement your requirement for multicast. 


    Best Regards, 
    Yordan