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()
- New API :
- Updated Mocana's port for NanoSSL v6.3 and Mutual Authentication
API Changes
- Modified structure
NET_APP_SOCK_SECURE_CFG
for Mutual Authentication:- Added field
MutualAuthPtr
- Added field
Bug Fixes
In Source Code
- Fixed possible RX buffer leak in function
- 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
and after
for a client type application.
- Fixed issue in IPv6 SLAAC process : Process would stall if an IPv6 router advertisement was received before the 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
, '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.