Version 3.04.xx
Version 3.04.06
Release Date
December 7th, 2018
Requirements
µC/CPU V1.30.00
µC/LIB V1.38.00
µC/Common V1.01.00
New Features
(463) Implemented BSD getsockname().
(465) Implemented BSD inet_pton() and inet_ntop().
Bugfixes
(507) Fixed issue in NetIF_802x_AddrMulticastProtocolToHW() where 'addr_protocol_v4' array elements might be used uninitialized.
(508, 509) Fixed issue in NetARP_CacheAddPend() and NetARP_CacheProbeAddrOnNet() where the call to NetCache_CfgAddrs() could return null to 'p_cache_addr_arp' and then be derefenreced.
(510) Fixed issue in NetIGMP_TxMsg() where array 'Unused' of size 1 may use more than one index value.
(512) Fixed issue in NetCache_AddResolved() where the call to NetCache_CfgAddrs() could return null to 'pcache_addr_arp' and then be dereferenced.
(557) Fixed build error when NET_SOCK_CFG_SEL_EN was set to DEF_DISABLED.
(410) Fixed issue where NET_SOCK_FLAG_SOCK_SECURE_NEGO was being cleared on incorrect socket inside NetSock_Accept().
(444) Fixed issue with ARP threshold mechanism which was allowed to be configured higher than the actual number of transmit buffers configured for the interface.
(544) Fixed issue in NetCache_CfgAddrs() where 'p_err' was not updated before returning DEF_NULL after calls to NetCache_GetParent().
(441) Fixed "label was declared but never referenced" warning in NetIPv6_AddrAutoCfgDis() if argument checking is disabled.
Version 3.04.05
Release Date
September 14th, 2018
Requirements
µC/CPU V1.30.00
µC/LIB V1.38.00
µC/Common V1.01.00
Bugfixes
(462) Fixed implicit declaration of NetBSD_Init() in net.c if NET_SOCK_DFLT_BSD_EN is set to DEF_DISABLED in net_cfg.h.
(492) Fixed issue where the network lock gets acquired twice in BSD shutdown().
(494) Fixed build error in net_fs_v4.c/h where fs_inc.h was being included. As of uC/FS V4.07.04, fs_inc.h is no longer part of the module.
Version 3.04.04
Release Date
June 15th, 2018
Requirements
µC/CPU V1.30.00
µC/LIB V1.38.00
µC/Common V1.01.00
New Features
(372) Implemented BSD gethostname().
(373) Implemented BSD sethostname().
(374) Implemented BSD gai_sterror().
(375) Implemented BSD getaddrinfo().
(376) Implemented BSD freeaddrinfo().
(377) Implemented BSD getpeername().
(378) Implemented BSD shutdown().
Bugfixes
(178) Fixed issue where NetIPv6_CfgAddrAddHandler() returned incorrect error causing the address set by NetIPv6_CfgAddrAdd() from the application to be removed from the address table.
(179) Fixed incorrect description in NetDad_Start()'s function header error returns.
(331) Fixed issue in GEM driver that presumed that all PHYs connected to the controller had to be in (G)MII mode.
(342) Fixed issue where NetApp_SetSockAddr() cleared p_sock_addr incorrectly.
(344) Fixed issue where NetIF_Stop() would overwrite the value of p_err in exit_release.
(345) Fixed issue where NetIF_Ether_IF_Start() wouldn't deallocate resources in case of an error after p_phy_api→Init() or p_phy_api→LinkStateSet().
(346) Fixed issue where NetTmr_Set() and Get() would check for null on an uninitialized p_tmr.
(347) Fixed issue where a CPU_SW_EXCEPTION would be thrown if p_tmr→Fnct was null in NetTmr_Get() and Set(). Instead, an error is returned now.
(348) Shortened the length ofcriticalsection in NetTmr_Get().
(351) Fixed issue where NetTCP_ConnFreeHandler() wouldn't abort the connection's queues before clearing them.
(352) Removed unreachable statement in NetSock_ConnAcceptQ_Init().
(353) Removed unreachable statement in NetSock_TxDataHandler().
(354) Removed unreachable statement in NetSock_RxDataHandler().
(356) Fixed issue where the call to NetTCP_GetTxDataIx() in NetTCP_TxConnReset() would pass an uninitialized proto_type as argument.
(357) Fixed issue where the value of timeout_tick would get overwritten in NetARP_CacheReqTimeout().
(364) Fixed issue in GEM driver where an implicit cast from LIB_ERR to NET_ERR was made in NetDev_RxDescInit() resulting in strange errors being returned from NetIF_Start().
(365) Fixed issue in GEM driver where a memory leak would occur when stopping the interface.
(427) Fixed issue where NetSock_Sel() would return without releasing the global network lock.
(433) Fixed issue where NetSock_ConnCloseWait() was being called when TCP connection is in LISTEN, SYN-RECV, SYN-TX, and FREE states.
Improvements
(149) Made possible to remove net_bsd.c and/or the standard type definition in net_bsd.h from the build to avoid duplication with some compilers that have BSD functions defined in stdio.h.
(284) Performance improvements to GMAC driver.
Version 3.04.03
Release Date
December 8th, 2017
Requirements
µC/CPU V1.30.00
µC/LIB V1.38.00
µC/Common V1.01.00
Bugfixes
(277) NetSock_SelDescHandlerXX() functions were returning DEF_YES when they should have returned DEF_NO when checking for the sockets in use status. This has been corrected.
(278) NetSock_Sel( ) was returning the wrong error code. It now correctly returns NET_SOCK_ERR_NOT_USED when one of the three socket descriptors is not used (or Closed).
(65)EtherC-RX driver fails after stopping the interface. When stopped then started again this will no longer be a problem.
(141) NetDev_AddrMulticastAdd( ) was assigning an illegal value to mac_octet variable. Corrected but needs to have ahardwarehashtablepresentin FPGA fabric for proper use. Still no support for TSE “Small MAC” controller variant.
(226) When NET_SOCK_CFG_SEL_EN is disabled several build errors are raised. Properly enclosed functions to remove these dependency errors.
(241) Resolved issue with potential memory leak created in NetSock_Sel( ) function.
(247) NetCache_AddrGet( ) was failing to get cache entryfromendofcache list. Traversing listinwrongdirection.
(280) i.MX6 UltraLite faults with data abort in NetICMPv6_TxMsqReqHandler( ) when preparing an NDP Router Solicitation type message.
(5)DHCPc– Subnet mask passed in NetIPv4_CfgAddrAddDynamic( ) from DHCPc_AddrLocalLinkCfg( ) is incorrect. Address 169.254.0.0 needed to be passed for correct behavior.
Improvements
(58) SLIST macros were removed from the TCP/IP stack to improve performance and clarity.
(63)recv( )andrecvfrom( ) timeouts did not comply with POSIX for BSD socket compatibility
(182) Removed any mention of NET_TMR_FLAGS which was no longer used in the stack.
(235) Removed misspelled #defines “CHUNCKED” and “BLOKING” in the HTTP and TCPIP stack. Correctedwithappropriatelyspelledname.
(250) Unused variable in MACNet and FEC drivers CPU_SR_ALLOC( ) in NetDev_Rx( ). This generates extra warnings and easily removable.
Version 3.04.02
Release Date
August 17th, 2017
Requirements
µC/CPU V1.30.00
µC/LIB V1.38.00
µC/Common V1.01.00
µC/DNSc V2.01.00 [Optional]
Mocana nanoSSL V6.3.00 [Optional]
Bugfixes
[6] Fixed the misspelled constant, “NET_CFG_LINK_STATE_POLL_DISBALED”.
[16] In the TI_EMAC driver, there was a race condition with the Tx Q related to the EOQ flag.
[64] Incorrect default Max Segment Size (MSS) was used when both IPv4 and IPv6 were enabled.
[76] The function NetIPv4_GetAddrSrcHandler() failed to forward ICMP packets outside of the LAN.
[131] Build error when NET_TCP_CFG_EN was settodisabledinnet_cfg.h.
[138] Tx/Rx race conditions intheMACNetandFEC drivers.
[140] MDIO fixes and minor improvements for theMACNetdriver.
[142] Corner case for the TI_EMAC driver would shut down the driver when experiencing high throughput.
[161] Net Tmr List corruption due to missing critical sections.
New Features
[86] Added 64-bit GEM driver.
[86] Added DP83867IR PHY driver.
[137] Added cache support to the FEC driver.
[139] Added big-endian support to theMACNetdriver.
[160] Added driver for the Xilinx AXI Ethernet Lite controller.
Miscellaneous
[14] The return values described in the function header for NetICMPv4_TxEchoReq() were DEF_OK and DEF_FAIL. In reality, the function returns the ICMPv4 echo request sequence number or NET_ICMPv4_REQ_SEQ_NONE.
Version 3.04.01
Release Date: 2016-10-19
Requirements
µC/CPU V1.30.00
µC/LIB V1.38.00
µC/Common V1.01.00
µC/DNSc V2.01.00 [Optional]
Mocana nanoSSL V6.3.00 [Optional]
New features & improvements
Add support for multicast membership in socket options.
Add C++ guards around API functions.
API Changes
None.
Bug Fixes
Added safeguards to the buffer queuing in ARP and NDP layers.
Fixed issue in NetSock_FreeHandler() : Semaphore Set was done before Semaphore Abort.
Fixed small issues with the new ARP cache renew feature.
Fixed various issues with the socket accept queue :
NetSock_Accept() was in some conditions blocking even in non-blocking mode.
NetSock_Accept() was taking the first connection in the Accept Queue regardless if it was the one for which the TCP handshake was complete.
NetSock_Sel() would consider a connection ready for Socket Accept even if another event caused the Socket Select to unlock.
Fixed some IPv6 address assignments that wasnotusingMem_Copy().
Fixed some compilation warnings.
Version 3.04.00
Release Date: 2016-07-15
Requirements
µC/CPU V1.30.00
µC/LIB V1.38.00
µC/Common V1.01.00
µC/DNSc V2.01.00 [Optional]
Mocana nanoSSL V6.3.00 [Optional]
New features & improvements
Added SSL/TLS Mutual Authentication support:
New API :
NetSock_CfgSecureClientCertKey()
Updated Mocana's port for NanoSSL v6.3 and Mutual Authentication
API Changes
Modified structure
NET_APP_SOCK_SECURE_CFGfor Mutual Authentication:Added field
MutualAuthPtr
Bug Fixes
In Source Code
Fixed possible RX buffer leak in function
NetTCP_RxPktConnHandler().Modified the ARP cache to allow upper layer to send packet even if the cache entry is renewing.
Fixed issue in
NetSock_Sel()related to double release of Globlal Network Lock.Fixed usage of wrong timeout value for the TCP connection in state LAST-ACK.
Fixed global locking issue in
NetICMP_TxEchoReq()function.Fixed issue in BSD function recv(): buffer's size argument passed could be bigger than maximum of type
CPU_INT16U.Added modifications so that functions
NetSock_CfgRxQ_Size()andNetSock_CfgTxQ_Size()can be called afterNetSock_Open()for a client type application.Fixed issue in IPv6 SLAAC process : Process would stall if an IPv6 router advertisement was received before the IPv6 router solicitation that is sent during the process.
Fixed issues in IPv6 DAD module :
DAD timeout value was increased to insure that the DAD process had time to complete.
In internal function
NetIPv6_CfgAddrAddHandler(), 'if' statement was correctly modified to an 'else if'.
In Drivers
TI-EMAC :
Fixed issue in MAC address assignment.
Fixed issue related to value of soft reset timeout.