Regarding skb and skb_frags

Pranay Srivastava pranjas at gmail.com
Thu May 1 23:16:36 EDT 2014


On Thu, May 1, 2014 at 9:50 PM, Jeff Haran <Jeff.Haran at citrix.com> wrote:
>> -----Original Message-----
>> From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-bounces at kernelnewbies.org] On Behalf Of Pranay
>> Srivastava
>> Sent: Thursday, May 01, 2014 7:10 AM
>> To: Valdis.Kletnieks at vt.edu
>> Cc: kernelnewbies
>> Subject: Re: Regarding skb and skb_frags
>>
>> On Thu, May 1, 2014 at 7:29 PM,  <Valdis.Kletnieks at vt.edu> wrote:
>> > On Thu, 01 May 2014 16:12:43 +0530, Pranay Srivastava said:
>> >
>> >> My question is that an Ethernet frame won't be bigger than 1500 bytes
>> >> [correct?]
>> >
>> > Incorrect.  10G and faster ethernet support jumbograms.  We run our HPC 10G
>> > network with an MTU of 9000 (which is 2 pages and a bit more).
>> >
>> Ok. So in any case the driver won't poke past ethernet header to look
>> for the size [Correct?].
>> So it means only when MTU is bigger than page size would there be a
>> possibility of skb_frags [Correct?].
>
> I'm not sure what kernel version you are looking at, but when I do a search for skb_frags in the latest kernel sources at http://lxr.linux.no, I don't see any variables or structure members named skb_frags, though it shows up in comments in one driver.
>
> That being said, I believe skb fragments are also used to implement scatter/gather lists of packet payload data, even in packets less than or equal to the usual 1500 bytes.
>
> On the systems I work with, I've seen this happening in packets originating from the target system, i.e. egress path of local traffic.
I think i get it with egress path since you are actually sending out
packet possible via scatter/gather. But this skb won't be allocated by
the driver, it'll be given to the driver by upper networking
subsystem. I'm confused about the inbound packets, would they ever be
having skb fragments [sorry to confuse with skb_frags i wasn'
reffering to structure]?

I'm more inclined to know from a device driver's perspective if it'll
have to create an skb when a packet arrives which is non-linear.
>
> Jeff Haran
>


Thanks again!
-- 
        ---P.K.S



More information about the Kernelnewbies mailing list