Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jan 2011 19:32:34 GMT
From:      Andrew Boyer <aboyer@averesystems.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/153936: [ixgbe] [patch] MPRC workaround incorrectly applied to 82599
Message-ID:  <201101121932.p0CJWYAl023880@red.freebsd.org>
Resent-Message-ID: <201101121940.p0CJe5qp010782@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         153936
>Category:       kern
>Synopsis:       [ixgbe] [patch] MPRC workaround incorrectly applied to 82599
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 12 19:40:04 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Boyer
>Release:        -current
>Organization:
Avere Systems
>Environment:
N/A
>Description:
ixgbe_update_stats_counters() used a workaround for the MPC register described in the Intel 82598 sightings list.  This workaround (subtracting bprc from mprc) is always used, even on 82599 hardware where it is not applicable.

The result is an incorrect (sometimes negative) multicast packets received count on 82599 interfaces.
>How-To-Repeat:
"sysctl dev.ix.0" on an 82599 controller, soon after boot:
dev.ix.0.mac_stats.good_pkts_rcvd: 97
dev.ix.0.mac_stats.mcast_pkts_rcvd: -64
dev.ix.0.mac_stats.bcast_pkts_rcvd: 79
>Fix:
Make this conditional on the MAC type:

	/*
	 * Workaround: mprc hardware is incorrectly counting
	 * broadcasts, so for now we subtract those.
	 */
	bprc = IXGBE_READ_REG(hw, IXGBE_BPRC);
	adapter->stats.bprc += bprc;
	adapter->stats.mprc += IXGBE_READ_REG(hw, IXGBE_MPRC);
	adapter->stats.mprc -= bprc;


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101121932.p0CJWYAl023880>