Another point is that you could try to issue a call to skb_linearize prior to sending the skb down to the driver.
The 512 byte issue sounds like buffer size being used but as I said I don't know what's sending the packets down the stack. Cheers, John > -----Original Message----- > From: Ronciak, John [mailto:[email protected]] > Sent: Friday, March 08, 2013 1:50 PM > To: Yan, Liming (NSN - CN/Hangzhou); [email protected] > Subject: Re: [E1000-devel] my skb not linear when whole packet len only > 513 bytes > > The buffer containing the data is not in a single buffer coming down to > the driver. I'm not sure what kind of stack you supplying the data but > maybe you should try to have all the data in a single larger buffer > that is then used in the skb. > > Cheers, > John > > > > -----Original Message----- > > From: Yan, Liming (NSN - CN/Hangzhou) [mailto:[email protected]] > > Sent: Friday, March 08, 2013 1:20 AM > > To: [email protected] > > Subject: [E1000-devel] my skb not linear when whole packet len only > > 513 bytes > > > > Hi, > > I'm sending non-IP packets with dev_queue_xmit. It's not linear as > > expected in receiving side when whole packet len only 513 > > bytes(include mac header). 513 bytes is a boundary because if I use > 512, it's ok. > > Anybody know what may cause this problem? Thanks. My MTU is 1500. > > > > In sending side, I print the skb, seems it's normal: > > >> Mar 9 22:41:03.972683 info CLA-0 kernel: [251326.875463]: before > > dev_queue_xmit: skb->data_len=0, skb->len=513. > > > > In receiving side, I register my softirq handler with own ether-type. > > The skb I got from kernel is: > > >> Mar 9 22:41:03.973199 info CLA-1 kernel: [11139.235550]: skb- > > >data_len=1,skb->len=499. > > So skb_is_nonlinear return true when skb->data_len>0. > > > > Kernel version: 2.6.34.13 > > > > 82599 firmware and driver version: > > # ethtool -i bi0 > > driver: igb > > version: 2.4.12 > > firmware-version: 2.1-3 > > bus-info: 0000:02:00.0 > > > > # ifconfig bi0 > > bi0 Link encap:Ethernet HWaddr 00:A0:A5:64:DB:FA > > UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 > > RX packets:46846508 errors:0 dropped:0 overruns:0 frame:0 > > TX packets:47748723 errors:0 dropped:0 overruns:0 carrier:0 > > collisions:0 txqueuelen:1000 > > RX bytes:5803096993 (5.4 GiB) TX bytes:55743743072 (51.9 > > GiB) > > > > --------------------------------------------------------------------- > > Best Regards. > > Liming > > > ----------------------------------------------------------------------- > ------- > Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester > Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the > endpoint security space. For insight on selecting the right partner to > tackle endpoint security challenges, access the full report. > http://p.sf.net/sfu/symantec-dev2dev > _______________________________________________ > E1000-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/e1000-devel > To learn more about Intel® Ethernet, visit > http://communities.intel.com/community/wired ------------------------------------------------------------------------------ Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
