Bug 836197 - mrtg cfgmaker don't use ifHighSpeed on IBM FibreChannel switches
Summary: mrtg cfgmaker don't use ifHighSpeed on IBM FibreChannel switches
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: mrtg
Version: 6.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Vitezslav Crhonek
QA Contact: David Kutálek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-06-28 10:15 UTC by Peter Bieringer
Modified: 2012-11-12 11:12 UTC (History)
1 user (show)

Fixed In Version: mrtg-2.16.2-7.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-11-12 11:12:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:1449 0 normal SHIPPED_LIVE mrtg bug fix update 2012-11-12 16:09:17 UTC

Description Peter Bieringer 2012-06-28 10:15:26 UTC
Description of problem:
cfgmaker uses on 8 GBit/s IBM Fibrechannel interfaces not ifHighSpeed

Version-Release number of selected component (if applicable):
mrtg-2.16.2-5.el6.x86_64

How reproducible:
Always

Steps to Reproduce:
1. run cfgmaker against IBM Fibrechannel switch
  
Actual results:
--base: Speed: 1073741824 - 4294967294
--base: Speed: 1073741825 - 4294967294
--base: Speed: 1073741826 - 4294967294
--base: Speed: 1073741827 - 4294967294
--base: Speed: 1073741828 - 4294967294
--base: Speed: 1073741829 - 4294967294
--base: Speed: 1073741830 - 4294967294
--base: Speed: 1073741831 - 4294967294
--base: Speed: 1073741832 - 4294967294
--base: Speed: 1073741833 - 4294967294
--base: Speed: 1073741834 - 4294967294
--base: Speed: 1073741835 - 4294967294
--base: Speed: 1073741836 - 4294967294
--base: Speed: 1073741837 - 4294967294
--base: Speed: 1073741838 - 4294967294
--base: Speed: 1073741839 - 4294967294
--base: Speed: 1073741840 - 4294967294
--base: Speed: 1073741841 - 4294967294
--base: Speed: 1073741842 - 4294967294
--base: Speed: 1073741843 - 4294967294
--base: Speed: 1073741844 - 4294967294
--base: Speed: 1073741845 - 4294967294
--base: Speed: 1073741846 - 4294967294
--base: Speed: 1073741847 - 4294967294


Expected results:
--base: Speed: 1073741824 - 8000000000
--base: Speed: 1073741825 - 8000000000
--base: Speed: 1073741826 - 8000000000
--base: Speed: 1073741827 - 8000000000
--base: Speed: 1073741828 - 8000000000
--base: Speed: 1073741829 - 8000000000
--base: Speed: 1073741830 - 8000000000
--base: Speed: 1073741831 - 8000000000
--base: Speed: 1073741832 - 8000000000
--base: Speed: 1073741833 - 8000000000
--base: Speed: 1073741834 - 8000000000
--base: Speed: 1073741835 - 8000000000
--base: Speed: 1073741836 - 8000000000
--base: Speed: 1073741837 - 8000000000
--base: Speed: 1073741838 - 8000000000
--base: Speed: 1073741839 - 8000000000
--base: Speed: 1073741840 - 8000000000
--base: Speed: 1073741841 - 8000000000
--base: Speed: 1073741842 - 8000000000
--base: Speed: 1073741843 - 8000000000
--base: Speed: 1073741844 - 8000000000
--base: Speed: 1073741845 - 8000000000
--base: Speed: 1073741846 - 8000000000
--base: Speed: 1073741847 - 8000000000


Additional info:

Problem tracked down that SNMP daemon inside IBM Fibrechannel switch did not return 2**32-1 on ifSpeed, it returns 2**32-2 (also documented in http://support.dell.com/support/edocs/systems/pem/en/Ref/MIBRef.pdf page 33).

Easy fix for cfgmaker:

@@ -220,11 +222,12 @@
 #            maximum value (4,294,967,295) and ifHighSpeed must be used
 #            to report the interace's speed.  For a sub-layer which has
 #            no concept of bandwidth, this object should be zero."
-            if ( (not defined $value) || ($value == 2**32-1)) {
+            if ( (not defined $value) || ($value == 2**32-1) || ($value == 2**32-2)) {
                 ($if, $value) = split /:/, $ifHighSpeed[$i], 2;
                $value = $value * 1000000;  # highSpeed = contador * 10^6
                 #debug('base',"Speed: $if - $value");
             }
+            debug('base',"Speed: $if - $value");
             $routers->{$router}{$if}{'ifSpeed'} = $value;
         }
     } else {

Comment 1 Peter Bieringer 2012-06-28 10:18:16 UTC
Forgot to mention that lastest upstream 2.17.4 also don't cover this already -> please inform upstream maintainers also.

Comment 8 errata-xmlrpc 2012-11-12 11:12:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-1449.html


Note You need to log in before you can comment on or make changes to this bug.