
FEC_STRUCTURE This seems to be the subject of some debate, but looking over it, the fec structure in the CVS does appear to be incorrect. For instance, it only defines a single hash table uint fec_hash_table_high; /* upper 32-bits of hash table */ uint fec_hash_table_low; /* lower 32-bits of hash table */] Even thought the datasheet clearly indicates that there are two. How could this possibly be correct? Zach's structure does appear to be the correct one, and in fact is the only one I've had any success with at all.
There's no debate. The structure is wrong. Wolfgang has requested a patch be submitted for it. I haven't had time to do it, but go for it if you do.
SPEED: The new code can download intact linux images with tftp, but it only works if ET_DEBUG is enabled. If it's not everything seems to run too fast and the code chokes itself(sends out big bursts of packets and then doesn't respond to the big bursts it gets back). How can I tell it to slow down and wait for responses without debug statements? Is there a place for this?
As you mentioned in your next email, this is probably an issue with the 5282 timer. The code I sent to you works for me, although I will not claim it is completely correct. I mucked around a bit with net.c while debugging, so there may or may not be things I changed in there that make it work. That isn't to say that net.c was wrong, but rather that my timer code may have been acting differently from how net.c expects.
ICMP: Once the TFTP transaction gags, my tftpd server turns around and starts trying to ping the client to see if it's alive, but it never responds. Should it be? does the stack support this?
I am able to use the 'ping' command once networking was setup. This is probably directly related to the timer issue.