Hi
You can reduce this problem enough for it to go away, by improving the receive ISR for the FEC.
I seem to remember that the RX ISR is pretty dumb and simply tries to pass any valid frame up the stack. You can improve matters by examining the frames and simply discard any that are not of importance.
I have modified the RX ISR so that I only bother with broadcast ARP matching my host IP address (ARP request), unicast ARP (reply), TCP, UDP addressed to me, or unicast ICMP request and reply frames. Anything else is just ignored.
The FEC sets a flag for broadcast frames,so you just need to test if the protocol is ARP to see if you are interested, all other broadcast frames are dumped. I then check if the request is for my host IP address.
For non-broadcast, check the protocol, and for ARP, TCP and UDP, check if the address matches your host address(es).
Although this adds cycles to the RX ISR, these are cycles that have to happen anyway, they are very minimal, and they will save a lot of buffers.
Paul.