Regarding skb and skb_frags

Jeff Haran Jeff.Haran at citrix.com
Thu May 1 12:20:47 EDT 2014


> -----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.

Jeff Haran




More information about the Kernelnewbies mailing list