Tom Chen wrote:
> Hello,
>
> I am using NICDrv to test my GLDv3 driver. I encountered an interesting issue.
> In the load/unload test, there are some packets for transmission from OS look 
> very strange, they are big TCP packets but OS doesn't indicate that they 
> require doing LSO.
>
> I am using the standard way to retrieve checksum and lso flags, I am 
> wondering how can this happen?
>
> Tom
>
> Apr  3 12:10:06 euclid qlge: WARNING: large IPv4 TCP packet 3154, but lso not 
> set! mtu 1500 mss 0 pflags 0h lso_flags 0h
> Apr  3 12:10:06 euclid qlge: WARNING: large IPv4 TCP packet 3426, but lso not 
> set! mtu 1500 mss 0 pflags 0h lso_flags 0h
>
> if(qlge->chksum_cap)
> {
>    hcksum_retrieve(mp, NULL, NULL, NULL,      NULL, NULL, NULL, &pflags);
>    if (pflags!=0)
>    {
>       lso_info_get(mp, &mss, &lso_flags);
>       use_lso= (lso_flags == HW_LSO);
>   }
> }
> ......
> if((total_len > 1514)&&((!mss) || (!lso_flags)))
> {
>   if(pkt_is_tcp(bp))
>   {
>   cmn_err(CE_WARN,"large IPv4 TCP packet %d, but lso not set! mtu %d"
>   "mss %d pflags %xh lso_flags %xh\n", total_len, 
>   mtu,mss, pflags, lso_flags);
>   }
> }
>   
You are hitting CR6586787. It seems that your driver is robust enough to 
discard the LSO packet.
The fix has been integrated in snv_111.

-Chris

Reply via email to