1
0
mirror of https://github.com/FreeRTOS/FreeRTOS-Plus-TCP synced 2025-10-24 20:29:40 +08:00
Commit Graph

35 Commits

Author SHA1 Message Date
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
Paul Bartell
63fe99f9c6 FreeRTOS_IP.h: Fix build error introduced by 55658e1 in FreeRTOS-Kernel 2023-04-17 19:11:58 +00:00
ActoryOu
8e7a3fe5a1 Check packet length for IPv6. (#811)
* Check IPv6 packet length.

* Fix unused compile warnings.

* Move xCheckSizeFields to static function and fix unit test cases.

* Add minimum length check for IPv6 transport layer.
2023-04-06 17:09:24 +08:00
Tony Josi
89269454b9 CMake changes from main branch [PR: #557, PR: #742] (#803)
* 556 Initial Cmake Module definition. #557

* renaming variables that have conflicting names with MSC and *nix headers

* fix build issue for posix port

* Fix warning: -Waddress-of-packed-member when calculating checksum directly from network packets

* fix warnings with prvInitialiseTCPFields declaration

* removing macros that hides the structure fields

* Updating build check enable all config to enable all config macros

* CMake: Fix GIT_REPOSITORY and GIT_TAG (#742)

* moving ipTRUE_BOOL and ipFALSE_BOOL out of #ifndef pdTRUE_SIGNED check as they are not defined in kernel

* minor fix to the cmake files and main file

* Uncrustify: triggered by comment.

* adding doxygen comments to new functions

* Uncrustify: triggered by comment

* Add more warnings check and fix warnings

* Uncrustify: triggered by comment

* fix review feedback and more debug printf warnings fix

* more warnings fix

* fix misra issues

* Uncrustify: triggered by comment

* replace sin_addr with sin_address.ulIP_IPv4 in +TCP demos

* replace sin_addr6 with sin_address.xIP_IPv6 in +TCP demos

* replace freertos_sockaddr6 with freertos_sockaddr in +TCP demos

* review feedback changes

* removing duplicate def for prvStreamBufferAdd from winpcap

* fix more warnings from MSVC

* Uncrustify: triggered by comment

* review feedback changes

* Uncrustify: triggered by comment

---------

Co-authored-by: phelter <paulheltera@gmail.com>
Co-authored-by: Nikhil Kamath <110539926+amazonKamath@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2023-03-27 10:52:02 +05:30
Monika Singh
bfa067a6a4 Update TCP version number 2023-03-15 15:02:44 +00:00
Aniruddha Kanhere
8bf0bf7c2c Update mainline to reflect changes after the release. (#563)
* Update README.md

* Update History.txt

* Update version number macros

* Update manifest.yml
2023-03-14 10:00:22 +00:00
Monika Singh
dbd2b001b1 Update portable layer for backward compatibility (#755)
* Rename FreeRTOS_IPStart to FreeRTOS_IPInit_Multi

* Update backward compatability for portable layer
2023-03-07 22:02:55 +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
Monika Singh
9a955f27ac 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
2023-02-28 12:55:20 +05:30
holden-zenith
3062666f80 Uncrustify (#730)
* uncrustify

* Uncrustify: triggered by comment.

* Update FreeRTOS_ARP.c

* Fix whitespace changes

---------

Co-authored-by: Holden <holden-zenithaerotech.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
2023-02-17 12:06:39 +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
Monika Singh
0490d89319 Add Protocol Testing fixes (#694)
* Fix compilation and add Protocol testing fixes

* Update debug function with correct config flag
2023-01-31 21:56:54 +05:30
Hein Tibosch
f88dea60ca Reparations and recommendations for the dev/IPv6_integration branch (#664)
* 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
2023-01-25 18:33:44 +05:30
Monika Singh
964790f76e Fix unit test cases for FreeRTOS_DHCP (#662)
* Fix segmentation Fault
* Fix unit test cases for FreeRTOS_DHCP
2023-01-17 21:56:55 +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
kar-rahul-aws
bf32bf336e Demo changes for IPv4 Endpoint changes (#660)
* Update FreeRTOS_ARP.c
* Update FreeRTOS_UDP_IPv4.c
* Update FreeRTOS_TCP_Transmission_IPV4.c
* Update FreeRTOS_IP.c
* Update FreeRTOS_DHCP.c
* Update FreeRTOS_DNS.c
* Update NetworkInterface.c

Add Functions  To avoid scheduler suspension: xPacketBouncedBack and prvStreamBufferAdd
2023-01-10 19:27:49 +05:30
Monika Singh
4624fb0e00 Remove use of ipconfigCOMPATIBLE_WITH_SINGLE (#646)
As ipconfigCOMPATIBLE_WITH_SINGLE is never enabled and used partially, removing the rest of the instances of the same.
Ran uncrustify.
2022-12-21 20:09:40 +05:30
Tony Josi
8562669587 Fixing spell check issues (#613) 2022-12-16 14:33:01 +05:30
Monika Singh
58eab85964 Fix compilation with end point changes (#612)
Add changes to fix compilation with End point changes being added on TCP/UDP.
Run Uncrusitfy.
2022-12-15 22:59:58 +05:30
shubnil
e4f30d681e Changes to incorporate UDP changes for IPv6 (#611) 2022-12-15 21:18:50 +05:30
xuelix
f29870920d Fixing MISRA violation for FreeRTOS_IP*, FreeRTOS_DHCP* (#604)
* Fixing MISRA violation for FreeRTOS_IP*, FreeRTOS_DHCP*
* remove temp change
2022-12-14 09:19:08 +05:30
Monika Singh
1d3f1a4e88 Add endpoint changes to DHCP files (#593)
* DHCP.c changes and compilation fix
* Update end point changes
* Run uncrustify
2022-12-08 11:30:24 +05:30
Monika Singh
96643cedf1 Add IPv6 data path and endpoint changes to FreeRTOS_IP.c (#591)
* Add IPv6 data path and endpoint changes to FreeRTOS_IP.c
* Add FreeRTOS_IPv4.h and FreeRTOS_IPv6.h files.
* Fix compilation issues and run Uncrustify
2022-12-06 11:59:32 +05:30
shubnil
bd475ab1fe Base Endpoint Changes for IPv6 (#590) 2022-11-29 00:17:27 -08:00
Monika Singh
70c261d986 Add IPv6 changes to FreeRTOS_IP_Timer FreeRTOS_IP_Utils file. (#572)
- Add IPv6 changes to FreeRTOS_IP_Timer FreeRTOS_IP_Utils
- Add FreeRTOS_DHCPv6.h
- Update generateChecksum.
- MISRA: Fix rule 1.1, 8.13, 8.5, 20.9 and Suppress rule 8.9, 11.3
- Limit the use of ipconfigUSE_IPV6
- Run uncrustify and update the files
2022-11-21 14:22:29 +05:30
shubnil
c1cb096a90 Revert "Changes to incorporate support for both IPv4 and IPv6 support"
This reverts commit cd11916dd6.
2022-11-15 11:35:40 +05:30
shubnil
cd11916dd6 Changes to incorporate support for both IPv4 and IPv6 support
for UDP protocol.
2022-11-14 23:09:46 +05:30
Monika Singh
902d6bc975 Add Header size functions for IPv6 and IPv4 (#569)
* Add common Header size function for IPv6 and IPv4

* MISRA: Fix rule 1.1, 10.3, 20.9 and suppress rule 20.5

Co-authored-by: Monika Singh <moninom@amazon.com>
2022-11-07 09:59:22 +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
alfred gedeon
80876f5301 Consolidate all misra inline violation justifications into a single file (#521)
* Consolidate all misra inline violation justification into a single file

* Style: fix formatting error

* Style: fix formatting error

* Fix build error

* fix merge errors

* fix merge conflicts

* Style: improve misra exception file

* Updated the justification for MISRA rule 2.2 violation

* Fix comments and justification for MISRA rule 8.9

* Update justification for MISRA rule 11.3

* Updated wording of violation of rule 11.4 ref 5

* Updated the justification of rule 11.4 ref 29

* Fixed comment and justification for ref 31

* Update rule 11.6

* Fix some violations

* Update justifications of various violations

* Fix formatting

* Remove the previous verison of violation table

* Update formatting to separate reference numbers from the text

* Update ref for rule 2.2 and 8.9

* Update rule 11.3 references

* Added rule 11.4

* Added rule 11.6

* Added rule 11.8

* Update refs in MISRA.md

* Add rule 14.3

* Fix 21.6, 17.2 and 20.10

* Fix spell check

* Fix mis-spelled words and address review comments

* Add link to 8.9

* Add 11.3 link

* Add link for 11.4

* Add links for 14.3

* Add remaining links

* Updated some justifications and simplified code to remove deviation

* Fixed spelling errors

* Fix justification for rule 11.3 violation

* Update the link to be a hyperlink

* Update comments for misaligned access

* Add link to project wide suppression file

* Updated wording in MISRA config

* Fix grammar and reorder file

* Address comments

Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
2022-07-26 11:30:42 -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
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