While looking at old un-merged PRs I saw PR #547: "Set ipBUFFER_PADDING to 14 bytes by default on 64 bit targets".
Mentioned PR had the following description:
If ipconfigBUFFER_PADDING is not defined in FreeRTOSIPConfig.h, builds for 64 bit targets fail. Add a default value of 14 bytes ( 12U + ipconfigPACKET_FILLER_SIZE ) for ipBUFFER_PADDING to satisfy the alignment check in FreeRTOS_IP_Utils.c.
The change in FreeRTOS_IP.h:
/* Use setting from FreeRTOS if defined and non-zero */
#if defined( ipconfigBUFFER_PADDING ) && ( ipconfigBUFFER_PADDING != 0 )
#define ipBUFFER_PADDING ipconfigBUFFER_PADDING
+ #elif ( UINTPTR_MAX > 0xFFFFFFFF )
+ #define ipBUFFER_PADDING ( 12U + ipconfigPACKET_FILLER_SIZE )
#else
#define ipBUFFER_PADDING ( 8U + ipconfigPACKET_FILLER_SIZE )
#endif
The PR was reviewed, approved, and then somehow forgotten.
Checklist:
[x] I have tested my changes. No regression in existing tests.
[ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.
Related Issue
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Description
While looking at old un-merged PRs I saw PR #547: "Set ipBUFFER_PADDING to 14 bytes by default on 64 bit targets".
Mentioned PR had the following description: If
ipconfigBUFFER_PADDING
is not defined in FreeRTOSIPConfig.h, builds for 64 bit targets fail. Add a default value of 14 bytes( 12U + ipconfigPACKET_FILLER_SIZE )
foripBUFFER_PADDING
to satisfy the alignment check in FreeRTOS_IP_Utils.c.The change in FreeRTOS_IP.h:
The PR was reviewed, approved, and then somehow forgotten.
Checklist:
Related Issue
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.