Sorry for my late follow-up.

The workaround for LSO and partial checksum is an existing problem, but 
this has been addressed in Crossbow project. You may check out new 
interfaces retrieving LSO information, flag and MSS, from Crossbow 
workspace. But it won't be a public interface before GLDv3 interface is 
published officially.

It looks obviously the easiest way to support LSO and full checksum on 
hardware. Do you know why vendors are still doing partial checksum with LSO?

Thanks,

Roamer

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.
> 
> -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

-- 

# telnet (650)-786-6759 (x86759)
Connected to Solaris.Sun.COM.
login: Lu, Yunsong
Last login: January 2, 2007 from beyond.sfbay
[EMAIL PROTECTED]    v1.04    Since Mon Dec. 22, 2003
[EMAIL PROTECTED] Networking]# cd ..
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to