Bug 22178

Summary: Output byte counter on VLAN parent not advancing
Product: Base System Reporter: Yar Tikhiy <yar>
Component: kernAssignee: Yar Tikhiy <yar>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.1-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Yar Tikhiy 2000-10-21 11:40:01 UTC
	While the output packet counter on an ethernet interface
	is incremented by its hardware driver, the output byte and
	output multicast counters are advanced by ether_output().

	However, when an ethernet interface acts as a parent for a set
	of VLAN interfaces, ether_output() is bypassed for it. Therefore,
	it's a duty of vlan_start() to update the counters.

	Additionally, the output packet counter of the vlan interface
	itself is advanced at a wrong place: even if p->if_start()
	isn't called due to the IFF_OACTIVE flag, the packet
	has already been enqueued for transmission and will be sent
	out.

How-To-Repeat: 
	Use the vlan driver and see zero output byte counter on its
	parent interface with "netstat -i"
Comment 1 Yar Tikhiy freebsd_committer freebsd_triage 2001-03-27 14:45:49 UTC
State Changed
From-To: open->analyzed

After introducing IF_HOLDOFF, the bug ceased to exist in -current. 
However, -stable still needs to be fixed. 


Comment 2 Yar Tikhiy freebsd_committer freebsd_triage 2001-03-27 14:45:49 UTC
Responsible Changed
From-To: freebsd-bugs->yar

It's me who deals with the problem.
Comment 3 Yar Tikhiy freebsd_committer freebsd_triage 2001-03-31 12:08:16 UTC
State Changed
From-To: analyzed->closed

Fixed in 4-stable, ceased to exist in 5-current after 
IF_HANDOFF() had been introduced.