FreeRTOS+TCP and ipconfigETHERNET_DRIVER_FILTERS_FRAME_TYPES

I would like my MCU to obtain an IP via DHCP using FreeRTOS+TCP.

I am seeing that my MCU replies to any ICMP ping packets that have the MCU's MAC address as destination.
This includes packets that do not have the MCU's IP address as destination.
This interferes with the DHCP server because every time I reset my MCU the following happens:

  • the MCU issues a DHCP request
  • the MCU's MAC address is already in the DHCP server lease file
  • the DHCP server will try to assign the IP address found in the lease file
  • the DHCP server will try to ping the IP it intends to offer
  • that IP is looked up in the OS ARP table, the MCU MAC address entry is fresh, so it will be used
  • the ping request (with correct destination MAC from ARP table but wrong destination IP) is issued (technically the MCU does not even have an IP yet)
  • the MCU replies to that ping request
  • the DHCP server deems that IP occupied, so it offers the next one available

I suppose cause is that only the MAC is being filtered by the ethernet driver, so the solution to this would be to set ipconfigETHERNET_DRIVER_FILTERS_FRAME_TYPES in "FreeRTOSIPConfig.h" to 0.
I suppose I do that by setting "Responsibility of the Ethernet interface to filter out packets" to "Disable" in FreeRTOS+TCP stack configuration in e2-studio's "FSP configuration" view.
But no matter what value I put there, ipconfigETHERNET_DRIVER_FILTERS_FRAME_TYPES is always set to 1.

Am I on the right track?
How can I set that flag to 0?

Thanks

In my application I am running the following software components:

  • e2-studio version 2023-10 (Linux)
  • FSP version: v5.1.0
  • FreeRTOS: v10.6.1+fsp5.1.0
  • FreeRTOS+TCP: v4.0.0+fsp5.1.0