* add FreeRTOS_GetAddressConfiguration and FreeRTOS_SetAddressConfiguration
* renaming FreeRTOS_GetUDPPayloadBuffer_ByIPType to FreeRTOS_GetUDPPayloadBuffer_Multi
* adding ipconfigIPv4_BACKWARD_COMPATIBLE to all main branch APIs that got changed except hooks
* rename vApplicationIPNetworkEventHook to vApplicationIPNetworkEventHook_Multi when ipconfigIPv4_BACKWARD_COMPATIBLE is disabled
* renaming xApplicationDNSQueryHook to xApplicationDNSQueryHook_Multi when ipconfigIPv4_BACKWARD_COMPATIBLE is disabled
* Uncrustify: triggered by comment
* fix DNS_ParseDNSReply complexity issue
* Uncrustify: triggered by comment
* replacing with ipconfigIPv4_BACKWARD_COMPATIBLE flag
* minor unit test fix
---------
Co-authored-by: GitHub Action <action@github.com>
* Minor changes to the CBMC DHCP proof to make the code more readable
* minor documentation fix
* fix unit tests
* Uncrustify: triggered by comment
* minor update
---------
Co-authored-by: GitHub Action <action@github.com>
* fix ip timers unit tests
* fix FreeRTOS_IP_Utils_DiffConfig_utest tests
* fixed FreeRTOS_IP_Utils_utest
* fix dns cache unit test
* wip arp utests
* fixing arp unit tests
* fix dhcp errors
* clearing structs before usage
* fix dns parser seg fault
* fix dns parser seg fault in unit test
* fix arp uunit tests
* fix arp unit tests
* fixing dns unit test and updating the CBMC proofs
* fixing udp unit tests
* fixing TCP IP unit tests
* fixing TCP IP diffconfig unit tests
* adding additional header file for ARP for declaring missing stub headers
* minor fix
* Uncrustify: triggered by comment
* fixing comments
---------
Co-authored-by: GitHub Action <action@github.com>
* updating doxygen config
* fixing doxygen comments
* adding IPv6 files and fixing comments
* fix doxygen cfg and file names in comments
* wip doxygen v6 docs
* adding doxygen comments
* include RA src file to doxgendocs generation
* fix spell check issues
* Uncrustify: triggered by comment.
* fix minor build issue
* fix spell check issues
* Uncrustify: triggered by comment
* fix trailing white space
* Dev integration hein.v8 (#738)
* Updating tcp utilities
* Some more change in dev_integration_hein.v8
* In FreeRTOS_DNS_Parser.c : use 'ipUDP_PAYLOAD_OFFSET_IPv4' in stead of 'ipIP_PAYLOAD_OFFSET'
* And a few more corrections
* Changes to WinPCap network interface, removed debugging code
* After applying uncrustify
* Oops, I forgot the push changes in include files.
* Now removing it, hopefully
---------
Co-authored-by: Nikhil Kamath <110539926+amazonKamath@users.noreply.github.com>
Co-authored-by: Monika Singh <108652024+moninom1@users.noreply.github.com>
* Fix CBMC proofs for DNS (#718)
* Use CBMC XML output to enable VSCode debugger (#673)
Prior to this commit, CBMC would emit logging information in plain text
format, which does not contain information required for the CBMC VSCode
debugger. This commit makes CBMC use XML instead of plain text.
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* wip
* wip DNSgetHostByName
* wip DNSgetHostByName
* fixed cbmc proof for DNS_ReadNameField
* wip DNSgetHostByName_a_harness
* Fix CBMC prooff for DNSgetHostByName
* wip fix DNSgetHostByName_a CBMC proof
* fixed cbmc target func not called issue in DNSclear
* fixed cbmc target func not called issue in DNSlookup
* fix DNSgetHostByName_a CBMC proof
* update comments
* more asserts
* fixing formatting
* updating as per review comments
* fix dns after review comments
* adding more asserts
* adds more asserts
* minor fix
* fixing comments
* fixing comments
* fixing minor issue
* fixing DNS_ReadReply() signature
* making code more consistant
* adding more asserts
* making code more consistent
---------
Co-authored-by: Kareem Khazem <karkhaz@amazon.com>
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* Uncrustify: triggered by comment
* fixing formatting
---------
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Hein Tibosch <hein_tibosch@yahoo.es>
Co-authored-by: Nikhil Kamath <110539926+amazonKamath@users.noreply.github.com>
Co-authored-by: Monika Singh <108652024+moninom1@users.noreply.github.com>
Co-authored-by: Kareem Khazem <karkhaz@amazon.com>
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* Use CBMC XML output to enable VSCode debugger (#673)
Prior to this commit, CBMC would emit logging information in plain text
format, which does not contain information required for the CBMC VSCode
debugger. This commit makes CBMC use XML instead of plain text.
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* wip
* wip DNSgetHostByName
* wip DNSgetHostByName
* fixed cbmc proof for DNS_ReadNameField
* wip DNSgetHostByName_a_harness
* Fix CBMC prooff for DNSgetHostByName
* wip fix DNSgetHostByName_a CBMC proof
* fixed cbmc target func not called issue in DNSclear
* fixed cbmc target func not called issue in DNSlookup
* fix DNSgetHostByName_a CBMC proof
* update comments
* more asserts
* fixing formatting
* updating as per review comments
* fix dns after review comments
* adding more asserts
* adds more asserts
* minor fix
* fixing comments
* fixing comments
* fixing minor issue
* fixing DNS_ReadReply() signature
* making code more consistant
* adding more asserts
* making code more consistent
---------
Co-authored-by: Kareem Khazem <karkhaz@amazon.com>
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* Updating tcp utilities
* Some more change in dev_integration_hein.v8
* In FreeRTOS_DNS_Parser.c : use 'ipUDP_PAYLOAD_OFFSET_IPv4' in stead of 'ipIP_PAYLOAD_OFFSET'
* And a few more corrections
* Changes to WinPCap network interface, removed debugging code
* After applying uncrustify
* Oops, I forgot the push changes in include files.
* Now removing it, hopefully
---------
Co-authored-by: Nikhil Kamath <110539926+amazonKamath@users.noreply.github.com>
Co-authored-by: Monika Singh <108652024+moninom1@users.noreply.github.com>
* Use CBMC XML output to enable VSCode debugger (#673)
Prior to this commit, CBMC would emit logging information in plain text
format, which does not contain information required for the CBMC VSCode
debugger. This commit makes CBMC use XML instead of plain text.
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* wip
* wip DHCPProcess
* wip dhcp process
* wip
* fix CBMC ProcessDHCPReplies proofs
* wip DHCPProcess
* fix DHCPProcess CBMC proof
* fix DHCPProcess CBMC proof
* added multiple end point
* fix ProcessDHCPReplies
* fix function sign.
* fix DHCP CBMC proofs
* NULL assume to assignment
* updating with changes wrt review comments
* adding more non determinism to the proof
* free memory in FreeRTOS_ReleaseUDPPayloadBuffer
* WIP DHCPProcess CBMC proof
* wip DHCP process
* reverting back to old version
* adding more comments
---------
Co-authored-by: Kareem Khazem <karkhaz@amazon.com>
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* fix cbmc vProcessGeneratedUDPPacket proof
* Use CBMC XML output to enable VSCode debugger (#673)
Prior to this commit, CBMC would emit logging information in plain text
format, which does not contain information required for the CBMC VSCode
debugger. This commit makes CBMC use XML instead of plain text.
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* fix cbmc proofs for vProcessGeneratedUDPPacket and ProcessReceivedUDPPacket
* adding more asserts
* NULL assume to assignment
* fixing formatting and adding more non determinism to the proof
* adding asserts and comments
---------
Co-authored-by: Kareem Khazem <karkhaz@amazon.com>
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* Use CBMC XML output to enable VSCode debugger (#673)
Prior to this commit, CBMC would emit logging information in plain text
format, which does not contain information required for the CBMC VSCode
debugger. This commit makes CBMC use XML instead of plain text.
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* fix the CBMC proof build and fail due to non inclusion of actaul src files
* fix the CBMC proof build and fail due to non inclusion of actaul src files
* adding tcp transmission v4 src to build
* fix cbmc proof for CheckOptionsInner
* updating as per review comments
* fix check option CBMC proofs
* removing unused assumptions
---------
Co-authored-by: Kareem Khazem <karkhaz@amazon.com>
Co-authored-by: Mark Tuttle <tuttle@acm.org>
* Change in UDP process flow to drop packet in case of invalid payload length for IPv4
* Uncrustify: triggered by comment.
* Update FreeRTOS_IP.h
---------
Co-authored-by: GitHub Action <action@github.com>
The sizes of array variables in C must be known at compile time.
Here sizeof result is a constant. However, if we assign it to a
constant variable it is still a variable to C.
* wip
* fix build failure and test failures for FreeRTOS IP unit tests
* new ip diffconfig 1 included in build
* updating prvProcessUDPPacket() as per PR #689 and fixing tests
* wip ip diffconfig
* added diffconfig2 for ip unit tests wrt to diffconfig with ipconfigCOMPATIBLE_WITH_SINGLE set as zero to enable FreeRTOS_IP_init tests and fixed freertos ip diffconfig unit tests
* minor fix on an ARP unit test
* minor fix with ip utils diffconfig unit tests build
* Fixed build failure with ip diffconfig 1 and 2. Pulled latest changes from dev/v6 branch.
* Removed unused code.
* Fix seg fault
* Remove ipconfigUSE_IPV6
* Add change for FreeRTOS_IP_Utils unit test case
* Fix comments
* Uncrustify: triggered by comment.
* Fixed build issue with IP utils unit test build.
* Removed calculation of checksum being done twice for debug printf
---------
Co-authored-by: Monika Singh <moninom@amazon.com>
Co-authored-by: Monika Singh <108652024+moninom1@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
* WIP
* Fixed ARP, with 2 test cases pending which requires src changes which are not priority. Fixed TCP and UDP test cases.
* return value of xProcessReceivedUDPPacket initialized to pdFAIL
* fixing UDP test cases
* fixed arp unit tests
* Fix tcp transmission unit test cases.
* Fixed tcp ip failing unit tests
* Fixed tcp reception failing unit tests
* Fixed tcp state handling failing unit tests.
* Fixed ARP diffconfig unit tests.
* fixed failing unit tests
* Fixed failing unit tests for dns networking and parser:
* Fixed issue with vReturnEthernetFrame is called twice during DNS_TreatNBNS
* Minor fix with DNS unit test cases
* Changes after testing all other protocols IPv4 and IPv6
* Clear interface/endpoint when creating a network buffer
* After running uncristify
* Didn't mean to update 'TCP_Transmission_IPV4'
* Removed changes from Routing.h to make merging easier
* WIP
* Fixed ARP, with 2 test cases pending which requires src changes which are not priority. Fixed TCP and UDP test cases.
* return value of xProcessReceivedUDPPacket initialized to pdFAIL
* Reparations and recommendations for the dev/IPv6_integration branch
* Applied uncrustify
* More changes after testing ARP, ICMP4, ICMP6, UDPv4 and UDPv6, DNSv6
* A few changes to DNS after testing it
* Fixed minor issue with build
* Fix minor compilation error with latest unit test changes
* WIP
* Fixed failing tcp transmission unit tests
* Undo commenting few test cases that were commented by mistake
* Fix PR review comments
* Fix FreeRTOS_IP and FreeRTOS_IP_DiffConfig test cases
* Remove test_prvProcessIPEventsAndTimers_eNetworkDownEvent test Case
- eNetworkDownEvent no longer support xNetworkUp variable, the network status
is kept in pxEndPoint->bits.bEndPointUp.
* Run Uncrustify.
Co-authored-by: GitHub Action <action@github.com>
* WIP fix tests for failing ARP unit tests
* WIP fix failing test cases for ARP unit tests
* WIP fix failing test cases for the ARP unit test cases
* Fixed failing test cases for the FreeRTOS_ARP_DataLenLessThanMinPacket_utest unit tests
* Fixed failing test cases for ARP unit tests