Skip to content

Commit 188364b

Browse files
author
Holden
committed
Squashed commit of the following:
commit 9abe2d1 Author: Emil Popov <[email protected]> Date: Sun Nov 5 22:52:32 2023 -0500 Changes the ND cache full behavior when the Neighbor Discovery cache fills up. (FreeRTOS#1040) * Changes the ND cache full behavior: If the Neighbor Discovery cache ever gets full, trying to store a new entry will overwrite the oldest existing entry. * Adds casting to avoid warnings --------- Co-authored-by: Emil Popov <[email protected]> Co-authored-by: Tony Josi <[email protected]> commit c8d9b70 Author: Tony Josi <[email protected]> Date: Fri Nov 3 14:47:16 2023 +0530 Update release script to add cleanup step (FreeRTOS#1038) * Add cleanup step in release script * update comment --------- Co-authored-by: Monika Singh <[email protected]> commit 7c129b6 Author: Emil Popov <[email protected]> Date: Fri Nov 3 04:14:32 2023 -0400 Fixes the allocation size when sending a neighbor solicitation packet to avoid having to always reallocate the buffer. (FreeRTOS#1039) Co-authored-by: Emil Popov <[email protected]> commit be2555b Author: Holden <[email protected]> Date: Wed Nov 1 03:03:52 2023 -0400 Improve Default Macros (FreeRTOS#782) * Delete duplicate default defines * Remove errno definitions that exist in projdefs.h * Clean & Organize FreeRTOSIPConfigDefaults.h * Move deprecated definitions to their own file * Definitions Documentation Improvements * Tracing default definitions improvements * Organize and add to deprecated definitions * Remove FreeRTOS_errno_TCP.h * Fixes for definitions updates * Address review comments * Start enforcing macro value limits and make some doc more succinct * enforce ipconfig macro bounds * repair config default and reduce unnecessary changes * Add more descriptions of ipconfigDRIVER_INCLUDED_RX_IP_CHECKSUM (FreeRTOS#947) * Fixes mDNS over IPv6. (FreeRTOS#949) Co-authored-by: Emil Popov <[email protected]> Co-authored-by: ActoryOu <[email protected]> Co-authored-by: Monika Singh <[email protected]> * remove enabled checks * Remove enable checks from trace macros * Update cmake sources * add missing defines * revert unnecessary changes * formatting * fix lexicon * fix build issue and remove deprecated macro usage from tests * fix build issues and formatting * disable pdFREERTOS_ERRNO_EAFNOSUPPORT check * update kernel submodule for tests * macro definition fixes * fix some test build issues * Temporary passing state * Fix unittest * Fix CBMC * Update CBMC proof * Update Macro comments * revert changes * Fix MISRA 4.4 * Fix MISRA 20.7 violation * Fix spell checker * Update Hein's comment --------- Co-authored-by: Holden <holden-zenithaerotech.com> Co-authored-by: ActoryOu <[email protected]> Co-authored-by: Emil Popov <[email protected]> Co-authored-by: Emil Popov <[email protected]> Co-authored-by: Monika Singh <[email protected]> Co-authored-by: ActoryOu <[email protected]> commit 1474378 Author: Hein Tibosch <[email protected]> Date: Wed Oct 25 12:02:25 2023 +0800 Give header files a uniform indentation (FreeRTOS#1034) * Give header files a uniform indentation * Uncrustify: triggered by comment. * A few more removals of /* ifndef ...*/ * After applying formattingChanges.patch * Undo indent to avoid huge white space changes * Undo more indent to avoid huge white space changes * Undo two more indent to avoid huge white space changes * Undo 15 more indent to avoid huge white space changes * Undo 3 more indent to avoid huge white space changes * Undo 4 more indent to avoid huge white space changes * Undo 3 more indent to avoid huge white space changes * It seems that core_cm55.h was not yet formatted * More files in MPS3_AN552 were not yet formatted. * And the last one * Uncrustify: triggered by comment. * Just a push to restart CI-checks * Placed some extern "c" comments again * Formatting fixes --------- Co-authored-by: GitHub Action <[email protected]> Co-authored-by: Soren Ptak <[email protected]> Co-authored-by: ActoryOu <[email protected]> Co-authored-by: Monika Singh <[email protected]> commit 8761f51 Author: Emil Popov <[email protected]> Date: Tue Oct 24 23:04:54 2023 -0400 SAME70 driver xTXDescriptorSemaphore issue (FreeRTOS#1033) * Fixes and issue with the SAME70 port where and error in gmac_dev_write() causes the counting xTXDescriptorSemaphore to not be returned and eventually exhausting it. * fix formatting * Allows release of the network buffer if gmac_dev_write() fails and the ero-copy driver is being used. Thanks @htibosch * Fix typo --------- Co-authored-by: Emil Popov <[email protected]> Co-authored-by: tony-josi-aws <[email protected]> Co-authored-by: ActoryOu <[email protected]> commit 2131f01 Author: Hein Tibosch <[email protected]> Date: Wed Oct 25 10:22:22 2023 +0800 STM32H7xx driver check result of HAL_ETH_Init v3 (FreeRTOS#1035) * STM32H7xx driver check result of HAL_ETH_Init v3 * One more change to networkInterface.c * Updating FreeRTOS kernel submodule * Once again commit kernel --------- Co-authored-by: ActoryOu <[email protected]> commit eac0d0c Author: ActoryOu <[email protected]> Date: Wed Oct 25 10:03:27 2023 +0800 Fix build combination test caused by kernel change (FreeRTOS#1036) * Fix build combination test caused by kernel change commit 56b3374 Author: Tony Josi <[email protected]> Date: Thu Oct 12 14:15:43 2023 +0530 Update STM32Hxx port to use HW MAC hashtable filter (FreeRTOS#970) * fix * MAC filter updated for DAD and IPv6 all nodes multicast * add more comments * fix formatting * fix comments * fix review comments * fix formatting * update review comments * enable multicast packets in MAC * use multi cast MAC filter * fix formatting * update naming and comments * update comments and formatting * rename function * fix formatting * fix spell check * Uncrustify: triggered by comment --------- Co-authored-by: GitHub Action <[email protected]> commit c0f5ba0 Author: Błażej Sowa <[email protected]> Date: Tue Oct 10 12:52:22 2023 +0200 Fix network down up process (FreeRTOS#1030) * Disable DHCP timer when network goes down * Don't stop checking the Network Timer * Fix network down when using RA * Revert "Don't stop checking the Network Timer" This reverts commit f5d8d98. * Add vSetNotAllNetworksUp function * Fix unit tests * Update comments * Store DHCPv4 socket locally for all endpoints * Add vDHCPStop and vDHCPv6Stop functions * Fix IP Utils tests * Fix most of DHCP unit tests * Fix formatting * Change vSetNotAllNetworksUp into a more generic vSetAllNetworksUp * Fix almost all of DHCP unit tests * Fix formatting * Add tests for vDHCPStop and vDHCPv6Stop functions * Fix formatting * Remove redundant MISRA comment * Set all fields of xAddress when binding DHCP socket * Fix unit test coverage of prvCreateDHCPSocket * Fix DHCP CBMC memory proof --------- Co-authored-by: Soren Ptak <[email protected]> Co-authored-by: Tony Josi <[email protected]> commit 3d5ee0e Author: Devaraj Ranganna <[email protected]> Date: Mon Oct 9 05:46:25 2023 +0100 Add Ethernet driver for Corstone-300 FVP (MPS3_AN552) (FreeRTOS#1009) * networkinterface: Add Ethernet driver for Corstone-300 FVP (MPS3_AN552) The Corstone-300 FVP models SMSC 91C111 Ethernet controller. Add a network interface based on CMSIS ethernet driver for SMSC 91C111. Signed-off-by: Devaraj Ranganna <[email protected]> * ci: Update spell-check dictionary Signed-off-by: Devaraj Ranganna <[email protected]> * networkinterface: Fix formatting issues Signed-off-by: Devaraj Ranganna <[email protected]> --------- Signed-off-by: Devaraj Ranganna <[email protected]> commit 160fa29 Author: Hein Tibosch <[email protected]> Date: Fri Oct 6 19:06:10 2023 +0800 Check minimum size of ICMPv6 packets (FreeRTOS#994) * Not all ICMPv6 packets have the same minimum length * More precise length checking * Repaired unit tests / coverage * Running uncrustify --------- Co-authored-by: Tony Josi <[email protected]> Co-authored-by: ActoryOu <[email protected]> Co-authored-by: kar-rahul-aws <[email protected]> Co-authored-by: Monika Singh <[email protected]> commit 16a74c3 Author: Hein Tibosch <[email protected]> Date: Fri Oct 6 18:57:45 2023 +0800 Preparing library to use loopback device (FreeRTOS#1020) * Preparing library to use loopback device * Repaired FreeRTOS_AddEndPoint() as well * Minor changes for Doxygen * Uncrustify: triggered by comment. * Added IPv6.h and removed call to xIsIPv6Loopback * Conditional compilation of xIPv6_GetIPType() * Do not call xBadIPv4Loopback() when IPv4 is not enabled * Repaired unit tests * In FreeRTOS_AddEndPoint(), set next to NULL * One more change in FreeRTOS_AddNetworkInterface() * FreeRTOS_FillEndPoint: save pxNext before clearing entire endpoint struct * Uncrustify: triggered by comment. * Changes after review by Shub * Changes after review by Shub, part 2 * Uncrustify: triggered by comment. * Replace pxUDPPacket with pxIPacket in function prvAllowIPPacketIPv4() * utest: replace xIPv6UnspecifiedAddress with FreeRTOS_in6addr_any * Checked unit-tests and coverage * ut: Repaired GetIPType loopback test * Update test/unit-test/FreeRTOS_IPv6_ConfigDriverCheckChecksum/FreeRTOS_IPv6_ConfigDriverCheckChecksum_stubs.c Co-authored-by: ActoryOu <[email protected]> * Update test/unit-test/FreeRTOS_IPv6/ut.cmake Co-authored-by: ActoryOu <[email protected]> * Remove test for 'ipIPv4_FRAME_TYPE' * Repairing tu again --------- Co-authored-by: GitHub Action <[email protected]> Co-authored-by: Monika Singh <[email protected]> Co-authored-by: Tony Josi <[email protected]> Co-authored-by: ActoryOu <[email protected]> commit 3cc5d1c Author: Tony Josi <[email protected]> Date: Fri Oct 6 15:40:42 2023 +0530 Update sockets header to include ntop/pton IPv4/v6 API declarations (FreeRTOS#1031) * update sockets header to include ntop / pton IPv4/v6 API declarations * Uncrustify: triggered by comment --------- Co-authored-by: GitHub Action <[email protected]> commit 243de78 Author: Soren Ptak <[email protected]> Date: Thu Oct 5 09:39:43 2023 -0700 Apply formatting bot fix (FreeRTOS#1029) Co-authored-by: Tony Josi <[email protected]> commit 382ddb0 Author: Hein Tibosch <[email protected]> Date: Thu Oct 5 13:56:32 2023 +0800 Make use of FreeRTOS_inet_addr_quick() when applicable (FreeRTOS#1032) commit d3ce35f Author: Hein Tibosch <[email protected]> Date: Wed Oct 4 14:49:57 2023 +0800 New helper function: FreeRTOS_get_tx_base (FreeRTOS#544) * IPv4/single: new function: FreeRTOS_get_tx_base * Changed some code comments and repaired a typo. * Attempt to repair utest * Changes after CI checks * utest: Added tests for get_tx_base * Do not use const socket type in FreeRTOS_get_tx_base() * Removed comments from cmake file ut * Repaired UT * Removed a nested if/endif couple --------- Co-authored-by: Hein Tibosch <[email protected]> commit ce11071 Author: Archit Gupta <[email protected]> Date: Mon Sep 25 22:45:16 2023 -0700 Fix uninitialized variable in TM4C NetworkInterface.c (FreeRTOS#1028) * Fix uninitialized variable in TM4C NetworkInterface.c * Uncrustify: triggered by comment. * Update macro --------- Co-authored-by: GitHub Action <[email protected]> Co-authored-by: Monika Singh <[email protected]> commit c9e63fc Author: Emil Popov <[email protected]> Date: Wed Sep 20 06:11:02 2023 -0400 Fixes the TCP zero-copy functionality... (FreeRTOS#1018) * Fixes the TCP zero-copy functionality... looks like this somehow just got overlooked. * Update unit tests --------- Co-authored-by: Emil Popov <[email protected]> Co-authored-by: tony-josi-aws <[email protected]> commit 222a36d Author: Hein Tibosch <[email protected]> Date: Tue Sep 19 15:02:59 2023 +0800 The new loopback network interface (FreeRTOS#1022) Co-authored-by: Tony Josi <[email protected]> commit ce7b689 Author: Jonathan Reichelt Gjertsen <[email protected]> Date: Mon Sep 18 21:46:47 2023 +0200 Use GCC-compatible alignment specifier in TM4C NetworkInterface.c (FreeRTOS#1027) * Use GCC-compatible alignment specifier in TM4C NetworkInterface.c Replace the CCS-only pragma with GCC attribute. Fixing this along with FreeRTOS#1206 will make this file build without warnings on the ARM GNU toolchain. The CCS compiler does support this attribute, see section 5.17.2 in: https://www.ti.com/lit/ug/spnu151w/spnu151w.pdf?ts=1695011722091 * Uncrustify: triggered by comment. --------- Co-authored-by: GitHub Action <[email protected]> commit 5e55153 Author: Tony Josi <[email protected]> Date: Wed Sep 13 15:07:17 2023 +0530 Update FreeRTOS_get_tx_head to create TX stream if not created already (FreeRTOS#1023) * TCP zero copy update FreeRTOS_get_tx_head() * fix unit tests * Uncrustify: triggered by comment * updating with review feedback --------- Co-authored-by: GitHub Action <[email protected]> commit b3289a7 Merge: a91c311 0ebf0c2 Author: rawalexe <[email protected]> Date: Fri Sep 8 18:12:49 2023 -0700 Remove obsolete config structs This PR removes the xNetworkAddressing and xDefaultAddressing structs as they appear to be obsolete. commit 0ebf0c2 Merge: 9f33e6e a91c311 Author: Tony Josi <[email protected]> Date: Thu Sep 7 11:08:01 2023 +0530 Merge branch 'main' into NetParamsCleanup_PR commit a91c311 Author: Peter R Herrmann <[email protected]> Date: Wed Sep 6 21:08:37 2023 -0700 DriverSAM/NetworkInterface.c warning cleanup - purely refactoring (FreeRTOS#1016) * warning cleanup - purely refactoring * Incorporated PR feedback - Made vCheckBuffersAndQueue() static - Added uxLowestSemCount back into prvEMACHandlerTask, now modifying global instead of shadowing * Uncrustify: triggered by comment. * Fix formatting * Uncrustify: triggered by comment. * Un-doing uncrustify commit that breaks formatting rules * formatting fix * formatting fix --------- Co-authored-by: Soren Ptak <[email protected]> Co-authored-by: GitHub Action <[email protected]> Co-authored-by: Rahul Kar <[email protected]> commit 9f33e6e Author: Emil Popov <[email protected]> Date: Wed Sep 6 13:59:07 2023 -0400 removes the xNetworkAddressing and xDefaultAddressing structs as they appear to be obsolete. commit f590724 Author: Tony Josi <[email protected]> Date: Wed Sep 6 16:52:00 2023 +0530 Add integer overflow checks to buffer allocation APIs (FreeRTOS#1017) * Add checks to verify integer overflows doesnt occur during buffer allocations * Uncrustify: triggered by comment * updating review feedback --------- Co-authored-by: Soren Ptak <[email protected]> Co-authored-by: GitHub Action <[email protected]> commit eed294c Author: Soren Ptak <[email protected]> Date: Tue Sep 5 17:31:24 2023 -0400 CI-CD Updates (FreeRTOS#1014) * Use new version of CI-CD Actions, checkout@v3 instead of checkout@v2 on all jobs * Use cSpell spell check, and use ubuntu-20.04 for formatting check * Add in bot formatting action commit a3413d2 Author: kar-rahul-aws <[email protected]> Date: Sat Sep 2 02:57:20 2023 +0530 Fix FreeRTOS+TCP unit tests for latest Kernel V10.6.1 (FreeRTOS#1015) * Fix unit tests for latest FreeRTOS-Kernel V10.6.1 * Update the FreeRTOS-Kernel submodule to V10.6.1 * Update the Coverage-Cop action to use new parameter name --------- Co-authored-by: Monika Singh <[email protected]> Co-authored-by: Soren Ptak <[email protected]> commit 34148c3 Author: Błażej Sowa <[email protected]> Date: Wed Aug 23 18:10:42 2023 +0200 Add LIBSLIRP to Network Interface selection in CMakeLists commit 0c59e71 Author: microcris <[email protected]> Date: Tue Aug 22 10:54:01 2023 +0100 Fix assertion failure when disconnecting the Ethernet cable (NXP1060 - NetworkInterface.c) (FreeRTOS#1002) * Update NetworkInterface.c The changes that I'm proposing are to make the driver to work in case of cable disconnection. In prvEMACHandlerTask, when xSendEventStructToIPTask, we have to pass network interface or it will fail the assertion in xSendEventStructToIPTask "configASSERT( pxInterface != NULL )". In pxNXP1064_NetworkInterfaceInitialise, if xWaitPHY fails (for instance, the cable is not connected), the switch case will break without doing nothing and the prvEMACHandlerTask will be blocked waiting for the notification. We have to unblock it to try again in case of failure in xEMAC_WaitPHY. * Update NetworkInterface.c uncrustify code * Update NetworkInterface.c Correct indentation * Update NetworkInterface.c Correct indentation * Update NetworkInterface.c fix indentation... again * Update source/portable/NetworkInterface/NXP1060/NetworkInterface.c Co-authored-by: ActoryOu <[email protected]> * Update source/portable/NetworkInterface/NXP1060/NetworkInterface.c Co-authored-by: ActoryOu <[email protected]> --------- Co-authored-by: ActoryOu <[email protected]> commit 20d30d9 Author: Hein Tibosch <[email protected]> Date: Tue Aug 22 09:46:31 2023 +0800 DriverSAM: let gmac_dev_read() return the proper length (version 2) (FreeRTOS#1000) * Atmel SAM driver: let gmac_dev_read() return the proper length (version 2) * Running uncrustify * A minor format change * Added a comment about a min() test commit 169ae78 Author: Monika Singh <[email protected]> Date: Fri Aug 11 15:11:45 2023 +0530 Update minor fixes in Readme (FreeRTOS#1005) * Update Readme * Update line * Remove dead link * Update README.md * Update README.md commit 44765e4 Author: Tony Josi <[email protected]> Date: Thu Aug 10 18:06:21 2023 +0530 Fix coverity issues in ARP (FreeRTOS#1003) Co-authored-by: ActoryOu <[email protected]> commit f5ecc5f Author: ActoryOu <[email protected]> Date: Thu Aug 10 20:09:17 2023 +0800 Fix MISRA violations Rule 1.1 for forward declaration (FreeRTOS#1004) * Fix MISRA things for forward declaration * Formatting * Fix return structure of prvAllowIPPacketIPv4 and comments. commit 4c6c8ab Author: shubnil <[email protected]> Date: Wed Aug 9 23:03:12 2023 +0530 Update the History.txt section for V4.0.0 Release (FreeRTOS#997) * Update History.txt Update the history section for V4.0.0 release. This captures the various changes and documentation updates and felicitations to the various contributors. * Update History.txt * Update History.txt * Update History.txt * Pentest Update in History.txt Pentest Update in History.txt * Update History.txt * Update History.txt * Update History.txt for CBMC link * Update History.txt * Update History.txt * Update History.txt * Update History.txt --------- Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Monika Singh <[email protected]> commit 7805363 Author: Monika Singh <[email protected]> Date: Wed Aug 9 22:26:06 2023 +0530 Update readme (FreeRTOS#996) Co-authored-by: shubnil <[email protected]> commit 7681bb1 Author: Monika Singh <[email protected]> Date: Wed Aug 9 21:41:58 2023 +0530 Update Getting Started Guide Doc (FreeRTOS#995) * Update getting started * Rename getting started * Remove rc reference --------- Co-authored-by: shubnil <[email protected]> commit f1aa0a0 Author: Monika Singh <[email protected]> Date: Wed Aug 9 21:12:01 2023 +0530 Update Version number in doxygen and manifest for GA (FreeRTOS#993) * Update release version * Update kernel version --------- Co-authored-by: Tony Josi <[email protected]> commit 5757e07 Author: Gaurav-Aggarwal-AWS <[email protected]> Date: Wed Aug 9 20:31:01 2023 +0530 Fix use of uninitialized variable warning (FreeRTOS#998) Signed-off-by: Gaurav Aggarwal <[email protected]> commit bb65463 Author: Monika Singh <[email protected]> Date: Wed Aug 9 11:38:30 2023 +0530 Add README for ports (FreeRTOS#992) * Add readme for ports which are not ested * Update name * Add readme for pic32mzef commit 8b90477 Author: Tony Josi <[email protected]> Date: Tue Aug 8 17:08:26 2023 +0530 IAR warning fixes (FreeRTOS#991) * remove forward declarations * Revert "remove forward declarations" This reverts commit a20213d. * supress IAR warnings commit 40c16fe Author: ActoryOu <[email protected]> Date: Tue Aug 8 09:23:39 2023 +0800 Update function names in libslirp interface. (FreeRTOS#990) commit 67b9e1c Author: Monika Singh <[email protected]> Date: Mon Aug 7 14:32:28 2023 +0530 Update File names (FreeRTOS#989) * Update File names commit 941cad7 Author: Tony Josi <[email protected]> Date: Fri Aug 4 16:43:35 2023 +0530 Gratuituous ARP fixes (FreeRTOS#988) * adding more checks for GARP * adding more checks for GARP * adding more checks for GARP * more debug logs * more debug logs * more testing * verify subnet * fix formatting, cleaning up * fix formatting, cleaning up * adding unit tests * updating review comments commit ae3cd02 Author: ActoryOu <[email protected]> Date: Fri Aug 4 17:14:53 2023 +0800 Create IPv6 socket for DHCPv6 flow (FreeRTOS#987) commit 62f5d3a Author: Tony Josi <[email protected]> Date: Fri Aug 4 11:24:49 2023 +0530 DNS callback to use new xDNSDoCallback API (FreeRTOS#985) * fix issue with DNS callback * update test cli code * fix formatting * fix build warnings * fix formatting * clang build fix commit df5aed9 Author: ActoryOu <[email protected]> Date: Mon Jul 31 12:10:29 2023 +0800 Check user related headers can be included independently. (FreeRTOS#982) * Header fix part 1 * IP_Private * TEST_HEADER_INC_ONLY_IPv4 * NetworkBufferManagement and NetworkInterface * Add CI flow to check user related headers can be included independently * Revert some redundant change * Add CI flow and fix formatting * Use -include compile option to test header self contain. --------- Co-authored-by: Monika Singh <[email protected]> commit 9b903bd Author: Tony Josi <[email protected]> Date: Fri Jul 28 11:21:14 2023 +0530 Update Renesas RX network interface port (FreeRTOS#983) * wip basic compilation fix * add BSP_MCU_RX72N to checks * wip * build fix * testing with buffer allocation 1 of +TCP * clean up code * use macro instead of magic numbers * fix formatting * update review comments commit 1c7623d Author: Emil Popov <[email protected]> Date: Fri Jul 28 01:25:34 2023 -0400 Improves the calculation of the offset at which we store the IP version value (FreeRTOS#979) * Defines ipUDP_PAYLOAD_IP_TYPE_OFFSET as an offset dependent on the IPv6 and UDP headers. Calculates ipIP_TYPE_OFFSET automatically based on the sizes it depends on instead of using a hardcoded number. Removes the definitions of ipIP_TYPE_OFFSET and ipUDP_PAYLOAD_IP_TYPE_OFFSET from FreeRTOS_IPv6_Private.h because they are already defined in FreeRTOS_IPv4_Private.h Makes ipIP_TYPE_OFFSET define signed so asserts can properly check for negative values. Adds an assert to ensure that storing of the IP-Type for IPv4 frames does not result in overwriting the ethernet header which would be the case if ipIP_TYPE_OFFSET somehow became negative or zero. Adds a comment to the code storing of the IP-Type byte for IPv6 frames emphasizing that it is not required and only used for debugging. * Uncrustify: triggered by comment. * Correct the comment of ipUDP_PAYLOAD_IP_TYPE_OFFSET. --------- Co-authored-by: Emil Popov <[email protected]> Co-authored-by: GitHub Action <[email protected]> Co-authored-by: ActoryOu <[email protected]> Co-authored-by: Tony Josi <[email protected]> commit 574b646 Author: Monika Singh <[email protected]> Date: Fri Jul 28 10:25:24 2023 +0530 Fix Clang warnings (FreeRTOS#984) * CMAKe update * Fix Wdocumentation errors * Fix Wconditional-uninitialized * Fix [-Wformat-pedantic * Fix Wcompound-token-split-by-space and Wgnu-statement-expression * Add suppression * Uncrustify: triggered by comment. * Fix coverity --------- Co-authored-by: GitHub Action <[email protected]> commit b23fa86 Author: Monika Singh <[email protected]> Date: Thu Jul 27 15:56:36 2023 +0530 Add and fix -Wconversion errors (FreeRTOS#980) * Fix Wconverstion * Enable Wconversion warning * Add fix * Fix MISRA * Fix coverity * Add comments commit 14b3e24 Author: Monika Singh <[email protected]> Date: Wed Jul 26 13:59:06 2023 +0530 Fix use of extern C block (FreeRTOS#981) * Fix use of extern C block * Uncrustify: triggered by comment. --------- Co-authored-by: GitHub Action <[email protected]> commit 5e1c991 Author: ActoryOu <[email protected]> Date: Tue Jul 25 18:39:58 2023 +0800 Remove duplicate configurations (FreeRTOS#978) * Remove duplicate configurations * Move LLMNR/NBNS back before USE_DNS commit b863f68 Author: Tony Josi <[email protected]> Date: Mon Jul 24 15:10:25 2023 +0530 [PR#482] - Update ARP cache from gratuitous ARP packets v2 (FreeRTOS#974) * Let the TCP timer becomes expired in stead of active * Renamed parameter of function vIPSetTCPTimerExpiredState * Adapt unit tests to use the new name and field * Change bActive to bExpired * Empty commit * Fix spell check * When a gratuitous ARP is received, use it to update the ARP cache entry * wip * adding comments on matching endpoint for Gratuitous ARP * adding unit tests for Gratuitous ARP processing, fix formatting * fix build * fix formatting * fix formatting * fic CBMC * adding review changes --------- Co-authored-by: Hein Tibosch <[email protected]> Co-authored-by: Hein Tibosch <[email protected]> Co-authored-by: Aniruddha Kanhere <[email protected]> commit 6a0ce66 Author: Monika Singh <[email protected]> Date: Mon Jul 24 00:02:54 2023 +0530 Fixes mDNS over IPv6 (FreeRTOS#977) * Add more descriptions of ipconfigDRIVER_INCLUDED_RX_IP_CHECKSUM (FreeRTOS#947) * Fixes mDNS over IPv6. (FreeRTOS#949) Co-authored-by: Emil Popov <[email protected]> Co-authored-by: ActoryOu <[email protected]> Co-authored-by: Monika Singh <[email protected]> --------- Co-authored-by: ActoryOu <[email protected]> Co-authored-by: Emil Popov <[email protected]> Co-authored-by: Emil Popov <[email protected]>
1 parent 8004068 commit 188364b

File tree

362 files changed

+27943
-10346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

362 files changed

+27943
-10346
lines changed

.github/.cSpellWords.txt

Lines changed: 1494 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/ci.yml

Lines changed: 217 additions & 57 deletions
Large diffs are not rendered by default.

.github/workflows/formatting.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Format Pull Request Files
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
7+
env:
8+
bashPass: \033[32;1mPASSED -
9+
bashInfo: \033[33;1mINFO -
10+
bashFail: \033[31;1mFAILED -
11+
bashEnd: \033[0m
12+
13+
jobs:
14+
Formatting:
15+
name: Run Formatting Check
16+
if: ${{ github.event.issue.pull_request &&
17+
( ( github.event.comment.body == '/bot run uncrustify' ) ||
18+
( github.event.comment.body == '/bot run formatting' ) ) }}
19+
runs-on: ubuntu-20.04
20+
steps:
21+
- name: Apply Formatting Fix
22+
uses: FreeRTOS/CI-CD-Github-Actions/formatting-bot@main
23+
id: check-formatting

.github/workflows/release-candidate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- name: Checkout code
19-
uses: actions/checkout@v2
19+
uses: actions/checkout@v3
2020
with:
2121
ref: ${{ github.event.inputs.commit_id }}
2222
- name: Configure git identity

.github/workflows/release.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- name: Checkout code
19-
uses: actions/checkout@v2
19+
uses: actions/checkout@v3
2020
with:
2121
ref: ${{ github.event.inputs.commit_id }}
2222
- name: Configure git identity
@@ -53,7 +53,7 @@ jobs:
5353
- name: Install ZIP tools
5454
run: sudo apt-get install zip unzip
5555
- name: Checkout code
56-
uses: actions/checkout@v2
56+
uses: actions/checkout@v3
5757
with:
5858
ref: ${{ github.event.inputs.commit_id }}
5959
path: FreeRTOS-Plus-TCP
@@ -138,3 +138,15 @@ jobs:
138138
asset_path: ./FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}.zip
139139
asset_name: FreeRTOS-Plus-TCP-${{ github.event.inputs.version_number }}.zip
140140
asset_content_type: application/zip
141+
cleanup:
142+
needs:
143+
- create-release
144+
name: Cleanup
145+
runs-on: ubuntu-latest
146+
steps:
147+
- name: Checkout code
148+
uses: actions/checkout@v3
149+
- name: Delete branch created for Tag by SBOM generator
150+
run: |
151+
# Delete the branch created for Tag by SBOM generator
152+
git push -u origin --delete refs/heads/${{ github.event.inputs.version_number }}

.github/workflows/uncrustify.yml

Lines changed: 0 additions & 74 deletions
This file was deleted.

.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
# Ignore MacOS file system related.
2+
**/*.DS_Store*
3+
4+
# Ignore build results
5+
[Dd]ebug/
6+
[Dd]ebugPublic/
7+
[Dd]ebug_with_Libslirp/
8+
[Rr]elease/
9+
[Rr]eleases/
10+
[Bb]in/
11+
[Oo]bj/
12+
[Ll]og/
13+
[Ll]ogs/
14+
[Bb]uild/
15+
__pycache__/
16+
117
**/*.d
218
**/*.o
319
**/*.su

CMakeLists.txt

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ option(FREERTOS_PLUS_TCP_BUILD_TEST "Build the test for FreeRTOS Plus TCP" OFF)
2727
# Optional: set(FREERTOS_PLUS_TCP_COMPILER "" CACHE STRING "" FORCE)
2828
# Required: set(FREERTOS_PLUS_TCP_NETWORK_IF "POSIX" CACHE STRING "" FORCE)
2929

30-
# Select the appropriate buffer allocaiton method.
30+
# Select the appropriate buffer allocation method.
3131
# See: https://freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/Embedded_Ethernet_Buffer_Management.html
3232
if (NOT FREERTOS_PLUS_TCP_BUFFER_ALLOCATION)
3333
message(STATUS "Using default FREERTOS_PLUS_TCP_BUFFER_ALLOCATION = 2")
@@ -58,9 +58,11 @@ set(FREERTOS_PLUS_TCP_NETWORK_IF_LIST
5858
DRIVER_SAM
5959
ESP32
6060
KSZ8851SNL
61+
LIBSLIRP
6162
LPC17xx LPC18xx LPC54018
6263
M487
6364
MPS2_AN385
65+
MPS3_AN552
6466
MW300_RD
6567
PIC32MZEF_ETH PIC32MZEF_WIFI
6668
POSIX WIN_PCAP # Native Linux & Windows respectively
@@ -96,12 +98,14 @@ if(NOT FREERTOS_PLUS_TCP_NETWORK_IF IN_LIST FREERTOS_PLUS_TCP_NETWORK_IF_LIST )
9698
" DRIVER_SAM Target: Driver SAM Tested: TODO\n"
9799
" ESP32 Target: ESP-32 Tested: TODO\n"
98100
" KSZ8851SNL Target: ksz8851snl Tested: TODO\n"
101+
" LIBSLIRP Target: libslirp Tested: TODO\n"
99102
" POSIX Target: linux/Posix\n"
100103
" LPC17xx Target: LPC17xx Tested: TODO\n"
101104
" LPC18xx Target: LPC18xx Tested: TODO\n"
102105
" LPC54018 Target: LPC54018 Tested: TODO\n"
103106
" M487 Target: M487 Tested: TODO\n"
104107
" MPS2_AN385 Target: MPS2_AN385 Tested: TODO\n"
108+
" MPS3_AN552 Target: MPS3_AN552"
105109
" MW300_RD Target: mw300_rd Tested: TODO\n"
106110
" PIC32MZEF_ETH Target: pic32mzef ethernet Tested: TODO\n"
107111
" PIC32MZEF_WIFI Target: pic32mzef Wifi Tested: TODO\n"
@@ -128,7 +132,7 @@ elseif((FREERTOS_PORT STREQUAL "A_CUSTOM_PORT") AND (NOT TARGET freertos_kernel_
128132
" target_include_directories(freertos_plus_tcp_network_if\n"
129133
" PUBLIC\n"
130134
" .)\n\n"
131-
" taget_link_libraries(freertos_plus_tcp_network_if\n"
135+
" target_link_libraries(freertos_plus_tcp_network_if\n"
132136
" PUBLIC\n"
133137
" freertos_plus_tcp_port\n"
134138
" freertos_plus_tcp_network_if_common\n"
@@ -154,6 +158,7 @@ set(FREERTOS_PLUS_TCP_TEST_CONFIGURATION_LIST
154158
ENABLE_ALL_IPV6_TCP # Enable all configuration settings IPv6 TCP
155159
ENABLE_ALL_IPV4_IPV6 # Enable all configuration settings IPv4 IPv6 UDP
156160
DISABLE_ALL # Disable all configuration settings
161+
HEADER_SELF_CONTAIN # Enable header self contain test
157162
DEFAULT_CONF # Default (typical) configuration
158163
)
159164
if(NOT FREERTOS_PLUS_TCP_TEST_CONFIGURATION IN_LIST FREERTOS_PLUS_TCP_TEST_CONFIGURATION_LIST)
@@ -195,10 +200,22 @@ add_compile_options(
195200
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wall>
196201
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wextra>
197202
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Werror>
203+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wpedantic>
204+
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wconversion>
198205
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wunused-variable>
199206
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Weverything>
200207

201-
# TODO: Add in other Compilers here.
208+
# Suppressions required to build clean with clang.
209+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-unused-macros>
210+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-cast-qual>
211+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-switch-enum>
212+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-declaration-after-statement>
213+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-padded>
214+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-missing-variable-declarations>
215+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-covered-switch-default>
216+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-extra-semi-stmt>
217+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-missing-noreturn>
218+
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-cast-align>
202219
)
203220

204221
########################################################################

GettingStarted_4.0.0-rc3.md renamed to GettingStarted.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
Moving to 4.0.0-rc1/rc2/rc3 from 3.x.x:
1+
Moving to 4.0.0 from 3.x.x:
22
--------------------------------
33

4-
Version 4.0.0-rc1/rc2/rc3 adds new files to support IPv6 functionality, breaking each file into logically separated IPv4 and IPv6 files. The folder structure of FreeRTOS-Plus-TCP remains unchanged. Build separation is added to make the library modular, enabling users to compile and create a low-footprint binary with only the required functionalities. For more details on supported build combinations, see [History.txt](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/main/History.txt) .
4+
Version 4.0.0 adds new files to support IPv6 functionality, breaking each file into logically separated IPv4 and IPv6 files. The folder structure of FreeRTOS-Plus-TCP remains unchanged. Build separation is added to make the library modular, enabling users to compile and create a low-footprint binary with only the required functionalities. For more details on supported build combinations, see [History.txt](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/main/History.txt) .
55

66
Some of the APIs have changed which is illustrated in the section below. However, there is a backward compatibility mode provided as well.
77

88
Backward Compatibility Mode:
99
---------------------------
10-
If you are moving your code from V3.x.x to V4.0.0-rc1/rc2/rc3, then set the "ipconfigIPv4_BACKWARD_COMPATIBLE" macro to 1 in “FreeRTOSIPConfigDefaults.h” to run the code in backward compatible mode.
10+
If you are moving your code from V3.x.x to V4.0.0, then set the "ipconfigIPv4_BACKWARD_COMPATIBLE" macro to 1 in “FreeRTOSIPConfigDefaults.h” to run the code in backward compatible mode.
1111
The "Existing API's" defined in all the API changes below work only when the backward compatibility mode is enabled.
1212

13-
API changes in 4.0.0-rc1/rc2/rc3:
13+
API changes in 4.0.0:
1414
----------------------
1515

1616
The changes mentioned below uses ipconfigIPv4_BACKWARD_COMPATIBLE flag to differentiate between old API and new API.

History.txt

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
1+
Documentation and download available at https://www.FreeRTOS.org/
2+
3+
Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023
4+
+ Unified code for both IPv4 and IPv6 protocols.
5+
+ Multiple Interface and Multiple Endpoint support
6+
1. The stack supports multiple Physical Interfaces.
7+
2. The stack also supports multiple endpoints (or Virtual interfaces) on the same physical interface.
8+
+ New WinSim demo to support IPv4, IPv6 and multi-interface together.
9+
(Reference: https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Plus_TCP_IPv6_Demo/IPv6_Multi_WinSim_demo)
10+
+ Build separation feature introduced to achieve low memory footprint. Supported build combinations:
11+
1. IPv4 + UDP
12+
2. IPv4 + UDP + TCP
13+
3. IPv6 + UDP
14+
4. IPv6 + UDP + TCP
15+
5. IPv4 + IPv6 + UDP
16+
6. IPv4 + IPv6 + UDP + TCP
17+
+ Support added in FreeRTOS-plus-TCP git repository CI tool to validate various build configurations before PR merge.
18+
+ Achieved 100% unit test coverage for both IPv4 and IPv6.
19+
+ MISRA c-2012 compliance for both IPv4 and IPv6.
20+
+ Addressed several issues observed by Maxwell Protocol tester.
21+
+ Memory safety proofs for IPv6 code using[ CBMC automated reasoning tool ] (https://www.cprover.org/cbmc/).
22+
+ Stack is Penetration tested and a memory leak issue has been identified and fixed in the process.
23+
(Reference: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/pull/973)
24+
+ Improved Documentation:
25+
1. Multi-interface and Multi-endpoint documentation.
26+
2. Updated stack initialization documentation to support multi-interface and endpoint.
27+
(Reference: https://freertos-wordpress.corp.amazon.com/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial_Initialising_TCP.updated.html)
28+
3. Code size details for various build configurations
29+
(Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html).
30+
4. Documentation added for IPv6 protocol support.
31+
5. Documentation added for various IPv6 functionalities like DHCPv6, ND (Neighbour Discovery), RA (Router Advertisement).
32+
6. README added for the network ports.
33+
34+
We thank the following people for their inputs in these enhancements:
35+
+ Add mDNS fixes for IPv6. Contributed by @evpopov.
36+
+ IP offset calculation improvement. Contributed by @evpopov.
37+
+ CCS compiler fix for packed structs. Contributed by @rahul-arasikere.
38+
+ Add tasking compiler support. Contributed by @go2sh.
39+
+ Add NetworkDown notification support to STM32FXX. Contributed by @zipperowiec.
40+
+ CMake changes. Contributed by @phelter.
41+
+ STM32Hxx porting fixes. Contributed by @miguelfreitas.
42+
+ Allow use of loopback addresses. Contributed by @adam-stamand.
43+
+ CBMC proof-running GitHub Action. Contributed by @karkhaz.
44+
+ CBMC XML output to enable VSCode debugger. Contributed by @karkhaz.
45+
+ vTaskDelay for sleep in the network-interface of xilinx_ultrascale.Contributed by @ChristosZosi.
46+
+ Read mac address using FreeRTOS_GetMACAddress(). Contributed by @sayyadumar.
47+
+ Minor warning fixes. Contributed by @ChristosZosi.
48+
+ Network-interface fix for Xilinx UltraScale port. Contributed by @ChristosZosi.
49+
150
Changes between 4.0.0-RC3 and 4.0.0-RC2 releases:
251
+ Added memory safety proofs for IPv6 using[ CBMC automated reasoning tool ] ( https:/*www.cprover.org/cbmc/)
352
+ Introduced build separation feature to achieve low memory footprint. Supported build combinations:
@@ -71,7 +120,7 @@ Changes between V2.3.1 and V2.3.2 releases:
71120
instead of being given the eCLOSE_WAIT status. A client socket, which calls
72121
connect() to establish a connection, will receive the eCLOSE_WAIT status,
73122
just like before.
74-
+ Fixed a race condition in DHCP state machine which occured when the macro
123+
+ Fixed a race condition in DHCP state machine which occurred when the macro
75124
dhcpINITIAL_TIMER_PERIOD was set to a very low value.
76125

77126
Changes between V2.3.0 and V2.3.1 releases:
@@ -291,7 +340,7 @@ Changes between 141019 and 150825
291340
+ Introduced ipMAX_IP_TASK_SLEEP_TIME to allow the application writer to
292341
override the default value of 10 seconds.
293342
+ Fix: Correct error in *pxUDPPayloadBuffer_to_NetworkBuffer().
294-
+ FreeRTOS_recv() now recognises the FREERTOS_ZERO_COPY flag, which, when
343+
+ FreeRTOS_recv() now recognizes the FREERTOS_ZERO_COPY flag, which, when
295344
set, the void *pvBuffer parameter is interpreted as void **pvBuffer.
296345
+ FreeRTOS_listen() now returns an error code. Previously it always
297346
returned 0.

0 commit comments

Comments
 (0)