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.

NDK - two network interfaces on one DSP (two IP addresses)?

Other Parts Discussed in Thread: OMAP-L138

I'm trying to make two diffrent interfaces or just two different IP addresses on one DSP (TMS320). I was trying to do it with two sockets and use for one of then function bind with different IP adress. I can send frames, which has source IP address, which I chosen, but I can't receive anything on that socket or even ping that IP address. Is there any way to do something like that?

Thanks for help

  • Which version of BIOS and NDK are you using?

  • BIOS - 5.33.03

    NDK - 1.93.00.09 08-16-2007

  • Hi Yaro Yaro,

    Unfortunately multiple interfaces are not supported in NDK 1.93 (NDK 1.93 is a pretty old version by now).

    Support for multiple interfaces was not added until NDK 1.94, when the Network Interface Management Unit (NIMU) was added.

    So, you would need to upgrade your NDK in order to take advantage of this.

    Which hardware device are you using?

    NDK releases can be found at the following link, however based on your hardware I will recommend an upgrade path for you.

    Steve

  • Thanks for the reply.

    I use TMS320 C6424. I don't see any link in your post, can you add the link where I can upgrade NDK from once again?

  • I found ndk downloads here: http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/NDK/index.html

    I'm not sure which version of NDK higher that 1.93 will be compatible with my hardware. There is no information about that. Or maybe everyone will be compatible?

  • Hi Yaro Yaro,

    Unfortunately the C6424 driver was not ported to support the NIMU architecture that exists in the later versions of the NDK. (Again, in order to support multiple interfaces, the old "LL" architecture was redesigned into the NIMU architecture.  The "LL" architecture only supports a single interface).

    So, if you were to upgrade to a later NDK, you still would not be able to achieve this because the 6424 driver is not NIMU compliant.

    But, what you could do is port an existing (NIMU based) driver that is similar to your hardware to use the NIMU APIs and run on the 6424.

    Since you currently have NDK 1.93, I would suggest starting with downloading NDK 2.0.0, which contains drivers for several hardware platforms.

    I just did a quick compare of the C6424 LL driver against the evmDM6437 LL driver and they are very similar.

    So, you might start with the 6437 NIMU driver that's shipped in the NDK 2.0.0 release.

    Steve

  • Thank you for your help, it's very helpful but in meanwhile I was trying to find another solution of that problem on my version of NDK. I found the NtAddNetwork command in NDK documentation, but there is a note to consider to use the configuration entry with CFGTAG_IPNET parameter so I did it. Here's my code:

    CI_IPNET NA;
    NA.IPAddr = htonl(0xc0a802c0); // example IP address (192.168.2.192)
    NA.IPMask = htonl(0xFFFFFE00); // example mask (255.255.254.0)
    CfgAddEntry( hCfg, CFGTAG_IPNET, 1, 0, sizeof(CI_IPNET), (UINT8 *)&NA, 0 ); // adding the network, where hCfg is the handle of NDK configuration

    The is one condition to get that work. The added IP address must be in a different subnet than the first IP address which NDK is using, because in other way you'll get an error with "binding ignored". Maybe someone else will heve the same problem, so I showed my solution.

  • Hi Steven,

    I'm using NDK v2.23 and SYS/BIOS v6.35.
    And I'm planning to use two difference IP addresses that binded a difference sockect each on ARM core in OMAP-L138. The IP addresses are in the same subnet.

    If I can do it, could you please let me know how I can?

    Thanks in advance for your cooperation.

    Regards,
    j-breeze

  • Unfortunately it simply isn't supported at this time.  The following enhancement request has been filed to track this:

    SDOCM00101855 Add IP aliasing support to NDK

    The best I can offer you at this time is the work around mentioned previously, with the limitation of the IP addresses being on different subnets.

    Steve

  • Hi Steve,

    Thank you for your advice and filing the request.  I understood it.

    Regards,
    j-breeze

  • Hi Steve,

    I'd like to ask you a question again. I found an old post below.

      o Is IP Aliasing supported by the NDK?
        (http://e2e.ti.com/support/embedded/tirtos/f/355/p/270139/944645.aspx)

    According to the post, it seems that the request SDOCM00101855 was filed over one year ago.

    So, is it still available? 

    Regards,
    j-breeze

  • Hi j-breeze,

    Unfortunately, IP aliasing is still not available in the NDK.  However, given a recent surge in requests for it, we are now looking at how to best fit it into the schedule for the NDK.

    Steve

  • Hi Steve,

    Thank you for your prompt reply.
    One of my customer wants it for their product under development.

    Regards,
    j-breeze

  • Hi,

    what's the status of the  IP aliasing development for NDK?

     

    Regards,
    Timo

  • Hi Steve,

    Any updates?
    Could you please let me know, if you have any info about  IP aliasing?

    Thanks in advance for your cooperation.

    Regards,
    j-breeze