Well, now I am stuck. I do not know enough about the higher layers in the kernel to offer more advice. :-( > -----Original Message----- > From: Alan Shih [mailto:alan@storlinksemi.com] > Sent: Tuesday, July 22, 2003 11:39 AM > To: Eble, Dan; linux-net@vger.kernel.org > Subject: RE: Limit skb to be less than 64K with TSO > > > A slight complication, since I am doing checksum in the > smart NIC, if I > break the skb down, I would have problem since they are > fragments and the > checksum must be over the complete package. If I do checksum > in the main > processor, it defeats the purpose and yet I cannot push all > 64K down to my > hardware for it to compute the checksum. > > TIA > > Alan > > -----Original Message----- > From: Eble, Dan [mailto:DanE@aiinet.com] > Sent: Tuesday, July 22, 2003 8:24 AM > To: linux-net@vger.kernel.org > Cc: 'Alan Shih' > Subject: RE: Limit skb to be less than 64K with TSO > > > 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 > > > > > > > > > > > - > To > unsubscribe from this list: 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