From: Dmitry S. <tro...@em...> - 2003-12-11 08:50:47
|
Hi! I found out that not all devices report correctly their OSI layer support. Examples: Allied Telesyn AT-8024 RFC1213-MIB::sysDescr.0 = STRING: "Allied Telesyn Ethernet Switch AT-8024" RFC1213-MIB::sysServices.0 = INTEGER: 6 It reports that it has L3 support but really it is Layer 2 Managed switch. Loop Telecom DSLAM H3780/U1000 RFC1213-MIB::sysDescr.0 = STRING: " 8-port ADSL Module(Annex A) version V2.04(DY.0)D0 (Jan 24 2003) ..Copyright (c) 2002 " RFC1213-MIB::sysServices.0 = INTEGER: 72 It reports it does not have L1 & L2 support byt really it does. So I propose to change logic of SNMP::Info::device_type() to the following: if device_found_by_model_and_vendor { set appropriate class } else { check_if_device_supports_l3 { set class SNMP::Info::Layer3 } elsif check_if_device_supports_l2 { set class SNMP::Info::Layer2 } elsif check_if_device_supports_l1 { set class SNMP::Info::Layer1 } else { fallback to SNMP::Info } } This will fix detection of hardware with incorrect sysServices reporting. -- Best wishes, Dmitry Sergienko (SDA104-RIPE) Trifle Co., Ltd. |