From nobody@FreeBSD.org  Wed Jan 12 19:32:34 2011
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7A2E01065674
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Jan 2011 19:32:34 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (unknown [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id 69CBB8FC12
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Jan 2011 19:32:34 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p0CJWYha023881
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Jan 2011 19:32:34 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id p0CJWYAl023880;
	Wed, 12 Jan 2011 19:32:34 GMT
	(envelope-from nobody)
Message-Id: <201101121932.p0CJWYAl023880@red.freebsd.org>
Date: Wed, 12 Jan 2011 19:32:34 GMT
From: Andrew Boyer <aboyer@averesystems.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [ixgbe] [patch] MPRC workaround incorrectly applied to 82599
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         153936
>Category:       kern
>Synopsis:       [ixgbe] [patch] MPRC workaround incorrectly applied to 82599
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-net
>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:  Thu Jan 13 10:06:26 UTC 2011
>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:
Responsible-Changed-From-To: freebsd-bugs->freebsd-net 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Thu Jan 13 10:06:05 UTC 2011 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=153936 
>Unformatted:
