PPC405GP Ethernet Driver

Doyle, Bryon Thomas (Bryon) bdoyle at lucent.com
Mon Aug 1 18:58:52 UTC 2005

Thanks for your response, yeah I checked out my TX buffers and that's the only place I'm freeing up an mbuf. I think the problem may be in how I'm getting a new mbuf out of the pool in my RX task. I'm going over how I used some of the macros and comparing my usage to the usage in other RTEMS Drivers. Hopefully that will yield some results. Thanks Again

Bryon Doyle
Bell Labs Summer Intern
Lucent Technologies

-----Original Message-----
From: gregory.menke at gsfc.nasa.gov [mailto:gregory.menke at gsfc.nasa.gov]
Sent: Monday, August 01, 2005 3:08 PM
To: Doyle, Bryon Thomas (Bryon)
Cc: 'rtems-users at rtems.com'
Subject: PPC405GP Ethernet Driver

Check your tx complete routine, you should be freeing the packets
after they're transmitted- IIRC thats the only place your driver
should free packet buffers.  Perhaps tx buffers are leaking...


Doyle, Bryon Thomas (Bryon) writes:
 > Hello, I have been posting over the last few weeks on some pointers
 > how to write an Ethernet driver for the RTEMS gen405 BSP. Well,
 > I've got it running at about 95% now and I've run into a snag. I
 > seem to be running out of available "mbufs" after a few minutes of
 > netdemo running on the board, and I don't know why. I run a ping -t
 > on my development PC to test the network functionality, it runs
 > great for a while then it starts timing out. Over my terminal
 > connection to the board, I can run the statistics portion of
 > netdemo and it shows that all 512 buffers are full with data. And
 > when I try to run the UDP send command after pinging the board for
 > a few minutes it freezes and prints out "waiting for available
 > mbuf" every 30 seconds or so. Additionally, I am positive that the
 > Ethernet controller's DMA is properly configured and all the wrap
 > bits are set on the respective buffers. I am reluctant to simply
 > add a call to m_freem(m) in my receive function out of fear of
 > deleting a pa!  cket before the stack has finished processing it,
 > and given a quick glance of some other drivers in the RTEMS tree, I
 > did not notice any references to freeing up memory buffers after
 > they are received. Any thoughts on why my driver is eating up
 > mbufs?  Any help is always appreciated, and I plan on uploading my
 > driver into the RTEMS CVS as soon as I get this problem fixed and
 > feel comfortable with it working. Thanks Again.

More information about the users mailing list