Assert fail using zero copy buffers porting FreeRTOS-Plus-TCP V3.1.0 to V4.2.2

Agree on that, but on the other side, there isn’t much hardware that doesn’t offer the ethernet buffer offsetting feature. (at least based on the questions posted here)
In those cases, this assert help to choose the right value for the ipconfigPACKET_FILLER_SIZE or ipconfigBUFFER_PADDING. Based on the hardware, the performance could be significantly impacted if the alignment is not correct. I believe keeping this behavior default and disabling it being optional makes the impact a bit clearer for the users.

I also realized that I could have defined ipconfigBUFFER_PADDING as:
#define ipBUFFER_PADDING ( 12U + ipconfigPACKET_FILLER_SIZE )
to avoid the assert although the extra memory would be unused.

If ipconfigPACKET_FILLER_SIZE is defined as 0, then it will still trigger the assert here:

configASSERT( ( ( ( ipSIZE_OF_ETH_HEADER ) + ( ipBUFFER_PADDING ) ) % 4U ) == 0U );

wouldn’t it?