Hi Soren,

According to the outputs, e1000g has already passed the receiving packets up. At some point the packets are dropped in the stack. Please find the ip and icmp statistics.
kstat -m ip -n ip 1
kstat -m ip -n icmp 1

Regards,

Miles

soren wrote:
Hi Miles. Thanks very much for your continued help.

From your description, the hardware did receive packets. But tcpdump howed nothing. Could you run the simple dtrace script in the attachment? It prints values if e1000g passes the packets to the upper layer. Once you run into the scenario, ping through e1000g0 interface and run "dtrace -s e1000g_receive.d" in parallel.

Here are the first few lines of the attached log that your dtrace script 
created while attempting to ping a remote machine. I verified, via wireshark on 
the remote machine, that the same thing was going on. Solaris was able to 
create ping traffic on the network, pings were being returned properly, but the 
ping application didn't receive the packets.

CPU FUNCTION 1 <- e1000g_receive -1091561683584
              e1000g`e1000g_intr_pciexpress+0x138
              unix`av_dispatch_autovect+0x7c
              unix`dispatch_hardint+0x33
              unix`switch_sp_and_call+0x13

  1  <- e1000g_receive                           -1091786900128
              e1000g`e1000g_intr_pciexpress+0x138
              unix`av_dispatch_autovect+0x7c
              unix`dispatch_hardint+0x33
              unix`switch_sp_and_call+0x13

  1  <- e1000g_receive                           -1091786900128
              e1000g`e1000g_intr_pciexpress+0x138
              unix`av_dispatch_autovect+0x7c
              unix`dispatch_hardint+0x33
              unix`switch_sp_and_call+0x13

_______________________________________________
networking-discuss mailing list
networking-discuss@opensolaris.org

Reply via email to