1
0
mirror of https://github.com/FreeRTOS/FreeRTOS-Plus-TCP synced 2025-10-24 03:32:36 +08:00
Commit Graph

18 Commits

Author SHA1 Message Date
ActoryOu
31c7a360a9 [IPv6] Add Unit Test for FreeRTOS_IP/FreeRTOS_IPv4. (#862)
* Add network down test in prvIPTask

* Align IP test configurations

* Remove redundant define check

* Fix unit test cases

* Fix stubs in some UT

* Add test cases for DHCPv6 and backward compatible

* Add test cases for FreeRTOS_GetUDPPayloadBuffer_Multi IPv6

* Test case for FreeRTOS_IPInit_Multi

* FreeRTOS_ReleaseUDPPayloadBuffer

* FreeRTOS_GetEndPointConfiguration

* FreeRTOS_GetAddressConfiguration

* FreeRTOS_GetEndPointConfiguration

* FreeRTOS_SetEndPointConfiguration

* FreeRTOS_GetAddressConfiguration

* Fix UT

* eConsiderFrameForProcessing

* prvProcessIPPacket

* vReturnEthernetFrame

* FreeRTOS_GetIPAddress

* Move IPv4 test under IPv4.

* Move IPv4 unit test cases from IP folders to IPv4 folders.

* prvProcessIPPacket

* vReturnEthernetFrame

* FreeRTOS_GetIPAddress

* FreeRTOS_IsNetworkUp

* FreeRTOS_AllEndPointsUp

* uxIPHeaderSizeSocket

* IP coverage

* FreeRTOS_SetIPAddress

* FreeRTOS_GetGatewayAddress

* FreeRTOS_GetDNSServerAddress

* FreeRTOS_GetNetmask

* FreeRTOS_UpdateMACAddress

* FreeRTOS_GetMACAddress

* FreeRTOS_SetNetmask

* FreeRTOS_SetGatewayAddress

* FreeRTOS_GetUDPPayloadBuffer_Multi

* IP coverage

* Code beautify

* prvAllowIPPacketIPv4

* prvCheckIP4HeaderOptions

* Remove legacy ipLOCAL_IP_ADDRESS_POINTER

* Add descriptions for IP test cases

* Remove redundant includes in test files.

* Add test description for IPv4 unit test

* Remove unnecessary config change

* Code beautify.

* Spelling

* Fix UT
2023-05-17 15:02:55 +08:00
Tony Josi
1f98752059 Adding IPv4/v6 build level separation: integration branch (#855)
* use matching endpoint instead of first endpoint

* update with @htibosch  latest changes

* fix formatting

* fix misra and spellings

* code clean up

* wip separation IP

* separation IP

* separation IP

* wip buils separation

* fixing unit tests

* fix unit tests

* fix formatting

* wip , next prvProcessNetworkDownEvent

* adding build separation to ip utils

* fix unit tests

* fix formatting

* update xCheckRequiresARPResolution

* update vARPAgeCache

* update vARPAgeCache

* misra checks

* fix formatting

* fix misra

* wip s/w: FreeRTOS_recvfrom

* wip sockets till prvSocketBindAdd

* adding  build separation to FreeRTOS_Sockets.c

* add build config support to FreeRTOS_inet_pton FreeRTOS_inet_ntop FreeRTOS_GetIPType

* adding build config support

* fix build  issues

* check misra

* minor fix

* fix unit tests

* fix unit tests build

* Uncrustify: triggered by comment

* fix formatting

* build separate FreeRTOS_TCP_IP.c

* build separate FreeRTOS_TCP_Reception.c

* misra fix

* build separate FreeRTOS_TCP_State_Handling.c

* build separate FreeRTOS_TCP_Transmission.c

* build separate FreeRTOS_TCP_Transmission.c fix build

* adding build separation for FreeRTOS_TCP_Utils.c and FreeRTOS_TCP_Transmission.c

* fix formatting

* UDP: Build Separation Changes

Changes in UDP files to support IPv4 and IPv6 Build Separation.

* fix IPv4 build issues post build sep merge

* IPv4 only build

* more - fix IPv4 build issues post build sep merge

* fix DHCP v4

* fix v6 build

* add v6 build checks

* separate v4v6 tcp files

* fix rebase conflicts

* fix formatting

* fix build when TCP disabled

* add more build checks

* adding more ipv4 flags to v4 specific files

* fix udp unit tests

* add build config build tests to CI

* fix formatting

* fix build checks yml

* DNS: Build Separation Changes

Changes for supporting IPv4 and IPv6 build separation in DNS.

* Routing: Build Separtion Changes

Changes for supporting IPv4 and IPv6 build separation in Routing.

* DNS build fix and rebase to latest changes

* fix formatting

* fix unit tests

* fix formatting

* fix MISRA

* updaating ARP functions to be available on all configs

* plus_tcp_demo_cli build config changes

* fix formatting, guard FreeRTOS_FillEndPoint inside ipconfigUSE_IPv4 check

* more build sepration changes to routing

* build separation plus_tcp_demo_cli.c

* fixing issues with routing, fix formatting

* adding pxFindEndpoint of plus_tcp_demo_cli inside ipconfigUSE_IPv6 != 0 check

* minor build fix

* moving usDNSType of endpoint struct out of ipconfigUSE_IPv6 check

* update code to use IP family while using socket APIs

* moving vSetMultiCastIPv4MacAddress to FreeRTOS_IPv4_Utils.c

* fix routing

* build DNS only if IPv4 is enabled

* fix review feedback

* fix build

* fix build

* fix formatting

* fix comment

* fix wrt reeview feedback

* fix unit tests

* cleanup FreeRTOS_MatchingEndpoint

* fix FreeRTOS_MatchingEndpoint to handle cusstom frames

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: shubnil <103672514+shubnil@users.noreply.github.com>
2023-05-09 19:48:59 +05:30
Tony Josi
d8fc3200a2 Add backward compatibility with main branch with ipconfigIPv4_BACKWARD_COMPATIBLE (#756)
* 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>
2023-03-07 20:55:27 +05:30
Tony Josi
31f0ad7792 Zero copy fix (#743)
* fix FreeRTOS_GetUDPPayloadBuffer to handle IP type configuration based on IPv4/v6

* fix zero copy issue

* fix FreeRTOS_GetUDPPayloadBuffer

* Uncrustify: triggered by comment

* minor fix

* adding back original FreeRTOS_GetUDPPayloadBuffer for backward compatibility

* renaming FreeRTOS_GetUDPPayloadBuffer_IPv46 to FreeRTOS_GetUDPPayloadBuffer_ByIPType

* Uncrustify: triggered by comment.

* Refactoring changes - initialises return variables to NULL instead of assigning it later.

* Add changes for Coverity fix (#729)

* Fix Coverity issues

* Fix Misra 4.4 violation:The comment resembles a code snippet

* Misra: Rule 10.4 violations

* Misra: Rule 11.8 violations

* Misra: Rule 12.1 violations

* Misra: Rule 8.2, 8.4, 8.5, and 8.9 violations

* Misra: Rule 5.3, 5.8, 21.1 and 21.2  violations

* Misra: Rule 5.7 violations

* Misra: Rule 8.3 violations

* Misra: Rule Reverse NULL violations

* Misra: Rule 10.3, 10.8 and 8.13 violations

* Fix 11.3 and suppress 11.4

* Misra: Rule 14.3, 15.7, 17.2 and 17.7 violations

* Misra: Rule 2.2 and 2.7 violation

* Misra: Rule 21.6, 8.5 and 8.13 violation

* Fix UT compilation

* Update comments

* Fix Spell checker

* Update snprintf

* Fix for assert in NDageCache function (#731)

Add a condition so that NDageCache functions just returns
when invoked for IPv4 cases.

Co-authored-by: Monika Singh <108652024+moninom1@users.noreply.github.com>

* update FreeRTOS_GetUDPPayloadBuffer to use FreeRTOS_GetUDPPayloadBuffer_ByIPType internally

* Uncrustify: triggered by comment

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Monika Singh <108652024+moninom1@users.noreply.github.com>
Co-authored-by: shubnil <103672514+shubnil@users.noreply.github.com>
2023-03-01 12:07:26 +05:30
Tony Josi
36172f9b66 Fix unit tests wrt. latest dev/IPv6_Integration changes (#740)
* 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>
2023-02-24 14:41:13 +05:30
holden-zenith
91b68555fd lexicon fixes (#727)
Co-authored-by: Tony Josi <tonyjosi@amazon.com>
2023-02-17 12:23:25 +05:30
kar-rahul-aws
4553edd116 Change in UDP process flow to drop packet for invalid IPv4 payload length (#716)
* 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>
2023-02-15 10:04:45 +05:30
Tony Josi
16ef9df144 Fix unit test build issues and test failures for IP (#690)
* 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.
2023-02-07 10:40:24 +05:30
Monika Singh
7315e4b3ba Fix FreeRTOS_IP test cases (#666)
* 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>
2023-01-16 21:07:57 +05:30
Tony Josi
e8bec09103 Fix tcp transmission test cases (#657)
* WIP fix tcp transmission utests

* WIP fixing failing test cases for TCP transmission unittests

* Fix issue with tcp test case arguments getting changed when passed to functions

* Fixed failing unit tests for TCP transmission unit tests
2023-01-06 12:35:29 +05:30
Tony Josi
4d52c259c3 Fixes for the build issues for the IP unit tests (#639)
* WIP. IP ut build fix

* WIP build fix for IP file

* WIP build fix

* WIP build fix

* WIP fix IP build issues.

* Fixed build failsure for IP unit tests

* Updated to latest changes from dev/ipv6 branch

* Updating to latest target changes

* Fix build issue with IP utests
2022-12-19 17:08:30 +05:30
Tony Josi
2e4c5a116a Ut build fixes for FreeRTOS_IP file (#623)
Fixed build failure for FreeRTOS_IP unit tests for IPv4
2022-12-19 15:22:21 +05:30
Monika Singh
6b20f521dd Add IPv6 specific header files and structures. (#566)
* Add IPv6 specific header files.

* Update according to Coding Guidelines and Uncrustify

* Adding common IP file to handle common strctures

Co-authored-by: Monika Singh <moninom@amazon.com>
2022-11-04 14:03:43 +05:30
Aniruddha Kanhere
1ab6eb8885 Update version numbers and licensing info (#541)
* Update source location for coverity

* Add coverage checker

* Add build check with default configuration

* Fix build combination and DNS error

* uncrustified and fixed cmakelists

* This commit updates version number in all files to Development-Branch

* Update version number macros

* This commit fixes a typo in version number macro

* Added a 'critical section' to prevent a race condition in stream buffers

* Uncrustify: triggered by comment.

* Fixed unit-tests by adding mocked functions

* Initial commit of file README.md

* Update README.md

* Fix the title of README file in coverity

* Addressed issue comments

* Update command

* Add details about remaining exception

* Move file to original location

* Remove use of sudo in commands

* Fix links; added coverity version note

* Update README.md

* Remove CMake installation instructions

* Update manifest/history and copyright year

* Update kernel version to 10.4.5

* Update remaining copyright year instances

* Update the version number macros

* Update license header titles

* Remove kernel license header and add TCP header

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2022-08-12 16:21:44 -07:00
Aniruddha Kanhere
f44d36d5ce Update version number of TCP to development (#516)
* Update source location for coverity

* Add coverage checker

* Add build check with default configuration

* Fix build combination and DNS error

* uncrustified and fixed cmakelists

* This commit updates version number in all files to Development-Branch

* Update version number macros

* This commit fixes a typo in version number macro
2022-07-06 10:29:48 -07:00
Hein Tibosch
2b99a0cb3e Let the TCP timer becomes expired in stead of active (#481)
* 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

Co-authored-by: Hein Tibosch <hein@htibosch.net>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
2022-06-13 15:27:39 -07:00
xuelix
4fb9674de0 Misra check fix and update (#476)
* Misra check fix and update
2022-06-06 17:47:09 -07:00
Aniruddha Kanhere
a4124602cc Merge changes to main.
This commit brings in the refactoring and restructuring changes
from IntegrationTesting1 branch to the main branch.
It also includes additional unit tests for 100% coverage.
The rationale behind not creating a PR is that the conflicts were too
huge to be resolved correctly. Thus, a force push to the main branch is
being done.
2022-05-26 12:42:45 -07:00