Networking: Still waiting for mbuf cluster.
Torsten Landschoff
torsten.landschoff at nambition.com
Tue Sep 25 09:19:25 UTC 2007
Hi Thomas,
Thanks for your reply.
Thomas Doerfler wrote:
> the messages you mentioned are a typical signal, that someone (the
> driver?) eats up the network buffers. Either they are dropped and not
> properly returned to the free buffer pool, or they are stuck to the
> transmit queue.
>
Okay, so much seems clear to me. It's just that an ping -f works fine,
therefore I would expect the driver to correctly transmit and receive
packets. It also creates a hell lot of interrupts - there is a lot of
room for improvements of the xiltemac driver.
> I saw this once, when the network driver's transmit interrupt did not
> properly clean up things. You should make sure that:
>
> - The ethernet hardware properly generates interrupts, when a buffer has
> been transmitted
>
Good point. I was sure the driver would work once the original interrupt
connection is working. The network statistics of the Temac driver look
suspicious:
xiltemac: Statistics for interface 'eth0'
xiltemac: Ipif Interrupts: 1041
xiltemac: Rx Interrupts: 1041
xiltemac: Rx Rejected Interrupts: 0
xiltemac: Rx Rej Invalid Frame: 0
xiltemac: Rx Rej Data Fifo Full: 0
xiltemac:Rx Rej Length Fifo Full: 0
xiltemac: Rx Stray Events: 0
xiltemac: Rx Max Drained: 12
xiltemac: Tx Interrupts: 0
xiltemac: Tx Max Drained: 2
So I'll have to look into the Tx interrupt handling, it seems. As the
same code is working with another FPGA setup, I think it might be that
the tx interrupt was improperly routed. Let's see.
> - The network driver makes sure that it cleans up the transmitted
> buffers, even if it gets only one transmit interrupt for multiple
> buffers transmitted.
>
Thanks for your hints, I think that will help me further.
Greetings, Torsten
More information about the users
mailing list