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);
  }
}
-- 
This message posted from opensolaris.org

Reply via email to