From 44896867f54e314c177578370b8a9b98cc1ac63b Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 14:22:45 +0530 Subject: [PATCH 01/12] 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. --- History.txt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/History.txt b/History.txt index 1ca7103630..1852517416 100644 --- a/History.txt +++ b/History.txt @@ -1,3 +1,49 @@ +Documentation and download available at https://www.FreeRTOS.org/ + +Changes between FreeRTOS-plus-TCP V4.0.0 and V3.0.0 released August 10, 2023 + + Unified code for both IPv4 and IPv6 protocols + + Multiple Interface and Multiple Endpoint support + 1. The stack supports multiple Physical Interfaces + 2. The stack also supports multiple endpoints (or Virtual interfaces) on the same physiscal interface. + (Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/freertostcp-multiple-interfaces.html). + + New WinSim demo to support IPv4, IPv6 and multi-interface together. + + Build separation feature introduced to achieve low memory footprint. Supported build combinations: + 1. IPv4 + UDP + 2. IPv4 + UDP + TCP + 3. IPv6 + UDP + 4. IPv6 + UDP + TCP + 5. IPv4 + IPv6 + UDP + 6. IPv4 + IPv6 + UDP + TCP + + Support added in FreeRTOS-plus-TCP git repository CI tool to validate various build configurations before PR merge + + Achieved 100% unit test coverage for both IPv4 and IPv6 + + MISRA c-2012 compliance for both IPv4 and IPv6 + + IPv6 code is protocol tested using Maxwell protocol tester + + Memory safety proofs for IPv6 code using[ CBMC automated reasoning tool ] ( https:/*www.cprover.org/cbmc/) + + Improved Documentation: + 1. Multi-interface and Multi-endpoint Documentataion + 2. Updated stack initialization documentation to support multi-interface and endpoint + ( https://freertos-wordpress.corp.amazon.com/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial_Initialising_TCP.updated.html) + 3. Code size details for various build configurations (https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html) + 4. Documentataion added for IPv6 protocol support + 5. Documentataion added for various IPv6 functionalities like DHCPv6, ND (Neighbour Discovery), RA (Router Advertisement) + 6. README added for the network ports + +We thank the following people for their inputs in these enhancements: + + Add mDNS fixes for IPv6. Contributed by @evpopov. + + IP offset calculation improvement. Contributed by @evpopov. + + CCS compiler fix for packed structs. Contributed by @rahul-arasikere + + Add tasking compiler support. Contributed by @go2sh + + Add NetworkDown notification support to STM32FXX. Contributed by @zipperowiec + + CMake changes. Contributed by @phelter + + STM32Hxx porting fixes. Contributed by @miguelfreitas. + + Allow use of loopback addresses. Contributed by @adam-stamand + + CBMC proof-running GitHub Action. Contributed by @karkhaz + + CBMC XML output to enable VSCode debugger. Contributed by @karkhaz + + vTaskDelay for sleep in the network-interface of xilinx_ultrascale. + + Read mac address using FreeRTOS_GetMACAddress(). Contributed by @sayyadumar + + Minor warning fixes. Contributed by @ChristosZosi + + Network-interface fix for Xilinx UltraScale port. Contributed by @ChristosZosi + Changes between 4.0.0-RC3 and 4.0.0-RC2 releases: + Added memory safety proofs for IPv6 using[ CBMC automated reasoning tool ] ( https:/*www.cprover.org/cbmc/) + Introduced build separation feature to achieve low memory footprint. Supported build combinations: From 6cce3243b372b71d063e56504600286dbfc5872f Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 14:29:10 +0530 Subject: [PATCH 02/12] Update History.txt --- History.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.txt b/History.txt index 1852517416..b5976e4954 100644 --- a/History.txt +++ b/History.txt @@ -1,6 +1,6 @@ Documentation and download available at https://www.FreeRTOS.org/ -Changes between FreeRTOS-plus-TCP V4.0.0 and V3.0.0 released August 10, 2023 +Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 + Unified code for both IPv4 and IPv6 protocols + Multiple Interface and Multiple Endpoint support 1. The stack supports multiple Physical Interfaces From aeb809b26f669e546040f1caea1deee421e418d2 Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 14:44:16 +0530 Subject: [PATCH 03/12] Update History.txt --- History.txt | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/History.txt b/History.txt index b5976e4954..fea9d30ad9 100644 --- a/History.txt +++ b/History.txt @@ -1,9 +1,9 @@ Documentation and download available at https://www.FreeRTOS.org/ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 - + Unified code for both IPv4 and IPv6 protocols + + Unified code for both IPv4 and IPv6 protocols. + Multiple Interface and Multiple Endpoint support - 1. The stack supports multiple Physical Interfaces + 1. The stack supports multiple Physical Interfaces. 2. The stack also supports multiple endpoints (or Virtual interfaces) on the same physiscal interface. (Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/freertostcp-multiple-interfaces.html). + New WinSim demo to support IPv4, IPv6 and multi-interface together. @@ -14,35 +14,35 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 4. IPv6 + UDP + TCP 5. IPv4 + IPv6 + UDP 6. IPv4 + IPv6 + UDP + TCP - + Support added in FreeRTOS-plus-TCP git repository CI tool to validate various build configurations before PR merge - + Achieved 100% unit test coverage for both IPv4 and IPv6 - + MISRA c-2012 compliance for both IPv4 and IPv6 - + IPv6 code is protocol tested using Maxwell protocol tester - + Memory safety proofs for IPv6 code using[ CBMC automated reasoning tool ] ( https:/*www.cprover.org/cbmc/) + + Support added in FreeRTOS-plus-TCP git repository CI tool to validate various build configurations before PR merge. + + Achieved 100% unit test coverage for both IPv4 and IPv6. + + MISRA c-2012 compliance for both IPv4 and IPv6. + + IPv6 code is protocol tested using Maxwell protocol tester. + + Memory safety proofs for IPv6 code using[ CBMC automated reasoning tool ] ( https:/*www.cprover.org/cbmc/). + Improved Documentation: - 1. Multi-interface and Multi-endpoint Documentataion - 2. Updated stack initialization documentation to support multi-interface and endpoint + 1. Multi-interface and Multi-endpoint Documentataion. + 2. Updated stack initialization documentation to support multi-interface and endpoint. ( https://freertos-wordpress.corp.amazon.com/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial_Initialising_TCP.updated.html) - 3. Code size details for various build configurations (https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html) - 4. Documentataion added for IPv6 protocol support - 5. Documentataion added for various IPv6 functionalities like DHCPv6, ND (Neighbour Discovery), RA (Router Advertisement) - 6. README added for the network ports + 3. Code size details for various build configurations (https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html). + 4. Documentataion added for IPv6 protocol support. + 5. Documentataion added for various IPv6 functionalities like DHCPv6, ND (Neighbour Discovery), RA (Router Advertisement). + 6. README added for the network ports. We thank the following people for their inputs in these enhancements: + Add mDNS fixes for IPv6. Contributed by @evpopov. + IP offset calculation improvement. Contributed by @evpopov. - + CCS compiler fix for packed structs. Contributed by @rahul-arasikere - + Add tasking compiler support. Contributed by @go2sh - + Add NetworkDown notification support to STM32FXX. Contributed by @zipperowiec - + CMake changes. Contributed by @phelter + + CCS compiler fix for packed structs. Contributed by @rahul-arasikere. + + Add tasking compiler support. Contributed by @go2sh. + + Add NetworkDown notification support to STM32FXX. Contributed by @zipperowiec. + + CMake changes. Contributed by @phelter. + STM32Hxx porting fixes. Contributed by @miguelfreitas. - + Allow use of loopback addresses. Contributed by @adam-stamand - + CBMC proof-running GitHub Action. Contributed by @karkhaz - + CBMC XML output to enable VSCode debugger. Contributed by @karkhaz - + vTaskDelay for sleep in the network-interface of xilinx_ultrascale. - + Read mac address using FreeRTOS_GetMACAddress(). Contributed by @sayyadumar - + Minor warning fixes. Contributed by @ChristosZosi - + Network-interface fix for Xilinx UltraScale port. Contributed by @ChristosZosi + + Allow use of loopback addresses. Contributed by @adam-stamand. + + CBMC proof-running GitHub Action. Contributed by @karkhaz. + + CBMC XML output to enable VSCode debugger. Contributed by @karkhaz. + + vTaskDelay for sleep in the network-interface of xilinx_ultrascale. + + Read mac address using FreeRTOS_GetMACAddress(). Contributed by @sayyadumar. + + Minor warning fixes. Contributed by @ChristosZosi. + + Network-interface fix for Xilinx UltraScale port. Contributed by @ChristosZosi. Changes between 4.0.0-RC3 and 4.0.0-RC2 releases: + Added memory safety proofs for IPv6 using[ CBMC automated reasoning tool ] ( https:/*www.cprover.org/cbmc/) From ba8041b6709ab321a2710aefe6afa14347a857fd Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 14:51:17 +0530 Subject: [PATCH 04/12] Update History.txt --- History.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/History.txt b/History.txt index fea9d30ad9..2c70ac4af6 100644 --- a/History.txt +++ b/History.txt @@ -7,6 +7,7 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 2. The stack also supports multiple endpoints (or Virtual interfaces) on the same physiscal interface. (Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/freertostcp-multiple-interfaces.html). + New WinSim demo to support IPv4, IPv6 and multi-interface together. + (Reference: https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Plus_TCP_IPv6_Demo/IPv6_Multi_WinSim_demo) + Build separation feature introduced to achieve low memory footprint. Supported build combinations: 1. IPv4 + UDP 2. IPv4 + UDP + TCP @@ -22,8 +23,9 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 + Improved Documentation: 1. Multi-interface and Multi-endpoint Documentataion. 2. Updated stack initialization documentation to support multi-interface and endpoint. - ( https://freertos-wordpress.corp.amazon.com/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial_Initialising_TCP.updated.html) - 3. Code size details for various build configurations (https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html). + (Reference: https://freertos-wordpress.corp.amazon.com/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial_Initialising_TCP.updated.html) + 3. Code size details for various build configurations + (Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html). 4. Documentataion added for IPv6 protocol support. 5. Documentataion added for various IPv6 functionalities like DHCPv6, ND (Neighbour Discovery), RA (Router Advertisement). 6. README added for the network ports. From fe8aa6e385263903cce0ec4bb061416fb9c5a0a5 Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 15:02:44 +0530 Subject: [PATCH 05/12] Pentest Update in History.txt Pentest Update in History.txt --- History.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/History.txt b/History.txt index 2c70ac4af6..af651a1a6f 100644 --- a/History.txt +++ b/History.txt @@ -20,6 +20,8 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 + MISRA c-2012 compliance for both IPv4 and IPv6. + IPv6 code is protocol tested using Maxwell protocol tester. + Memory safety proofs for IPv6 code using[ CBMC automated reasoning tool ] ( https:/*www.cprover.org/cbmc/). + + Stack is Penetration tested and a memory leak issue has been identified and fixed in the process. + (Refrence: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/pull/973) + Improved Documentation: 1. Multi-interface and Multi-endpoint Documentataion. 2. Updated stack initialization documentation to support multi-interface and endpoint. From 6c382ecc7ff190249cd11a086873731e0f7d8ff6 Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 15:47:27 +0530 Subject: [PATCH 06/12] Update History.txt --- History.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.txt b/History.txt index af651a1a6f..67703b9129 100644 --- a/History.txt +++ b/History.txt @@ -29,7 +29,7 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 3. Code size details for various build configurations (Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html). 4. Documentataion added for IPv6 protocol support. - 5. Documentataion added for various IPv6 functionalities like DHCPv6, ND (Neighbour Discovery), RA (Router Advertisement). + 5. Documentation added for various IPv6 functionalities like DHCPv6, ND (Neighbour Discovery), RA (Router Advertisement). 6. README added for the network ports. We thank the following people for their inputs in these enhancements: From e2082a6ae6132a895cdb68b430b8823f2df7fad2 Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 15:48:16 +0530 Subject: [PATCH 07/12] Update History.txt --- History.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.txt b/History.txt index 67703b9129..d5115a37b3 100644 --- a/History.txt +++ b/History.txt @@ -4,7 +4,7 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 + Unified code for both IPv4 and IPv6 protocols. + Multiple Interface and Multiple Endpoint support 1. The stack supports multiple Physical Interfaces. - 2. The stack also supports multiple endpoints (or Virtual interfaces) on the same physiscal interface. + 2. The stack also supports multiple endpoints (or Virtual interfaces) on the same physical interface. (Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/freertostcp-multiple-interfaces.html). + New WinSim demo to support IPv4, IPv6 and multi-interface together. (Reference: https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Plus_TCP_IPv6_Demo/IPv6_Multi_WinSim_demo) From fa9a7704eef87b9009493ce23cc5347537d1d215 Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 16:55:09 +0530 Subject: [PATCH 08/12] Update History.txt for CBMC link --- History.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.txt b/History.txt index d5115a37b3..96c1c8be31 100644 --- a/History.txt +++ b/History.txt @@ -19,7 +19,7 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 + Achieved 100% unit test coverage for both IPv4 and IPv6. + MISRA c-2012 compliance for both IPv4 and IPv6. + IPv6 code is protocol tested using Maxwell protocol tester. - + Memory safety proofs for IPv6 code using[ CBMC automated reasoning tool ] ( https:/*www.cprover.org/cbmc/). + + Memory safety proofs for IPv6 code using[ CBMC automated reasoning tool ] (https://www.cprover.org/cbmc/). + Stack is Penetration tested and a memory leak issue has been identified and fixed in the process. (Refrence: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/pull/973) + Improved Documentation: From 9f86efac1d822ee670ab1039edbcde87b88689f0 Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 16:56:15 +0530 Subject: [PATCH 09/12] Update History.txt --- History.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/History.txt b/History.txt index 96c1c8be31..82101be16c 100644 --- a/History.txt +++ b/History.txt @@ -5,7 +5,6 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 + Multiple Interface and Multiple Endpoint support 1. The stack supports multiple Physical Interfaces. 2. The stack also supports multiple endpoints (or Virtual interfaces) on the same physical interface. - (Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/freertostcp-multiple-interfaces.html). + New WinSim demo to support IPv4, IPv6 and multi-interface together. (Reference: https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Plus_TCP_IPv6_Demo/IPv6_Multi_WinSim_demo) + Build separation feature introduced to achieve low memory footprint. Supported build combinations: From e7af58798c607a8c761e5b6b02a501a446cba51c Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 17:00:52 +0530 Subject: [PATCH 10/12] Update History.txt --- History.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/History.txt b/History.txt index 82101be16c..5662ba2da8 100644 --- a/History.txt +++ b/History.txt @@ -22,12 +22,12 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 + Stack is Penetration tested and a memory leak issue has been identified and fixed in the process. (Refrence: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/pull/973) + Improved Documentation: - 1. Multi-interface and Multi-endpoint Documentataion. + 1. Multi-interface and Multi-endpoint documentation. 2. Updated stack initialization documentation to support multi-interface and endpoint. (Reference: https://freertos-wordpress.corp.amazon.com/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial_Initialising_TCP.updated.html) 3. Code size details for various build configurations (Reference: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html). - 4. Documentataion added for IPv6 protocol support. + 4. Documentation added for IPv6 protocol support. 5. Documentation added for various IPv6 functionalities like DHCPv6, ND (Neighbour Discovery), RA (Router Advertisement). 6. README added for the network ports. From 472b538414baa56a9444c46477f6f8554aee3b44 Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 17:05:43 +0530 Subject: [PATCH 11/12] Update History.txt --- History.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/History.txt b/History.txt index 5662ba2da8..244abe609e 100644 --- a/History.txt +++ b/History.txt @@ -17,10 +17,10 @@ Changes between FreeRTOS-plus-TCP V4.0.0 and V3.1.0 released August 10, 2023 + Support added in FreeRTOS-plus-TCP git repository CI tool to validate various build configurations before PR merge. + Achieved 100% unit test coverage for both IPv4 and IPv6. + MISRA c-2012 compliance for both IPv4 and IPv6. - + IPv6 code is protocol tested using Maxwell protocol tester. + + Addressed several issues observed by Maxwell Protocol tester. + Memory safety proofs for IPv6 code using[ CBMC automated reasoning tool ] (https://www.cprover.org/cbmc/). + Stack is Penetration tested and a memory leak issue has been identified and fixed in the process. - (Refrence: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/pull/973) + (Reference: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/pull/973) + Improved Documentation: 1. Multi-interface and Multi-endpoint documentation. 2. Updated stack initialization documentation to support multi-interface and endpoint. From ef347dac43334257694468d9d6231935c0c61fc1 Mon Sep 17 00:00:00 2001 From: shubnil <103672514+shubnil@users.noreply.github.com> Date: Wed, 9 Aug 2023 22:22:59 +0530 Subject: [PATCH 12/12] Update History.txt --- History.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.txt b/History.txt index 244abe609e..e39bff61b2 100644 --- a/History.txt +++ b/History.txt @@ -42,7 +42,7 @@ We thank the following people for their inputs in these enhancements: + Allow use of loopback addresses. Contributed by @adam-stamand. + CBMC proof-running GitHub Action. Contributed by @karkhaz. + CBMC XML output to enable VSCode debugger. Contributed by @karkhaz. - + vTaskDelay for sleep in the network-interface of xilinx_ultrascale. + + vTaskDelay for sleep in the network-interface of xilinx_ultrascale.Contributed by @ChristosZosi. + Read mac address using FreeRTOS_GetMACAddress(). Contributed by @sayyadumar. + Minor warning fixes. Contributed by @ChristosZosi. + Network-interface fix for Xilinx UltraScale port. Contributed by @ChristosZosi.