Skip to content

Conversation

@htibosch
Copy link
Contributor

@htibosch htibosch commented May 7, 2021

Description

Some change to ICMP/ping handling:

  • Depending on ipconfigFORCE_IP_DONT_FRAGMENT, set or clear the fragment field usFragmentOffset.
  • Depending on ipconfigDRIVER_INCLUDED_TX_IP_CHECKSUM, do a complete checksum calculation, or just clear the ICMP protocol checksum.
  • Check the return value of prvChecksumICMPv6Checks():
-    prvChecksumICMPv6Checks( uxBufferLength, pxSet );
+    xReturn = prvChecksumICMPv6Checks( uxBufferLength, pxSet );

Test Steps

I tested while setting:

#define ipconfigDRIVER_INCLUDED_RX_IP_CHECKSUM   0
#define ipconfigDRIVER_INCLUDED_TX_IP_CHECKSUM   0

meaning that the IP-task will calculate all checksums "manually".

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@htibosch htibosch requested a review from a team as a code owner May 7, 2021 09:03
@htibosch htibosch changed the title Do the ICMP checksum calculations in the same way as for TCP and UDP. IPv6/Multi: do the ICMP checksum calculations in the same way as for TCP and UDP. May 7, 2021
@AniruddhaKanhere AniruddhaKanhere merged commit 5796755 into FreeRTOS:labs/ipv6_multi May 11, 2021
@htibosch htibosch deleted the ipv6_multi_icmp_checmsums branch September 17, 2025 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants