Hi Roman,

It looks like that patch set was for fixing PollDevice handling, not FromDevice.

To use FromDevice with an arbitrary network driver, I think you need to call 
skb->skb_linearize() before you make the packet from the sk_buff. Not very 
efficient, but if you're looking for performance you need to use PollDevice, 
anyway.

Bobby


--- On Fri, 12/17/10, Roman Chertov <[email protected]> wrote:

> From: Roman Chertov <[email protected]>
> Subject: Re: [Click] Strange buffer_length() value for packets of more than 
> 1500 bytes
> To: [email protected], "Bobby Longpocket" 
> <[email protected]>
> Date: Friday, December 17, 2010, 11:43 AM
> Bobby,
> 
> I believe the jumbo frame problem was fixed.  See 
> http://www.mail-archive.com/[email protected]/msg03800.html
> 
> Roman
> 
> On Fri, 17 Dec 2010 11:35:16 -0800 (PST) Bobby Longpocket
> <[email protected]>
> wrote
> 
> > Hi Manel,
> > 
> > My guess is that it is related to the Ethernet driver
> on the receive side. 
> > When you set the MTU higher (into jumbogram
> territory), it probably changes
> > the receive mechanism to store only the first part of
> the packet in the
> > 'data' part of the buffer and sticks the rest off in
> the 'frags' area of the
> > buffer.  Probably your version of Click doesn't
> support packets that are
> > stored this way (and, for all I know, none do).
> > 
> > Bobby
> > 
> > 
> > > Hi all,
> > >
> > > I am using linuxmodule click-1.7 over
> linux-2.6.24.7 (but
> > > this is also 
> > > the case with linux-2.6.18.2)
> > > If I send packets of 1480 bytes and with the
> default mtu of
> > > 1500, the 
> > > the buffer size allocated at the receiver is of
> 1664, 
> > >
> > > (p->buffer_length()= 1664 ) which is fine.
> > > However, when I send large packets of more than
> 1500 bytes,
> > > and set 
> > > the mtu to a value > 1500,  the buffer
> allocated at
> > > the reception is 
> > > always of 256 ((p->buffer_length()= 256))
> whatever the
> > > packet size is.
> > > So, if I want to access to the data stored beyond
> the 256
> > > bytes in 
> > > that packet, the data I get is erroneous.
> > > So i am wondering if there is a limitation on the
> maximum
> > > buffers 
> > > size? where this limitation is hard-coded? and
> why does it
> > > change with 
> > > the mtu?
> > >
> > > Thanks for helping
> > >
> > >
> > > Ps: Click scripts are roughly :
> > >
> > > Sender :
> > > RatedSource ->UDPIPEncap -> EtherEncap
> ->
> > > ToDevice(eth0)
> > > Receiver:
> > > FromDevice(eth0) -> Myelement -> Discard
> > >
> > > In Myelement, I only get p->buffer_length()
> and p->
> > > data() and p->end_data()
> > >
> > >
> > > Manel BOURGUIBA
> > > PhD Candidate
> > > PHARE - LIP6 - UPMC - Sorbonne Universit?s
> > > BC169 - Office 25/26-319
> > > 4 place Jussieu
> > > 75252 PARIS cedex 05
> > > +33 1 44 27 61 88
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > click mailing list
> > [email protected]
> > https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> 
> 
> 


      

_______________________________________________
click mailing list
[email protected]
https://amsterdam.lcs.mit.edu/mailman/listinfo/click

Reply via email to