Hi Tom,

Your code doesn't match your description. Your code checks the packet lengths only when (pfflags == 0). It doesn't means the lso flags is not set correctly. Please correct your code first. The code should check checksum and LSO independently.

Anyway this output looks pretty strange unless you're doing software checksum with LSO. But it's a case that doesn't make sense.

Thanks,

Roamer

Tom Chen wrote:
Hi,

During the NICDrv load_unload test, we recently notice that, recent OpenSolaris 
release (nv119, 121) requests the driver to send large packet (larger than mtu) 
but does not indicate TSO/LSO offload. Earlier version of OpenSolaris, like 
nv112, do not have this issue. I am afraid this is a new bug of OpenSolaris.

Below are our code in the sending path and what we found:

hcksum_retrieve(mp, NULL, NULL, NULL, NULL, NULL, NULL, &pflags);
if (pflags != 0) {
        uint32_t lso_flags = 0;
        lso_info_get(mp, &mss, &lso_flags);
        use_lso = (lso_flags == HW_LSO);
} else {
        if (total_len > 1536) {
        cmn_err(CE_WARN, "large Tx packet: %d\n", total_len);
        }
}



Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 65066
Sep 10 15:17:19 euclid last message repeated 1 time
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 1674
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 2962
Sep 10 15:17:19 euclid last message repeated 20 times
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 2642
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 65066
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 3122
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 2962
Sep 10 15:17:19 euclid last message repeated 12 times
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 65066
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 2962
Sep 10 15:17:19 euclid last message repeated 7 times
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 65066
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 1674
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 2962
Sep 10 15:17:19 euclid last message repeated 20 times
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 2642
Sep 10 15:17:19 euclid qlge: WARNING: large Tx packet: 65066
Sep 10 15:17:19 euclid qlge: NOTICE: ql_bringdown_adapter(0): entered
Sep 10 15:17:22 euclid qlge: NOTICE: reset adapter
Sep 10 15:17:22 euclid qlge: NOTICE: ql_bringdown_adapter(0): done

--

# 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
[roa...@solaris Networking]# cd ..
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to