Hi Elliott,
the issue is the same, regardless of the underlaying system.
You have to take care for calling tcpip_thread() enough times in your bare-metal application.
I think it's not necessary to disable RX-IRQ. The RX driver will handle the case, when no buffer is free.
Instead I would process the already received packets.
Do you have enough memory buffers?
My application uses:
#define PBUF_POOL_SIZE 32
#define PBUF_POOL_BUFSIZE 256U
Did you rework the "ethernetif_Input()"? The original KSDK2.0 version leads to strange errors, because of an error when receiving into chained buffers. --> memory is overwritten...
Have a look on my "ethernetif_Input()" in https://community.nxp.com/thread/395104
Best regards
Manfred