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.

About NDK operation when receiving ARP .

Other Parts Discussed in Thread: AMIC110, SYSBIOS

I have two versions of NDK installed on a device and are evaluating TCP / IP.

・ Ndk_2_25_01_11

・ Ndk_3_40_01_01

Multiple devices are connected to the switching HUB.

In the case of normal communication, there is a response within 1ms to the transmission from the host,

When ARP is sent from one device, the response time of another unrelated device is delayed (about 200ms).

It occurs in ndk_2_25_01_11, but it does not occur in ndk_3_40_01_01. Did you fix it in the process of version upgrade?

I am being asked to explain why.

  • Hello Kenichi-san,

     What processor are you using, please?

    Arigato,

    ~Leonard  

  • Thank you for contacting me.

    I am using AMIC110.

  • Thank you for contacting me.

    I am using AMIC110.

  • Hi Tomiiyama-San,

    Few questions:

    1. I assume you are using the NDK with a processor SDK RTOS release (that has the driver layer implemented). Is the driver layer (PDK version) same between two NDK versions that you are trying?

    Note that the the specific combinations of SYS BIOS and XDC versions also go along with the NDK. They are packaged in the RTOS release.

    Just want to make sure you are not mixing and matching the versions of SYSBIOS, XDC and PDK.. Please provide further details on this to comment further.

    2. What is the Processor SDK RTOS version you are using for AMIC110?

    3. I checked the bug fixes in NDK 3.40.1.1 and did notice something related to ARP getting fixes in NDK 3.0:

    Below issue (NDK-70) is fixed starting from NDK 3.0

    NDK-70 issue: e2e.ti.com/.../rtos-ndk-and-tcpip-stack-behavior

    Here is the NDK change log for your reference on 3.40.1.1 for other fixes

    NDK 3.40

    Bugs

    ID Summary
    NDK-262 Translate TCP options in SlNetIfNDK
    NDK-261 Add NDK prefix to TCP constants
    NDK-260 Error codes in serrno.h need to be prefixed with NDK_
    NDK-259 Add support for ENETDOWN in SlNetIfNDK
    NDK-257 Remove documentation for APIs no longer present in NDK
    NDK-252 Add support for MSG_PEEK and other missing flags in SlNetIfNDK_recv
    NDK-240 Update DNS macros to have NDK_ prefix
    NDK-233 Add support into SlNetIfNDK for SO_BROADCAST option
    NDK-135 check for NULL pointer before deref in IPv6 route code

    Enhancements

    ID Summary
    NDK-242 Move inet_ntop and inet_pton functions from NDK and into NS
    NDK-199 Add C-ROV support into NDK
    NDK-121 Add A53F gcc support
    NDK-105 Remove support for several legacy targets (non-gcc A8, M3, non-TI M4)

    Compatibility Notes

    This release contains several compatibility breaks, which may require users to update and rebuild their source code.

    • To address NDK-261, the following TCP macro names were changed. If your code contains references to any previous macro name, it must be updated to prepend NDK_ to the name:
    Previous Name New Name
    TCP_NODELAY NDK_TCP_NODELAY
    TCP_MAXSEG NDK_TCP_MAXSEG
    TCP_NOPUSH NDK_TCP_NOPUSH
    TCP_NOOPT NDK_TCP_NOOPT
    TCP_SACKPERMITTED NDK_TCP_SACKPERMITTED
    TCP_MAXRTT NDK_TCP_MAXRTT
    • To address NDK-240, the following DNS macro names were changed. If your code contains references to any previous macro name, it must be updated to prepend NDK_ to the name:
    Previous Name New Name
    NOERROR NDK_NOERROR
    FORMERR NDK_FORMERR
    SERVFAIL NDK_SERVFAIL
    NXDOMAIN NDK_NXDOMAIN
    NOTIMP NDK_NOTIMP
    REFUSED NDK_REFUSED
    OVERFLOW NDK_OVERFLOW
    MEMERROR NDK_MEMERROR
    SOCKETERROR NDK_SOCKETERROR
    NODNSREPLY NDK_NODNSREPLY
    • To address NDK-260, all of the error code macros found in ti/ndk/inc/serrno.h have been renamed to have NDK_ prepended to them.
      • For example, EINVAL has been renamed and is now NDK_EINVAL.
      • Similar for all other error macros found in serrno.h
      • If your code contains references to any of these macros, you must update your code to use the new names and rebuild.
      • Refer to ti/ndk/inc/serrno.h for further details.
    • To address NDK-242, the following APIs were moved out of the NDK and into the Network Services product:
      • inet_pton
      • inet_ntop
      • If your code contains references to these functions, you may not have to change the actual calls to these functions in your code (since these BSD/POSIX APIs are identically defined by the BSD/POSIX headers in Network Services). However, you may need to update include path and link libraries of your application build, so that Network Services header files and libraries are pulled in. Additionally (if not already being done), it may be necessary to add the appropriate Network Services runtime initialization calls into your application. Please refer to the Network Services documentation and examples for more details.
  • Hi Tomiiyama-San,

    Since there is no further activity, I am assuming the issue is resolved. I will sample the thread after couple of days and close it if there is no further questions on this.

    Thanks.

  • I'm sorry I didn't reply.

    We will consider switching to a new NDK in the future.

    Thank you very much.

  • Hi Tomiiyama-San,

    Thanks.. I will be waiting for your response. Will sample the thread after few more days.


    Thanks,

    Aravind