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