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