Warning: I havent used PETH so I might be totally off on this, but I am taking a guess. ********* Looks like you are generating packets faster than the rate at which xmt code sends them out and returns the descriptor to the SRAM push/pop queue. What is the number of buffers in your freelist? It is around 50 packets/slots for usual ethernet devices. You dont probably want it bigger than that because it can cause long queuing delays for low bandwidth links. What rate are you generating packets at? ********* -- abhijeet On Tue, 18 Feb 2003, huangtao wrote:
I have always start the microengine, I can ping to another ip address, but if the speed is a litter high, peth will drop some packet. this error is occured below:
in the peth_start_xmit function of source file peth.c .... /* Get a new descriptor where we can write the packet data */ sram_pop(freelist, &descriptor); descriptor = PETH_DESC_CORETOUENG(descriptor); ------> this descriptor is 0 .... PETH_DESC_POSTPOP(descriptor);
/* Sanity check */ if (!PETH_VALID_DESCRIPTOR(descriptor)) { logMsg("Bad descriptor %x, dropping outgoing packet\n", descriptor); -----> so have a error message pethFreeDescriptor(freelist, descriptor); goto errorAndCleanTXD; ---->xmit packet is droped } ....
who can help me pls.
Best Regard