I’m currently testing the DNS client of +TCP_multi. When using 188.8.131.52 as DNS server I noticed, that eARPGetCacheEntry does not resolve unmatched remote ip addresses to the default gateway.
This is because FreeRTOS_FindEndPointOnNetMask returns either the correct EndPoint, or the default EndPoint, and only in case no default is set NULL.
eARPGetCacheEntry then checks by
if( pxEndPoint == NULL ) (Line 456 in FreeRTOS_ARP.c) if the default gateway should be used, which is never reached.
My idea was to let FreeRTOS_FindEndPointOnNetMask return NULL instead of the default EndPoint, and to explicitly call FreeRTOS_FindDefaultEndPoint wherever the default EndPoint is required. But FreeRTOS_FindEndPointOnNetMask is used in quiet a lot locations, I’m afraid of breaking something without knowing.
What do you think?