This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: XXXX_RECV multiple packet receipt


On Fri, 2005-09-02 at 15:23 -0700, mkhoyila@uci.edu wrote:
> Gentlemen,
> 
> In some cases when a single receive interrupt happens, I get multiple
> packets sitting in my Receive Buffers (multiple rxBuffers filled, each
> buffer corresponds to one received packet). Is it possible to receive
> these packets with a single call to eth_drv_dsr() which eventually
> XXXX-Recv will be called?
> 
> I would like to take advantage of having multiple buffers and receiving
> all at the same time for performance reasons.
> 

Yes, this works just fine.  In your DSR handler, simply call 
eth_drv_recv() for every packet that you have buffered up.

> I would appreciate your response to my earlier email regarding zero-copy
> in XXXX_Recv function as well. Thank you.

This is a much harder problem and, sadly, with the current upper
layer design, there is no way to accomplish it at this time.  It
would require a fairly significant restructuring of the middle
layer (eth_drv) which sits between the stacks and the hardware
drivers.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]