Masa Murayama wrote: > ----- Original Message ----- >> Date: Thu, 13 Mar 2008 14:36:06 +0800 >> From: Xiu-Yan Wang <[EMAIL PROTECTED]> >> Subject: Re: [driver-discuss] EthernetDirver-packet-tcp_mss >> To: Masa Murayama <[EMAIL PROTECTED]> >> Cc: Andrew Gallatin <[EMAIL PROTECTED]>, [email protected], >> [EMAIL PROTECTED], [EMAIL PROTECTED], >> zhenghui xie <[EMAIL PROTECTED]>, [EMAIL PROTECTED] >> >> >> Hi Drew and Masa, >> >> Does your hardware need partial hardware checksum to be enabled at the >> same time to support LSO? That is, the capability of LSO depends on that >> of partial hardware checksum? > > TCP layer sends both LSO packets and non-LSO packets at the same time. > Therefore, I need to set partial cksum flag and LSO, even if the nic > doesn't require partial checksum for LSO packets.
Yes, some devices require h/w checksum being enabled at the same time to support LSO, while other devices have no such requirement and the driver only need to tell the device to do LSO. In your case, please use hcksum_retrive() to get the information of partical h/w checksum of non-LSO packets and use DB_LSOMSS() to get mss for LSO packets. Again, there should be a more graceful interface. Thanks, Lucy > > -masa > >> Masa Murayama wrote: >>> ----- Original Message ----- >>>> Xiu-Yan Wang writes: >>>>> The reason for my questions is that there're internal requirements to >>>>> enhance the implementation of hcksum_retrieve() and hcksum_assoc(). So >>>>> I'm soliciting the inputs of guys who work on drivers to make the >>>>> interfaces as general as possible. I'm quite sure that Paul, Drew, and >>>>> Tom can contribute to this. Please let me know if I'm not clear here.:-) >>>> The thing I'd like to see changed is to be able to support both >>>> HCK_PARTIALCKSUM and HW_LSO. Right now, I have to do a nasty hack to >>>> get the MSS on my device (clear HCK_PARTIALCKSUM, get the mss, and >>>> then put things back). >>>> >>>> Thanks, >>>> Drew >>> Me too. Now I'm writing my version of mervell yukon2 driver, which has >>> partial checksum and lso capabilities. When I want to use both of partial >>> checksum and lso, mss value of lso packets which hcksum_retrieve() >>> returned seemed partial checksum, instead of mss. >> Yes, for packets flagged with LSO and partical checksum, the value >> returned is partial checksum. This should be fixed. When >> hcksum_retrieve() was originally implemented there was no >> consideration on LSO as it appears later. Apparently, it does not work >> well in your case. People suggested a separate interface should be >> provided to retrieve the information for LSO and this is still under >> discussion. >> >> Copy the email to PradeeP as he also works on a 10 Gigabit driver. >> >> Thanks, >> Lucy >> >>> I also use lso for realtek816x and nVIDIA integrated nics, which have >>> full checksum and lso capabilities. They work well for me. >>> >>> -masa >>> >>> _______________________________________________ >>> driver-discuss mailing list >>> [email protected] >>> http://mail.opensolaris.org/mailman/listinfo/driver-discuss >>> > > _______________________________________________ > driver-discuss mailing list > [email protected] > http://mail.opensolaris.org/mailman/listinfo/driver-discuss > _______________________________________________ driver-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/driver-discuss
