Subject: port-alpha/6345: FDDI driver batching packets
To: None <gnats-bugs@gnats.netbsd.org>
From: PSCNOC <pscnoc@black.psc.edu>
List: netbsd-bugs
Date: 10/22/1998 14:58:38
>Number:         6345
>Category:       port-alpha
>Synopsis:       netstat and tcpdump see FDDI output packets batched
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 22 12:50:01 1998
>Last-Modified:
>Originator:     semke@psc.edu (Jeffrey Semke)
>Organization:
Pittsburgh Supercomputing Center
>Release:        NetBSD-current (less than 1 week ago)
>Environment:
	Digital AlphaPC 164LX
System: NetBSD black.psc.edu 1.3H NetBSD 1.3H (GENERIC) #0: Tue Oct 20 16:10:14 EDT 1998 ksulliva@sludge.psc.edu:/amd/kludge/usr/src-current/sys/arch/alpha/compile/GENERIC alpha


>Description:
	The fpa driver appears to be sending out packets normally.  Pings
	receive timely responses and connections using the fpa0 interface
	behave normally.  

	However, attempts to observe packets leaving the fpa interface 
	yield strange results.  netstat -I fpa0 1 reports that no packets 
	are leaving the FDDI interface (though usage of the connections
	proves that the packets ARE leaving) until a large number of packets
	have left, at which point netstat claims that all packets have
	been sent in the last second.

	Another similar problem, which I believe may be due to the same
	cause, is that tcpdump does not report packets which are leaving
	the interface until a large number of packets have been sent.  At
	this point, a burst of packets are reported to have left the
	interface, but many of the sent packets are dropped from the trace.

	The burst of packets shown by tcpdump happens at the same time
	as the burst shown by netstat.
	
>How-To-Repeat:
	In three windows, run these concurrently
	% netstat -I fpa0 1
	# ping -i .062 <host_on_FDDI_ring>
	# tcpdump -i fpa0 -p dst host <host_on_FDDI_ring> and src host <my_FDDI_interface_address>

	The ping shows that the packets are sent and received normally,
	with no unusual delays or queuing:
	228 packets transmitted, 228 packets received, 0% packet loss
	round-trip min/avg/max = 0.003/0.387/2.926 ms

	But the netstat shows all the packets leaving the interface at
	once (though we know the packets left earlier because we can
	see the input packets, which are the ping replies):
   input    (fpa0)    output            input   (Total)    output
 packets  errs  packets  errs colls  packets  errs  packets  errs colls 
       0     0        0     0     0         1     0        1     0     0
       0     0        0     0     0         2     0        1     0     0
       0     0        0     0     0         2     0        1     0     0
       2     0        0     0     0         3     0        1     0     0
      16     0        0     0     0        19     0        2     0     0
      16     0        0     0     0        22     0        5     0     0
      17     0        0     0     0        37     0       20     0     0
      16     0        0     0     0        34     0       18     0     0
      16     0        0     0     0        38     0       18     0     0
      17     0        0     0     0        36     0       19     0     0
      16     0        0     0     0        35     0       18     0     0
      17     0        0     0     0        40     0       21     0     0
      16     0      207     0     0        34     0      225     0     0
      16     0        0     0     0        37     0       20     0     0

	At the same time that the netstat reports the "burst" of output
	packets, tcpdump shows a burst of packets (and didn't show any
	packets before the burst).

	**As a side note, it appears that tcpdump may have a problem with
	the MAC header length for FDDI, as the packets it displays are not 
	interpreted, but can be seen to be valid packets by examining the 
	hex output.
	
>Fix:
	Unknown


>Audit-Trail:
>Unformatted: