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_CFG for 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() and NetSock_CfgTxQ_Size() can be called after NetSock_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.