[eepro100] Receive Buffer Descriptors

Kallol Biswas kallol@bugula.fpk.hp.com
Wed, 02 Aug 2000 21:51:56 EDT


> 
> Hi Everyone,
> 
> In the context of the ongoing discussions regarding descriptors,
> I have a question on the receive buffering scheme in the 82559
> chip. It pertains to the simplified model and the flexible model
> in the receive descriptors.
> 
> In simplified model the frame follows the descriptor immediately.
> In the flexible model, the first RFD has a linked list of RBD's,
> and subsequent RFD's have the RBD address set to NULL.

> In other words only the first RFD can have RBDs.
> Am I correct ? Any idea why is it like this? What if I descriptor

Yes you are correct, after receiving a frame the card increments the
internal rfd abd rbd pointers in flexible mode, but it is the drivers's 
responsibility to keep
the synchronization. If the card receives a frame that is bigger than the space
indicated in the rbd then data is put intothe buffer pointed by the next rbd,
(this increment of rbd pointer is done by the card)
 and the one to one
correspondence is broken, thought nothing is wrong with it.

> and frame not in contiguous memory and I want to make a
> ring of descriptors?
I am not sure about your question, in flexible mode you don't need to have
the rfd and data buffer in contiguous memory. You could allocate
a memory chunk and set up rfd ring, the data buffer may lie anywhere.
> 
> Thanks in advance
> -Naga
> 
> 
> 
> _______________________________________________
> eepro100 mailing list
> eepro100@scyld.com
> http://www.scyld.com/mailman/listinfo/eepro100
> 


--
Phone: 973-443-7469         |  Design Engineer
Telnet: 1-443-7469          |  Operating System Lab 
www.kallolbiswas.com        |  Hewlett Packard Company
kallol_biswas@hp.com        |  Florham Park, NJ