lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [lwip-users] Mapping pbuf to Buffer Descriptor on MPC582T


From: Muhamad Ikhwan Ismail
Subject: RE: [lwip-users] Mapping pbuf to Buffer Descriptor on MPC582T
Date: Wed, 14 Nov 2007 05:46:49 +0000



Hmm I thought this is the flow of the output :
netif->output(ethernetif_output) --> etharp_output (resolve ARP)-->netif->lowleveloutput
 
I know that low level output is meant for for the actual transmission but my q really is..
is the the first pbuf in the chain's payload pointer points to the headers...or the actual data
without the headers..cause I read adam dunkel's notes and there he mentioned that the
payload points the to the actual data.. skipping the headers. Can someone help me clarify that ?
Thanks for the answer with the sockets api.. help me out a lot !
 
Ikhwan


 


> Date: Tue, 13 Nov 2007 18:47:17 +0000
> From: address@hidden
> To: address@hidden
> Subject: Re: [lwip-users] Mapping pbuf to Buffer Descriptor on MPC582T
>
> Muhamad Ikhwan Ismail wrote:
> >
> > Hi guys,
> >
> > I am porting lwip1.2.0(not using CVS for updates) to MPC852t with a
> > commercial RTOS from MQX I am a beginner in lwip. Got 2 qs on a problem
> > I am having.
> >
> > 1. MPC852T has a dual port ram with buffer descriptors, which have
> > pointers to the buffer/frame to be sent and the Ethernet controller
> > automatically fetch the pointed data for transmission as soon as I set a
> > flag up. The problem lies on the fact that the first-in-chain pbuf
> > payload pointer points to the actual data and skipped the headers, or at
> > least that is the way I understood it from the manual.
>
> No, the netif output function should be being called with the payload
> pointing to the headers, as you would hope and expect.
>
> But perhaps the problem is that you have set the netif->output function to
> be your driver, rather than etharp_output. You should find the
> src/netif/ethernetif.c template driver gives you an idea of what's
> involved, including in its init function:
>
> netif->output = etharp_output;
> netif->linkoutput = low_level_output;
>
> Where low_level_output is that driver's call to transmit a packet.
>
> > 2. Can someone show me how do I initialise the lwip stack to be used
> > with the sockets API (maybe the flow)?
>
> This has been tidied up and changed quite a bit in CVS, but even for 1.2.0
> you should find an example of the functions to call to initialise the stack
> in the ports directory hierarchy.
>
> > And is the usage of the sockets
> > api allows the lwip to be multithreading able ?
>
> The code in CVS is a bit safer for multithreading. But in whichever code
> base, it's important to remember that with lwIP you cannot use the same
> socket (or netconn) from multiple threads. You can have different sockets
> used by different threads though.
>
> Jifl
> --
> eCosCentric Limited http://www.eCosCentric.com/ The eCos experts
> Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571
> Registered in England and Wales: Reg No 4422071.
> ------["Si fractum non sit, noli id reficere"]------ Opinions==mine
>
>
> _______________________________________________
> lwip-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/lwip-users



Windows Live Hotmail and Microsoft Office Outlook – together at last. Get it now!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]