wendy writes:
 > You mean the free buffer routine of [b]desballoc[/b] is always called before 
 > gld_recv( ) or mac_rx( ) exit?  If something goes wrong, like the "Ping got 
 > stuck" issue that we discussed last week happens and packets got buffered in 
 > system until name service timeout, can the free buffer routine be called 
 > before gld_recv( ) or mac_rx( ) exit? If so, then I think we do not need a 
 > free rx buffer list since the  rx buffer is always freed after sending 
 > packet upstream and we can re-use it.
 > 
 > But I see many network drivers still have free buffer list even if their rx 
 > buffer were allocated using desballoc( ), why? I am very confused.

The buffers can sit for unbounded amounts of time anywhere, and your
free routine can be called at any time.  You need a free list.

Drew
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to