NDK Change Log

Table of Contents

NDK 3.61

Bugs

ID Summary
NDK-392 General documentation updates
NDK-390 TI toolchain versions in release notes are incorrect
NDK-387 NDK's general syscfg module does not pass configuration to stack init hook
NDK-382 NDK services create memory leak when exiting their tasks
NDK-381 Broken link in ConfigDoc.html's DHCP.dhcpClientPcbServer description
NDK-380 Users cannot rebuild A53 libraries

Enhancements

ID Summary
NDK-353 Add M33F (TICLANG) library support

NDK 3.60

Bugs

ID Summary
NDK-322 Rename NDK_RegisterHook and NDK_getsockctx to conform to naming conventions
NDK-319 Possible double free if TLS handshake fails
NDK-318 SlNetIfNDK should use POSIX sem's rather than pthread_mutexes
NDK-316 Remove SysConfig-generated code's dependency on Display
NDK-315 Sockets do not remove themselves from the fd table if not closed through slnetifndk
NDK-314 Changing SysConfig IP addr config from static to dynamic causes build failure
NDK-92 return value of NIMU registered init function not checked
NDK-29 Remove the need for Telnet users to supply VerStr symbol

Enhancements

ID Summary
NDK-309 Enable NIMU drivers to offload IPv4 Checksums to hardware
NDK-297 Provide SysConfig support for configuring the NDK's DHCP Server Module
NDK-296 Provide SysConfig support for configuring the NDK's NAT Module
NDK-295 Provide SysConfig support for configuring the NDK's DNS Module
NDK-294 Update docs with info on Selective Acknowledgement feature
NDK-270 Extend C-ROV NDK socket support
NDK-238 Provide SysConfig support for configuring the NDK's Telnet Module

Compatibility Notes

NDK 3.60 is mostly compatible with 3.50, with the following exceptions:

NDK 3.50

Bugs

ID Summary
NDK-290 Shallow copy of deep object in ti_ndk_config_ip_init()
NDK-289 Fix return codes in slnetifndk sockopt translation
NDK-284 Update ti.ndk.config package to load POSIX Settings module
NDK-275 SlNetSock_getLocalName() broken when using NDK
NDK-274 Broken links in API Guide's Table of Contents
NDK-268 Access to ti_ndk_socket_fdtable must be atomic
NDK-251 NDK_socket/accept needs to honor config parameter maxSockFileDesc
NDK-228 Release notes link to benchmarks broken
NDK-218 Update TcpPrSetOption() to allow SACK to be disabled

Enhancements

ID Summary
NDK-283 Add NDK 2.x to 3.x Migration Guide
NDK-276 SysConfig - Place NDK's Modules in their own category
NDK-269 Update docs to improve IPv6 usability
NDK-263 Minor documentation clarifications

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.

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
Previous Name New Name
NOERROR NDK_DNS_NOERROR
FORMERR NDK_DNS_EFORMERR
SERVFAIL NDK_DNS_ESERVFAIL
NXDOMAIN NDK_DNS_ENXDOMAIN
NOTIMP NDK_DNS_ENOTIMP
REFUSED NDK_DNS_EREFUSED
OVERFLOW NDK_DNS_EOVERFLOW
MEMERROR NDK_DNS_EMEMERROR
SOCKETERROR NDK_DNS_ESOCKETERROR
NODNSREPLY NDK_DNS_ENODNSREPLY

NDK 3.30

Bugs

ID Summary
NDK-244 Translate address family in SlNetIfNDK
NDK-243 Allow servers to request client authentication
NDK-237 TLS handshake fails when the server requests a local certificate but none is provided
NDK-234 inet_ntop() does not null terminate strings correctly for IPv6
NDK-232 Call Sock6CleanPcb() when an IPv6 address is removed and/or IPv6 is deinitialized
NDK-230 Potential crash if client on a closed, lingering socket sends TCP_RST
NDK-225 Potential crash when sockets linger and the stack is shut down
NDK-221 Broken links in Users and API Guides
NDK-205 Add NDK_ prefix to BIGENDIAN macro
NDK-200 Add NDK_ prefix to global stats variables
NDK-36 add llEnter/llExit around calls to SockCleanPcb()

Enhancements

ID Summary
NDK-206 Update preprocessor big endian detection for all supported compilers
NDK-127 Move getaddrinfo and freeaddrinfo into NS

Compatibility Notes

NDK 3.20

Bugs

ID Summary
NDK-208 Change incorrect use of pthread_self() API in example code of documentation
NDK-71 NDK BSD fd_set type overridden by sys/types.h shipped with BIOS

Enhancements

ID Summary
NDK-216 Handle big endian detection properly for new tool chains
NDK-190 NDK documentation updates
NDK-184 Support SlNetIfNDK_getConnectionStatus()
NDK-175 Make NDK callable from any thread
NDK-171 Update NIMU IOCTL to support query of driver/interface link status
NDK-55 Convert NDK Users Guides from pdf to html (via markdown)

Compatibility Notes

NDK 3.10

Bugs

ID Summary
NDK-201 udpecho does not receive correct payload
NDK-197 accept() must support NULL address and address_len params
NDK-192 NDK_bind needs to check for NULL arguments passed
NDK-183 Race condition in SlNetIfNDK_startSec

Enhancements

ID Summary
NDK-198 SlNetIfNDK should return more specific error codes when possible
NDK-196 Add NDK_ prefix to all network byte order macros
NDK-189 SlNetSock-using apps shouldn't require mbedtls footprint if they don't use it

Compatibility Notes

NDK 3.00

Bugs

ID Summary
NDK-181 NDK timeval struct conflicts with definition in GCC 6.x tool chain
NDK-167 Fix memory leak in socket clean up code
NDK-130 Remove conflicting bzero and bcopy definitions from the NDK
NDK-120 NDK should support/use actual integer file descriptors for socket APIs
NDK-119 Freeing invalid sockets causes crash
NDK-67 Various NDK definitions (pipe and fd macros) conflict with the same ones that are shipped in the compiler
NDK-61 possible race condition in TcpPrDetach causes NULL ptr dereference
NDK-41 NDK interrupt module creates a 256 byte array to store a single interrupt
NDK-17 Must update NDK list_* APIs to have a function pre-fix

Enhancements

ID Summary
NDK-169 Remove NDK's (light) ROV support
NDK-168 Remove C66 big endian libraries
NDK-155 Enable FreeRTOS support in NDK
NDK-151 Add mbedtls support to NDK
NDK-142 Add MSP432E support to NDK
NDK-140 Add support for 32-bit and 64-bit Linux targets in NDK
NDK-138 Remove SNTP from NDK (as it is moving to Network Services)
NDK-128 mmBulkAlloc should call malloc() NOT Memory_alloc()
NDK-126 Remove NDK local typedefs (e.g. UINT32) and use C99 standard types
NDK-124 NDK should use system wide errno
NDK-115 MSG_NOSIGNAL is undefined
NDK-103 Update OS layer to use POSIX APIs
NDK-73 use GNUC preprocessor constant, not default #else, for GNU compiler specific code
NDK-70 ARP table behavior implemented by SDOCM00107816 should be default behavior in NDK
NDK-20 remove Interrupt_add() and related APIs

Compatibility Notes

NDK 3.x has undergone significant changes from NDK 2.x, and as such, anyone upgrading from a previous NDK 2.x release will require user changes. A brief summary of these changes include: