RE: Limit skb to be less than 64K with TSO

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

 



Well, don't fragment into 2 exactly, because that will break if someone
increases the max beyond 64kB.  Each time you send a chunk, skb_pull() [I
think] the amount you send.  Do this until the skb is empty.

> -----Original Message-----
> From: Alan Shih [mailto:alan@storlinksemi.com] 
> Sent: Tuesday, July 22, 2003 11:13 AM
> To: Eble, Dan; linux-net@vger.kernel.org
> Subject: RE: Limit skb to be less than 64K with TSO
> 
> 
> Point taken.
> 
> I would have to fragmenting it in to 2 when > 32K on the main 
> processor side
> and using the firmware on the NIC to break it down to MTU size.
> 
> Thanks
> 
> Alan
> 
> -----Original Message-----
> From: Eble, Dan [mailto:DanE@aiinet.com]
> Sent: Tuesday, July 22, 2003 8:05 AM
> To: linux-net@vger.kernel.org
> Cc: 'Alan Shih'
> Subject: RE: Limit skb to be less than 64K with TSO
> 
> 
> It seems the best solution is to split large buffers when 
> they reach the
> driver, for the reason that if your hardware had a much 
> smaller maximum, you
> would not want to change it globally, so why should you 
> change it globally
> for 32kB?
> 
> > -----Original Message-----
> > From: Alan Shih [mailto:alan@storlinksemi.com]
> > Sent: Tuesday, July 22, 2003 10:54 AM
> > To: Eble, Dan
> > Subject: RE: Limit skb to be less than 64K with TSO
> >
> >
> > Dan,
> >
> > Thanks for your reply.  I am writing a driver (+ firmware on
> > a smart NIC).
> > The SKB's comes from upper layers.  TSO is tcp/ip
> > segmentation offloading
> > that 2.6 supports.
> >
> > The problem comes in when TSO is on, the system throws me 64K
> > SKB's maximum
> > which my hardware cannot take.  There seems to be a few
> > places I can tap in
> > but not quite sure which method is appropriate (may be not
> > doable other than
> > my ignorance).
> >
> > 1. at alloc_skb (if I limit at 32K, I may break applications?)
> > 2. when I receive skb from queue_xmit, the driver needs to
> > break it up.
> > 3. figure out where in VFS that allow 64K and size it down.
> >
> > TIA
> >
> > Alan
> >
> > -----Original Message-----
> > From: Eble, Dan [mailto:DanE@aiinet.com]
> > Sent: Tuesday, July 22, 2003 5:19 AM
> > To: 'Alan Shih'
> > Subject: RE: Limit skb to be less than 64K with TSO
> >
> >
> > I don't know what TSO is, but I'd like to try to help, so 
> if you could
> > please explain the origin of these skbs that concern you, I
> > would have a
> > clearer picture of what's going on.  Are these skbs allocated
> > by higher
> > layers of the kernel networking code and passed to your driver for
> > transmission?
> >
> > > -----Original Message-----
> > > From: Alan Shih [mailto:alan@storlinksemi.com]
> > > Sent: Monday, July 21, 2003 10:21 PM
> > > To: linux-net@vger.kernel.org
> > > Subject: Limit skb to be less than 64K with TSO
> > >
> > >
> > > Hi all,
> > >
> > > Is there a way to limit skb to be 32KB Max? I am working with
> > > a hardware
> > > that has a small scratch SRAM for a smart NIC (I am using it
> > > to do TSO).
> > > It's great for speed but cannot handle large skb (>32K).
> > >
> > > TIA
> > >
> > > Alan
> > >
> > > -
> > > : send the line "unsubscribe
> > > linux-net" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >
> >
> 
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux