netdisco / snmp-info

Other
38 stars 32 forks source link

Suspected deprecated OID for Brocade (foundry) devices #356

Open Daniel-E-Rose opened 5 years ago

Daniel-E-Rose commented 5 years ago

Expected Behavior

~/bin/netdisco-do arpnip -d should populate node_ip in the database with the contents of the layer 2 ARP cache.

Current Behavior

The command above only adds local IP addresses of the router to node_ip in the database.

Possible Solution

The data retreived is consistent with an snmpwalk of 1.3.6.1.2.1.4.22.1.2. An snmpwalk of ipNetToPhysicalPhysAddress returns the correct ARP cache.

Steps to Reproduce (for bugs)

  1. Own a VDX 6740 switch, running NOS 6.0.2e
  2. Run ~/bin/netdisco-do -DIQ arpnip -d
  3. See that the only addresses inserted to the database are local to DEVICEIP.

Context

I'd like to get it working if I can.

Your Environment

Config info (deployment.yml)

defaults but for db credentials and snmp community strings, plus discover_waps: false

Device information

Removed ip address & snmp string.

SNMP::Info::_global uptime : DISMAN-EVENT-MIB::sysUpTimeInstance : .1.3.6.1.2.1.1.3.0 SNMP::Info::_global layers : SNMPv2-MIB::sysServices.0 : .1.3.6.1.2.1.1.7.0 SNMP::Info::_global description : SNMPv2-MIB::sysDescr.0 : .1.3.6.1.2.1.1.1.0 SNMP::Info::_global id : SNMPv2-MIB::sysObjectID.0 : .1.3.6.1.2.1.1.2.0 SNMP::Info 3.68 SNMP::Info::device_type() layers:01001111 id:1588 sysDescr:"Brocade VDX Switch, BR-VDX6740, Network Operating System Software Version 6.0.2e." SNMP::Info 3.68 SNMP::Info::device_type() layers:01001111 id:1588 sysDescr:"Brocade VDX Switch, BR-VDX6740, Network Operating System Software Version 6.0.2e." SNMP::Info::specify() - Changed Class to SNMP::Info::Layer3::Foundry. SNMP::Info::_validate_autoload_method(_data_printer) Unable to resolve method. SNMP::Info::Layer3::Foundry { Parents SNMP::Info::FDP, SNMP::Info::LLDP, SNMP::Info::Layer3, Exporter Linear @ISA SNMP::Info::Layer3::Foundry, SNMP::Info::FDP, SNMP::Info, Exporter, SNMP::Info::LLDP, SNMP::Info::Layer3, SNMP::Info::PowerEthernet, SNMP::Info::IPv6, SNMP::Info::Entity, SNMP::Info::EtherLike, SNMP::Info::Bridge, SNMP::Info::AdslLine, SNMP::Info::DocsisHE public methods (37) : agg_ports, brcd_e_class, brcd_e_descr, brcd_e_index, brcd_e_name, brcd_e_parent, brcd_e_pos, brcd_e_serial, brcd_e_type, brcd_e_vendor, e_class, e_descr, e_index, e_name, e_parent, e_pos, e_serial, e_type, e_vendor, i_duplex, i_ignore, interfaces, i_stp_state, model, os, os_ver, peth_port_admin, peth_port_class, peth_port_ifindex, peth_port_neg_power, peth_port_power, peth_port_status, peth_power_consumption, peth_power_status, peth_power_watts, serial, vendor private methods (1) : _brcd_stack_master internals: { args { AutoSpecify 0, BulkRepeaters 20, BulkWalk 1, Community "No", Debug 1, DebugSNMP 0, DestHost "No", IgnoreNetSNMPConf 1, MibDirs [ [0] "/home/netdisco/netdisco-mibs/3com", [1] "/home/netdisco/netdisco-mibs/adtran", [2] "/home/netdisco/netdisco-mibs/aerohive", [3] "/home/netdisco/netdisco-mibs/alcatel", [4] "/home/netdisco/netdisco-mibs/allied", [5] "/home/netdisco/netdisco-mibs/apc", [6] "/home/netdisco/netdisco-mibs/arista", [7] "/home/netdisco/netdisco-mibs/aruba", [8] "/home/netdisco/netdisco-mibs/asante", [9] "/home/netdisco/netdisco-mibs/avaya", [10] "/home/netdisco/netdisco-mibs/bluecoat", [11] "/home/netdisco/netdisco-mibs/bluesocket", [12] "/home/netdisco/netdisco-mibs/brother", [13] "/home/netdisco/netdisco-mibs/cabletron", [14] "/home/netdisco/netdisco-mibs/ceragon", [15] "/home/netdisco/netdisco-mibs/checkpoint", [16] "/home/netdisco/netdisco-mibs/cisco", [17] "/home/netdisco/netdisco-mibs/ciscosb", [18] "/home/netdisco/netdisco-mibs/citrix", [19] "/home/netdisco/netdisco-mibs/colubris", [20] "/home/netdisco/netdisco-mibs/cyclades", [21] "/home/netdisco/netdisco-mibs/d-link", [22] "/home/netdisco/netdisco-mibs/dell", [23] "/home/netdisco/netdisco-mibs/enterasys", [24] "/home/netdisco/netdisco-mibs/exinda", [25] "/home/netdisco/netdisco-mibs/EXTRAS", [26] "/home/netdisco/netdisco-mibs/extreme", [27] "/home/netdisco/netdisco-mibs/extricom", [28] "/home/netdisco/netdisco-mibs/f5", [29] "/home/netdisco/netdisco-mibs/force10", [30] "/home/netdisco/netdisco-mibs/fortinet", [31] "/home/netdisco/netdisco-mibs/foundry", [32] "/home/netdisco/netdisco-mibs/gigamon", [33] "/home/netdisco/netdisco-mibs/h3c", [34] "/home/netdisco/netdisco-mibs/hirschmann", [35] "/home/netdisco/netdisco-mibs/hp", [36] "/home/netdisco/netdisco-mibs/huawei", [37] "/home/netdisco/netdisco-mibs/ibm", [38] "/home/netdisco/netdisco-mibs/juniper", [39] "/home/netdisco/netdisco-mibs/lancom", [40] "/home/netdisco/netdisco-mibs/lantronix", [41] "/home/netdisco/netdisco-mibs/lenovo", [42] "/home/netdisco/netdisco-mibs/liebert", [43] "/home/netdisco/netdisco-mibs/mediant", [44] "/home/netdisco/netdisco-mibs/meraki", [45] "/home/netdisco/netdisco-mibs/meru", [46] "/home/netdisco/netdisco-mibs/mikrotik", [47] "/home/netdisco/netdisco-mibs/moser-baer", [48] "/home/netdisco/netdisco-mibs/motorola", [49] "/home/netdisco/netdisco-mibs/nateks", [50] "/home/netdisco/netdisco-mibs/net-snmp", [51] "/home/netdisco/netdisco-mibs/netapp", [52] "/home/netdisco/netdisco-mibs/netgear", [53] "/home/netdisco/netdisco-mibs/netscreen", [54] "/home/netdisco/netdisco-mibs/nexans", [55] "/home/netdisco/netdisco-mibs/nortel", [56] "/home/netdisco/netdisco-mibs/northerndesign", [57] "/home/netdisco/netdisco-mibs/oneaccess", [58] "/home/netdisco/netdisco-mibs/opengear", [59] "/home/netdisco/netdisco-mibs/packetfront", [60] "/home/netdisco/netdisco-mibs/paloalto", [61] "/home/netdisco/netdisco-mibs/pica8", [62] "/home/netdisco/netdisco-mibs/rad", [63] "/home/netdisco/netdisco-mibs/rfc", [64] "/home/netdisco/netdisco-mibs/rittal", [65] "/home/netdisco/netdisco-mibs/riverbed", [66] "/home/netdisco/netdisco-mibs/ruckus", [67] "/home/netdisco/netdisco-mibs/schleifenbauer", [68] "/home/netdisco/netdisco-mibs/sentry", [69] "/home/netdisco/netdisco-mibs/sixnet", [70] "/home/netdisco/netdisco-mibs/sonicwall", [71] "/home/netdisco/netdisco-mibs/tplink", [72] "/home/netdisco/netdisco-mibs/trapeze", [73] "/home/netdisco/netdisco-mibs/vmware", [74] "/home/netdisco/netdisco-mibs/xirrus" ], NonIncreasing 0, RemotePort 161, Retries 0, Session SNMP::Session, Timeout 3000000, Version 2 }, BulkRepeaters 20, BulkWalk 1, class "SNMP::Info::Layer3::Foundry", debug 1, funcs { adsl_atuc_crc_block_len "adslAtucChanCrcBlockLength", adsl_atuc_curr_tx_rate "adslAtucChanCurrTxRate", adsl_atuc_interleave_delay "adslAtucChanInterleaveDelay", adsl_atuc_prev_tx_rate "adslAtucChanPrevTxRate", adsl_atur_crc_block_len "adslAturChanCrcBlockLength", adsl_atur_curr_tx_rate "adslAturChanCurrTxRate", adsl_atur_interleave_delay "adslAturChanInterleaveDelay", adsl_atur_prev_tx_rate "adslAturChanPrevTxRate", ag_mod_type "snAgentConfigModuleType", ag_mod2_type "snAgentConfigModule2Type", at_index "ipNetToMediaIfIndex", at_netaddr "ipNetToMediaNetAddress", at_paddr "ipNetToMediaPhysAddress", bgp_peer_addr "bgpPeerRemoteAddr", bgp_peer_as "bgpPeerRemoteAs", bgp_peer_fsm_est_trans "bgpPeerFsmEstablishedTransitions", bgp_peer_id "bgpPeerIdentifier", bgp_peer_in_tot_msgs "bgpPeerInTotalMessages", bgp_peer_in_upd "bgpPeerInUpdates", bgp_peer_in_upd_el_time "bgpPeerInUpdateElapsedTime", bgp_peer_out_tot_msgs "bgpPeerOutTotalMessages", bgp_peer_out_upd "bgpPeerOutUpdates", bgp_peer_state "bgpPeerState", bgp_peers "bgpPeerLocalAddr", bp_index "dot1dBasePortIfIndex", bp_port "dot1dBasePortCircuit", bs_mac "dot1dStaticAddress", bs_port "dot1dStaticReceivePort", bs_status "dot1dStaticStatus", bs_to "dot1dStaticAllowedToGoTo", c_addr6_index "cIpAddressIfIndex", c_addr6_pfx "cIpAddressPrefix", c_addr6_type "cIpAddressType", c_inet_phys_addr "cInetNetToMediaPhysAddress", c_inet_phys_state "cInetNetToMediaState", c_inet_phys_type "cInetNetToMediaType", c_pfx_origin "cIpAddressPfxOrigin", docs_cmts_cm_down_channel_if_index "docsIfCmtsCmStatusDownChannelIfIndex", docs_cmts_cm_up_channel_if_index "docsIfCmtsCmStatusUpChannelIfIndex", docs_if_cmts_cm_status_inet_address "docsIfCmtsCmStatusInetAddress", docs_if_cmts_cm_status_inet_address_type "docsIfCmtsCmStatusInetAddressType", docs_if3_cmts_cm_status_md_if_index "docsIf3CmtsCmRegStatusMdIfIndex", e_alias "entPhysicalAlias", e_class "entPhysicalClass", e_descr "entPhysicalDescr", e_fru "entPhysicalIsFRU", e_fwver "entPhysicalFirmwareRev", e_hwver "entPhysicalHardwareRev", e_id "entPhysicalAssetID", el_chipset "dot3StatsEtherChipSet", el_coll_excess "dot3StatsExcessiveCollisions", el_coll_freq "dot3CollFrequencies", el_coll_late "dot3StatsLateCollisions", el_coll_mult "dot3StatsMultipleCollisionFrames", el_coll_single "dot3StatsSingleCollisionFrames", el_duplex "dot3StatsDuplexStatus", el_error_alignment "dot3StatsAlignmentErrors", el_error_cs "dot3StatsCarrierSenseErrors", el_error_fcs "dot3StatsFCSErrors", el_error_frame "dot3StatsFrameTooLongs", el_error_mac_rec "dot3StatsInternalMacReceiveErrors", el_error_mac_xmit "dot3StatsInternalMacTransmitErrors", el_error_sqe "dot3StatsSQETestErrors", el_error_symbol "dot3StatsSymbolErrors", el_index "dot3StatsIndex", el_xmit_defer "dot3StatsDeferredTransmissions", e_map "entAliasMappingIdentifier", e_model "entPhysicalModelName", e_name "entPhysicalName", e_parent "entPhysicalContainedIn", e_pos "entPhysicalParentRelPos", e_serial "entPhysicalSerialNum", e_swver "entPhysicalSoftwareRev", e_type "entPhysicalVendorType", e_vendor "entPhysicalMfgName", fdp_cache_type "snFdpCacheVendorId", fdp_capabilities "snFdpCacheCapabilities", fdp_id "snFdpCacheDeviceId", fdp_ip "snFdpCacheAddress", fdp_platform "snFdpCachePlatform", fdp_port "snFdpCacheDevicePort", fdp_proto "snFdpCacheAddressType", fdp_ver "snFdpCacheVersion", fw_mac "dot1dTpFdbAddress", fw_port "dot1dTpFdbPort", fw_status "dot1dTpFdbStatus", i_alias "ifAlias", i_bad_proto_in "ifInUnknownProtos", i_description "ifDescr", i_discards_in "ifInDiscards", i_discards_out "ifOutDiscards", i_errors_in "ifInErrors", i_errors_out "ifOutErrors", i_index "ifIndex", i_lastchange "ifLastChange", i_mac "ifPhysAddress", i_mtu "ifMtu", i_name "ifName", interfaces "ifIndex", i_octet_in "ifInOctets", i_octet_in64 "ifHCInOctets", i_octet_out "ifOutOctets", i_octet_out64 "ifHCOutOctets", ip_addr6_index "ipAddressIfIndex", ip_addr6_pfx "ipAddressPrefix", ip_addr6_type "ipAddressType", ip_broadcast "ipAdEntBcastAddr", i_pkts_bcast_in "ifInBroadcastPkts", i_pkts_bcast_in64 "ifHCInBroadcastPkts", i_pkts_bcast_out "ifOutBroadcastPkts", i_pkts_bcast_out64 "ifHCOutBroadcastPkts", i_pkts_multi_in "ifInMulticastPkts", i_pkts_multi_in64 "ifHCInMulticastPkts", i_pkts_multi_out "ifOutMulticastPkts", i_pkts_multi_out64 "ifHCOutMulticastPkts", i_pkts_nucast_in "ifInNUcastPkts", i_pkts_nucast_out "ifOutNUcastPkts", i_pkts_ucast_in "ifInUcastPkts", i_pkts_ucast_in64 "ifHCInUcastPkts", i_pkts_ucast_out "ifOutUcastPkts", i_pkts_ucast_out64 "ifHCOutUcastPkts", ip_n2p_phys_addr "ipNetToPhysicalPhysAddress", ip_n2p_phys_state "ipNetToPhysicalState", ip_n2p_phys_type "ipNetToPhysicalType", ip_pfx_origin "ipAddressPrefixOrigin", ipr_age "ipRouteAge", ipr_dest "ipRouteNextHop", ipr_if "ipRouteIfIndex", ipr_info "ipRouteInfo", ipr_mask "ipRouteMask", ipr_proto "ipRouteProto", ipr_route "ipRouteDest", ipr_type "ipRouteType", ipr_1 "ipRouteMetric1", ipr_2 "ipRouteMetric2", ipr_3 "ipRouteMetric3", ipr_4 "ipRouteMetric4", ipr_5 "ipRouteMetric5", i_qlen_out "ifOutQLen", is_edgeport_admin "dot1dStpPortAdminEdgePort", is_edgeport_oper "dot1dStpPortOperEdgePort", isis_adj "isisISAdjIPAddrAddress", isis_adj_id "isisISAdjNeighSysID", isis_adj_ip_type "isisISAdjIPAddrType", isis_adj_state "isisISAdjState", isis_adj_type "isisISAdjNeighSysType", isis_adj_usage "isisISAdjUsage", isis_circ_admin "isisCircAdminState", isis_circ_if_idx "isisCircIfIndex", isis_circ_level_type "isisCircLevelType", isis_circ_type "isisCircType", i_specific "ifSpecific", i_speed "ifSpeed", i_speed_high "ifHighSpeed", i_stack_status "ifStackStatus", i_type "ifType", i_up "ifOperStatus", i_up_admin "ifAdminStatus", i6_addr_pfxlen "ipv6AddrPfxLength", i6_n2p_phys_addr "ipv6NetToMediaPhysAddress", i6_n2p_phys_state "ipv6IfNetToMediaState", i6_n2p_phys_type "ipv6NetToMediaType", lldp_lman_addr "lldpLocManAddrIfId", lldp_rem_asset "lldpXMedRemAssetID", lldp_rem_cap_spt "lldpRemSysCapSupported", lldp_rem_desc "lldpRemPortDesc", lldp_rem_fw_rev "lldpXMedRemFirmwareRev", lldp_rem_hw_rev "lldpXMedRemHardwareRev", lldp_rem_id "lldpRemChassisId", lldp_rem_id_type "lldpRemChassisIdSubtype", lldp_rem_media_cap "lldpXMedRemCapCurrent", lldp_rem_media_cap_spt "lldpXMedRemCapSupported", lldp_rem_model "lldpXMedRemModelName", lldp_rem_pid "lldpRemPortId", lldp_rem_pid_type "lldpRemPortIdSubtype", lldp_rem_serial "lldpXMedRemSerialNum", lldp_rem_sw_rev "lldpXMedRemSoftwareRev", lldp_rem_sys_cap "lldpRemSysCapEnabled", lldp_rem_sysdesc "lldpRemSysDesc", lldp_rem_sysname "lldpRemSysName", lldp_rem_vendor "lldpXMedRemMfgName", lldp_rman_addr "lldpRemManAddrIfSubtype", new_ip_index "ipAddressIfIndex", new_ip_prefix "ipAddressPrefix", new_ip_type "ipAddressType", n2p_lastupdate "ipNetToPhysicalLastUpdated", n2p_paddr "ipNetToPhysicalPhysAddress", n2p_pstate "ipNetToPhysicalState", n2p_pstatus "ipNetToPhysicalRowStatus", n2p_ptype "ipNetToPhysicalType", old_at_index "atIfIndex", old_at_netaddr "atNetAddress", old_at_paddr "atPhysAddress", old_ip_index "ipAdEntIfIndex", old_ip_netmask "ipAdEntNetMask", old_ip_table "ipAdEntAddr", ospf_if_admin "ospfIfAdminStat", ospf_if_area "ospfIfAreaId", ospf_if_dead "ospfIfRtrDeadInterval", ospf_if_hello "ospfIfHelloInterval", ospf_if_ip "ospfIfIpAddress", ospf_if_state "ospfIfState", ospf_if_type "ospfIfType", ospf_ip "ospfHostIpAddress", ospf_peer_id "ospfNbrRtrId", ospf_peer_state "ospfNbrState", ospf_peers "ospfNbrIpAddr", peth_port_admin "pethPsePortAdminEnable", peth_port_class "pethPsePortPowerClassifications", peth_port_status "pethPsePortDetectionStatus", peth_power_consumption "pethMainPseConsumptionPower", peth_power_status "pethMainPseOperStatus", peth_power_threshold "pethMainPseUsageThreshold", peth_power_watts "pethMainPsePower", qb_cv_egress "dot1qVlanCurrentEgressPorts", qb_cv_stat "dot1qVlanStatus", qb_cv_untagged "dot1qVlanCurrentUntaggedPorts", qb_fw_port "dot1qTpFdbPort", qb_fw_status "dot1qTpFdbStatus", qb_i_vlan "dot1qPvid", qb_i_vlan_in_flt "dot1qPortIngressFiltering", qb_i_vlan_type "dot1qPortAcceptableFrameTypes", qb_v_egress "dot1qVlanStaticEgressPorts", qb_v_fbdn_egress "dot1qVlanForbiddenEgressPorts", qb_v_name "dot1qVlanStaticName", qb_v_stat "dot1qVlanStaticRowStatus", qb_v_untagged "dot1qVlanStaticUntaggedPorts", stp_i_id "snVLanByPortVLanId", stp_i_mac "snVLanByPortBaseBridgeAddress", stp_i_ntop "snVLanByPortStpTopChanges", stp_i_priority "snVLanByPortStpPriority", stp_i_root "snVLanByPortStpDesignatedRoot", stp_i_root_port "snVLanByPortStpRootPort", stp_i_time "snVLanByPortStpTimeSinceTopologyChange", stp_p_bridge "snPortStpPortDesignatedBridge", stp_p_cost "snPortStpPortDesignatedCost", stp_p_id "snPortStpPortNum", stp_p_port "snPortStpPortDesignatedPort", stp_p_priority "snPortStpPortPriority", stp_p_root "snPortStpPortDesignatedRoot", stp_p_state "snPortStpPortState", stp_p_stg_id "snPortStpVLanId", sw_duplex "snSwPortInfoChnMode", sw_index "snSwPortIfIndex", sw_speed "snSwPortInfoSpeed", sw_type "snSwPortInfoMediaType", v_name "dot1qVlanStaticName" }, globals { bgp_id "bgpIdentifier.0", bgp_local_as "bgpLocalAs.0", b_mac "dot1dBaseBridgeAddress", b_ports "dot1dBaseNumPorts", b_type "dot1dBaseType", chassis "entPhysicalDescr.1", ch_serial "snChasSerNum", contact "sysContact", description "sysDescr", fan "snChasFanOperStatus.1", fdp_holdtime "snFdpGlobalHoldTime", fdp_interval "snFdpGlobalMessageInterval", fdp_run "snFdpGlobalRun", id "sysObjectID", img_ver "snAgImgVer", ipforwarding "ipForwarding", layers "sysServices", lldp_sys_cap "lldpLocSysCapEnabled", lldp_sysdesc "lldpLocSysDesc", lldp_sysname "lldpLocSysName", location "sysLocation", mac "ifPhysAddress.1", name "sysName", ports "ifNumber", ps1_status "snChasPwrSupplyOperStatus.1", ps1_type "snChasPwrSupplyDescription.1", qb_next_vlan_index "dot1qNextFreeLocalVlanIndex", qb_vlans "dot1qNumVlans", qb_vlans_max "dot1qMaxSupportedVlans", router_ip "ospfRouterId.0", serial1 ".1.3.6.1.4.1.9.3.6.3.0", stp_priority "dot1dStpPriority", stp_root "dot1dStpDesignatedRoot", stp_root_port "dot1dStpRootPort", stp_time "dot1dStpTimeSinceTopologyChange", stp_ver "dot1dStpProtocolSpecification", temp "snChasActualTemperature", uptime "sysUpTime" }, IgnoreNetSNMPConf 1, init \ 1, mibdirs var{args}{MibDirs}, mibs { ADSL-LINE-MIB "adslLineType", BGP4-MIB "bgpIdentifier", BRIDGE-MIB "dot1dBaseBridgeAddress", BROCADE-PRODUCTS-MIB "brocadeProducts", CISCO-IETF-IP-MIB "cInetNetToMediaNetAddress", DOCS-IF-MIB "docsIfMib", DOCS-IF3-MIB "docsIf3Mib", ENTITY-MIB "entPhysicalSerialNum", EtherLike-MIB "etherMIB", FOUNDRY-POE-MIB "snAgentPoeGblPowerCapacityTotal", FOUNDRY-SN-AGENT-MIB "snChasPwrSupplyDescription", FOUNDRY-SN-ROOT-MIB "foundry", FOUNDRY-SN-STACKING-MIB "snStackingOperUnitRole", FOUNDRY-SN-SWITCH-GROUP-MIB "snSwGroupOperMode", IF-MIB "ifIndex", IP-MIB "ipNetToMediaIfIndex", IPV6-MIB "ipv6IfTableLastChange", ISIS-MIB "isisSysID", LLDP-EXT-DOT1-MIB "lldpXdot1MIB", LLDP-EXT-DOT3-MIB "lldpXdot3MIB", LLDP-EXT-MED-MIB "lldpXMedMIB", LLDP-MIB "lldpLocSysCapEnabled", OSPF-MIB "ospfRouterId", POWER-ETHERNET-MIB "pethPsePortDetectionStatus", Q-BRIDGE-MIB "dot1qPvid", RSTP-MIB "dot1dStpPortOperEdgePort", SNMPv2-MIB "sysObjectID" }, munge { ag_mod_type sub { ... }, ag_mod2_type var{munge}{ag_mod_type}, at_paddr sub { ... }, b_mac var{munge}{at_paddr}, bs_mac var{munge}{at_paddr}, c_inet_phys_addr sub { ... }, el_duplex sub { ... }, e_type var{munge}{ag_mod_type}, fdp_capabilities sub { ... }, fdp_ip sub { ... }, fw_mac var{munge}{at_paddr}, i_mac var{munge}{at_paddr}, i_octet_in64 sub { ... }, i_octet_out64 var{munge}{i_octet_in64}, i_pkts_bcast_in64 var{munge}{i_octet_in64}, i_pkts_bcast_out64 var{munge}{i_octet_in64}, i_pkts_multi_out64 var{munge}{i_octet_in64}, i_pkts_mutli_in64 var{munge}{i_octet_in64}, i_pkts_ucast_in64 var{munge}{i_octet_in64}, i_pkts_ucast_out64 var{munge}{i_octet_in64}, ip_n2p_phys_addr var{munge}{at_paddr}, i_speed sub { ... }, i_speed_high sub { ... }, i_up sub { ... }, ip var{munge}{fdp_ip}, i6_n2p_phys_addr var{munge}{at_paddr}, layers sub { ... }, lldp_rem_asset sub { ... }, lldp_rem_cap_spt var{munge}{fdp_capabilities}, lldp_rem_fw_rev var{munge}{lldp_rem_asset}, lldp_rem_hw_rev var{munge}{lldp_rem_asset}, lldp_rem_media_cap var{munge}{fdp_capabilities}, lldp_rem_media_cap_spt var{munge}{fdp_capabilities}, lldp_rem_model var{munge}{lldp_rem_asset}, lldp_rem_port_desc var{munge}{lldp_rem_asset}, lldp_rem_serial var{munge}{lldp_rem_asset}, lldp_rem_sw_rev var{munge}{lldp_rem_asset}, lldp_rem_sys_cap var{munge}{fdp_capabilities}, lldp_rem_sysdesc var{munge}{lldp_rem_asset}, lldp_rem_sysname var{munge}{lldp_rem_asset}, lldp_rem_vendor var{munge}{lldp_rem_asset}, lldp_sys_cap var{munge}{fdp_capabilities}, lldp_sysdesc var{munge}{lldp_rem_asset}, lldp_sysname var{munge}{lldp_rem_asset}, mac var{munge}{at_paddr}, n2p_paddr var{munge}{at_paddr}, old_at_paddr var{munge}{at_paddr}, qb_cv_egress sub { ... }, qb_cv_untagged var{munge}{qb_cv_egress}, qb_v_egress var{munge}{qb_cv_egress}, qb_v_fbdn_egress var{munge}{qb_cv_egress}, qb_v_untagged var{munge}{qb_cv_egress}, stp_i_mac var{munge}{at_paddr}, stp_i_root sub { ... }, stp_p_bridge var{munge}{stp_i_root}, stp_p_port sub { ... }, stp_p_root var{munge}{stp_i_root}, stp_root var{munge}{stp_i_root} }, nosuch 1, sess var{args}{Session}, snmp_comm "No", snmp_user "initial", snmp_ver 2, store {} } }

inphobia commented 5 years ago

could you provide us with the output of netdisco-do -DI arpnip -d ? (updated, dont' need -Q for this)

if it's sensitive data you can either email it or set up a private github repo (they're free now) and upload it there, then provide me with access.

Daniel-E-Rose commented 5 years ago

inphobia, how's this?

$ ~/bin/netdisco-do -ID arpnip -d [40607] 2019-09-01 23:12:55 info App::Netdisco version 2.042010 loaded. [40607] 2019-09-01 23:12:55 info arpnip: [] started at Mon Sep 2 09:12:55 2019 [40607] 2019-09-01 23:12:55 debug arpnip: running with timeout 600s [40607] 2019-09-01 23:12:55 debug => running workers for phase: check [40607] 2019-09-01 23:12:55 debug -> run worker check/base/0 [40607] 2019-09-01 23:12:55 debug arpnip is able to run [40607] 2019-09-01 23:12:55 debug => running workers for phase: main [40607] 2019-09-01 23:12:55 debug -> run worker main/nodes/200 [40607] 2019-09-01 23:12:55 debug skip: driver or action not applicable [40607] 2019-09-01 23:12:55 debug -> run worker main/nodes/100 [40607] 2019-09-01 23:12:55 debug snmp reader cache warm: [] [40607] 2019-09-01 23:12:55 debug [:161] try_connect with ver: 2, class: SNMP::Info::Layer3::Foundry, comm: SNMP::Info::_global uptime : DISMAN-EVENT-MIB::sysUpTimeInstance : .1.3.6.1.2.1.1.3.0 SNMP::Info::_global layers : SNMPv2-MIB::sysServices.0 : .1.3.6.1.2.1.1.7.0 SNMP::Info::_global description : SNMPv2-MIB::sysDescr.0 : .1.3.6.1.2.1.1.1.0 SNMP::Info::_global id : SNMPv2-MIB::sysObjectID.0 : .1.3.6.1.2.1.1.2.0 SNMP::Info 3.68 SNMP::Info::device_type() layers:01001111 id:1588 sysDescr:"Brocade VDX Switch, BR-VDX6740, Network Operating System Software Version 6.0.2e." SNMP::Info::_load_attr orig_at_paddr : IP-MIB::ipNetToMediaPhysAddress : .1.3.6.1.2.1.4.22.1.2 SNMP::Info::_load_attr orig_at_netaddr : IP-MIB::ipNetToMediaNetAddress : .1.3.6.1.2.1.4.22.1.3 [40607] 2019-09-01 23:12:56 debug resolving 9 ARP entries with max 50 outstanding requests SNMP::Info::_load_attr ip_n2p_phys_addr : IP-MIB::ipNetToPhysicalPhysAddress : .1.3.6.1.2.1.4.35.1.4 SNMP::Info::IPv6::ipv6_n2p_mac: data comes from IP-MIB. SNMP::Info::IPv6::ipv6_n2p_addr: data comes from IP-MIB. [40607] 2019-09-01 23:13:12 debug resolving 0 ARP entries with max 50 outstanding requests [40607] 2019-09-01 23:13:12 debug -> run worker main/subnets/100 SNMP::Info::_load_attr old_ip_netmask : IP-MIB::ipAdEntNetMask : .1.3.6.1.2.1.4.20.1.3 [40607] 2019-09-01 23:13:17 debug [] arpnip - found subnet SUBNET

--- Line repeats for 25 subnets ---

[40607] 2019-09-01 23:13:17 debug [] arpnip - processed 25 Subnet entries [40607] 2019-09-01 23:13:17 debug => running workers for phase: store [40607] 2019-09-01 23:13:17 debug -> run worker store/nodes/0 [40607] 2019-09-01 23:13:17 debug [] arpnip - processed 9 ARP Cache entries [40607] 2019-09-01 23:13:17 debug [] arpnip - processed 0 IPv6 Neighbor Cache entries [40607] 2019-09-01 23:13:17 info arpnip: finished at Mon Sep 2 09:13:17 2019 [40607] 2019-09-01 23:13:17 info arpnip: status done: Gathered arp caches from

Daniel-E-Rose commented 5 years ago

Hello! Is there anything I can do to help move this forward?

inphobia commented 5 years ago

heya, i've been buzy the last few weeks but will pick this up in a few days. we haven't forgotten you.

ollyg commented 4 years ago

and yet the arpnip with debug shows use of ipNetToPhysicalPhysAddress, returning nothing:

SNMP::Info::_load_attr ip_n2p_phys_addr : IP-MIB::ipNetToPhysicalPhysAddress : .1.3.6.1.2.1.4.35.1.4
SNMP::Info::IPv6::ipv6_n2p_mac: data comes from IP-MIB.
SNMP::Info::IPv6::ipv6_n2p_addr: data comes from IP-MIB.
[40607] 2019-09-01 23:13:12 debug resolving 0 ARP entries with max 50 outstanding requests

might be useful to see ~bin/netdisco-do show -d 1.2.3.4 ipNetToPhysicalPhysAddress -DIS and compare to -S added to the arpnip debug above in https://github.com/netdisco/snmp-info/issues/356#issuecomment-526961573.

Daniel-E-Rose commented 4 years ago

Oliver,

The former command includes:

SNMP::Info::_load_attr i_description : IF-MIB::ifDescr : .1.3.6.1.2.1.2.2.1.2 SNMP::Info::_load_attr i_index : IF-MIB::ifIndex : .1.3.6.1.2.1.2.2.1.1 SNMP::Info::_load_attr i_alias : IF-MIB::ifAlias : .1.3.6.1.2.1.31.1.1.1.18 SNMP::Info::_load_attr orig_i_name : IF-MIB::ifName : .1.3.6.1.2.1.31.1.1.1.1 { 201334784 "TenGigabitEthernet 0/1", 201342976 "TenGigabitEthernet 0/2", 201351168 "TenGigabitEthernet 0/3", 201359360 "TenGigabitEthernet 0/4", 201367552 "TenGigabitEthernet 0/5", 201375744 "TenGigabitEthernet 0/6", 201383936 "TenGigabitEthernet 0/7", 201392128 "TenGigabitEthernet 0/8", 201400320 "TenGigabitEthernet 0/9", 201408512 "TenGigabitEthernet 0/10", 201416704 "TenGigabitEthernet 0/11", 201424896 "TenGigabitEthernet 0/12", 201433088 "TenGigabitEthernet 0/13", 201441280 "TenGigabitEthernet 0/14", 201449472 "TenGigabitEthernet 0/15", 201457664 "TenGigabitEthernet 0/16", 201465856 "TenGigabitEthernet 0/17", 201474048 "TenGigabitEthernet 0/18", 201482240 "TenGigabitEthernet 0/19", 201490432 "TenGigabitEthernet 0/20", 201498624 "TenGigabitEthernet 0/21", 201506816 "TenGigabitEthernet 0/22", 201515008 "TenGigabitEthernet 0/23", 201523200 "TenGigabitEthernet 0/24", 201531392 "TenGigabitEthernet 0/25", 201539584 "TenGigabitEthernet 0/26", 201547776 "TenGigabitEthernet 0/27", 201555968 "TenGigabitEthernet 0/28", 201564160 "TenGigabitEthernet 0/29", 201572352 "TenGigabitEthernet 0/30", 201580544 "TenGigabitEthernet 0/31", 201588736 "TenGigabitEthernet 0/32", 201596928 "TenGigabitEthernet 0/33", 201605120 "TenGigabitEthernet 0/34", 201613312 "TenGigabitEthernet 0/35", 201621504 "TenGigabitEthernet 0/36", 201629696 "TenGigabitEthernet 0/37", 201637888 "TenGigabitEthernet 0/38", 201646080 "TenGigabitEthernet 0/39", 201654272 "TenGigabitEthernet 0/40", 201662464 "TenGigabitEthernet 0/41", 201670656 "TenGigabitEthernet 0/42", 201678848 "TenGigabitEthernet 0/43", 201687040 "TenGigabitEthernet 0/44", 201695232 "TenGigabitEthernet 0/45", 201703424 "TenGigabitEthernet 0/46", 201711616 "TenGigabitEthernet 0/47", 201719808 "TenGigabitEthernet 0/48", 201728192 "FortyGigabitEthernet 0/49", 201736384 "FortyGigabitEthernet 0/50", 201744576 "FortyGigabitEthernet 0/51", 201752768 "FortyGigabitEthernet 0/52", } [100713] 2019-10-16 23:47:01 info show: finished at Thu Oct 17 10:47:01 2019 [100713] 2019-10-16 23:47:01 info show: status done: Showed interfaces response

The latter yields:

[100803] 2019-10-16 23:49:35 debug -> run worker main/nodes/200 [100803] 2019-10-16 23:49:35 debug skip: driver or action not applicable [100803] 2019-10-16 23:49:35 debug -> run worker main/nodes/100 [100803] 2019-10-16 23:49:35 debug snmp reader cache warm: [switch IP] [100803] 2019-10-16 23:49:35 debug [switch IP:161] try_connect with ver: 2, class: SNMP::Info::Layer3::Foundry, comm:

< loads MIBs>

SNMP::Info::_global uptime : DISMAN-EVENT-MIB::sysUpTimeInstance : .1.3.6.1.2.1.1.3.0 SNMP::Info::_global layers : SNMPv2-MIB::sysServices.0 : .1.3.6.1.2.1.1.7.0 SNMP::Info::_global description : SNMPv2-MIB::sysDescr.0 : .1.3.6.1.2.1.1.1.0 SNMP::Info::_global id : SNMPv2-MIB::sysObjectID.0 : .1.3.6.1.2.1.1.2.0 SNMP::Info 3.68 SNMP::Info::device_type() layers:01001111 id:1588 sysDescr:"text string" SNMP::Info::_load_attr orig_at_paddr : IP-MIB::ipNetToMediaPhysAddress : .1.3.6.1.2.1.4.22.1.2 SNMP::Info::_load_attr orig_at_netaddr : IP-MIB::ipNetToMediaNetAddress : .1.3.6 .1.2.1.4.22.1.3 [100803] 2019-10-16 23:49:35 debug resolving 9 ARP entries with max 50 outstanding requests SNMP::Info::_load_attr ip_n2p_phys_addr : IP-MIB::ipNetToPhysicalPhysAddress : .1.3.6.1.2.1.4.35.1.4 SNMP::Info::IPv6::ipv6_n2p_mac: data comes from IP-MIB. SNMP::Info::IPv6::ipv6_n2p_addr: data comes from IP-MIB. [100803] 2019-10-16 23:49:52 debug resolving 0 ARP entries with max 50 outstanding requests [100803] 2019-10-16 23:49:52 debug -> run worker main/subnets/100 SNMP::Info::_load_attr old_ip_netmask : IP-MIB::ipAdEntNetMask : .1.3.6.1.2.1.4.20.1.3

I hope this helps, let me know if you have any other thoughts.

Thanks!

From: Oliver Gorwits notifications@github.com Sent: Wednesday, 16 October 2019 4:44 PM To: netdisco/snmp-info snmp-info@noreply.github.com Cc: Daniel Rose drose@nla.gov.au; Author author@noreply.github.com Subject: Re: [netdisco/snmp-info] Suspected deprecated OID for Brocade (foundry) devices (#356)

and yet the arpnip with debug shows use of ipNetToPhysicalPhysAddress, returning nothing:

SNMP::Info::_load_attr ip_n2p_phys_addr : IP-MIB::ipNetToPhysicalPhysAddress : .1.3.6.1.2.1.4.35.1.4

SNMP::Info::IPv6::ipv6_n2p_mac: data comes from IP-MIB.

SNMP::Info::IPv6::ipv6_n2p_addr: data comes from IP-MIB.

[40607] 2019-09-01 23:13:12 debug resolving 0 ARP entries with max 50 outstanding requests

might be useful to see ~bin/netdisco-do show -d 1.2.3.4 ipNetToPhysicalPhysAddress -DIS and compare to -S added to the arpnip debug above in #356 (comment)https://github.com/netdisco/snmp-info/issues/356#issuecomment-526961573.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/netdisco/snmp-info/issues/356?email_source=notifications&email_token=AF2KFRIKXM6SJRKQEK44LM3QO2S3BA5CNFSM4ISNVEW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBLFBXY#issuecomment-542527711, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF2KFROYDNGP7LHZMLVRFU3QO2S3BANCNFSM4ISNVEWQ.

inphobia commented 4 years ago

question: has this ever worked?

the only think i can still come up with is either the returned data needs munging or we are not looking in the right place.

since munging is the more complicated, could you provide us with the output of:

netdisco-do show -d _yourip_ -DI -e atPhysAddress
netdisco-do show -d _yourip_ -DI -e ipNetToPhysicalPhysAddress

output will contain all kinds of control characters, those aren't all that important. i'm just wondering if the output of both commands is the same.

atPhysAddress is an ancient oid which we no longer support, i wonder if the needed data can be found there.

inphobia commented 4 years ago

also related #291 (also SNMP::Info::Layer3::Foundry).

ipv4 arpnip not working, only ipv6.

Daniel-E-Rose commented 4 years ago

Hi Nick,

I have had this working in netdisco before, but that was such an old version of ND that I don’t think it’s a useful comparison.

atPhysAddress provides nothing useful, only the known handful of 127.0.0.1 addresses.

ipNetToPhysicalPhysAddress provides the correct output, eg:

1207959672.1.4.10.20.253.68      "\0▒▒▒▒i",
1207959672.1.4.10.20.253.69      "\0▒▒▒er",
1207959672.1.4.10.20.253.70      "\0▒▒▒▒▒",
1207959672.1.4.10.20.253.71      "\0▒▒▒▒▒",
1207959672.1.4.10.20.253.72      "\0▒▒▒▒▒",
1207959672.1.4.10.20.253.73      "\0▒▒▒JO",

This is the data I seek from ND.

From: nick n. notifications@github.com Sent: Monday, 4 November 2019 10:51 AM To: netdisco/snmp-info snmp-info@noreply.github.com Cc: Daniel Rose drose@nla.gov.au; Author author@noreply.github.com Subject: Re: [netdisco/snmp-info] Suspected deprecated OID for Brocade (foundry) devices (#356)

question: has this ever worked?

the only think i can still come up with is either the returned data needs munging or we are not looking in the right place.

since munging is the more complicated, could you provide us with the output of:

netdisco-do show -d yourip -DI -e atPhysAddress

netdisco-do show -d yourip -DI -e ipNetToPhysicalPhysAddress

output will contain all kinds of control characters, those aren't all that important. i'm just wondering if the output of both commands is the same.

atPhysAddress is an ancient oid which we no longer support, i wonder if the needed data can be found there.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/netdisco/snmp-info/issues/356?email_source=notifications&email_token=AF2KFRN6TASCLCJWGGATFWTQR5PUZA5CNFSM4ISNVEW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC6AGAY#issuecomment-549192451, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF2KFRISF6PA2XDBJVURH7TQR5PUZANCNFSM4ISNVEWQ.

inphobia commented 4 years ago

and yet the arpnip with debug shows use of ipNetToPhysicalPhysAddress, returning nothing:

SNMP::Info::_load_attr ip_n2p_phys_addr : IP-MIB::ipNetToPhysicalPhysAddress : .1.3.6.1.2.1.4.35.1.4
SNMP::Info::IPv6::ipv6_n2p_mac: data comes from IP-MIB.
SNMP::Info::IPv6::ipv6_n2p_addr: data comes from IP-MIB.
[40607] 2019-09-01 23:13:12 debug resolving 0 ARP entries with max 50 outstanding requests

i think this part is only used for ipv6, not ipv4, but not sure. most of my devices return 0 for this step too.

coming to think on it, how do you "resolve" mac or other physical addresses? i could somehow understand it to match vendors to oui lists, but it seems the code actually does dns resolving at this step.

https://github.com/netdisco/netdisco/blob/b211c7c7e20c812319f407f348eeb044297c54eb/lib/App/Netdisco/Worker/Plugin/Arpnip/Nodes.pm#L78 https://github.com/netdisco/netdisco/blob/b211c7c7e20c812319f407f348eeb044297c54eb/lib/App/Netdisco/Worker/Plugin/Arpnip/Nodes.pm#L121

@ollyg i guess resolving %d ARP should more be resolving %d IP, leaving out v4/6 since the resolve step should handle both?

inphobia commented 4 years ago

I have had this working in netdisco before, but that was such an old version of ND that I don’t think it’s a useful comparison.

any version info you might have about snmp::info & netdisco versions where it worked is welcome. in the database the statistics could contain the version info depending on the upgrade process & how long ago it was since it last worked.

~/bin/netdisco-do psql -e "select netdisco_ver,snmpinfo_ver,schema_ver,perl_ver,pg_ver from statistics"

just the line with the last known working version is fine.

ipNetToPhysicalPhysAddress provides the correct output, eg: 1207959672.1.4.10.20.253.68 "\0▒▒▒▒i", 1207959672.1.4.10.20.253.69 "\0▒▒▒er", 1207959672.1.4.10.20.253.70 "\0▒▒▒▒▒", 1207959672.1.4.10.20.253.71 "\0▒▒▒▒▒", 1207959672.1.4.10.20.253.72 "\0▒▒▒▒▒", 1207959672.1.4.10.20.253.73 "\0▒▒▒JO",

thing is, i don't see anything special about this. the only thing that somehow stands out is that there doesn't seem a mapping between 1207959672 and your previously posted interface list. but i don't know if snmp::info or netdisco actually cares about this.

one last thing i'd want to check is the output of:

~/bin/netdisco-do show -d __IP__ -e at_netaddr -DI
~/bin/netdisco-do show -d __IP__ -e at_paddr -DI
~/bin/netdisco-do show -d __IP__ -e at_index -DI

but if this doesn't get us there we'll most likely need an snmprec dump to get to the bottom of this. info & disclaimers on how to get that are in the wiki: https://github.com/netdisco/snmp-info/wiki/Simulating-Agents#get-snmp-datadump

Daniel-E-Rose commented 4 years ago

Hello again @inphobia,

The older server & database I referred to are long gone I'm afraid.

Version 2.045007 also has this problem.

~/bin/netdisco-do show -d IP -e at_netaddr -DI Log shows: IP-MIB::ipNetToMediaNetAddress : .1.3.6.1.2.1.4.22.1.3 Results from 9 internal interfaces are returned.

~/bin/netdisco-do show -d IP -e at_paddr -DI Log shows: IP-MIB::ipNetToMediaPhysAddress : .1.3.6.1.2.1.4.22.1.2 Results from 9 internal interfaces are returned.

~/bin/netdisco-do show -d IP -e at_index -DI Log shows: IP-MIB::ipNetToMediaIfIndex : .1.3.6.1.2.1.4.22.1.1 Results from 9 internal interfaces are returned.

~/bin/netdisco-do show -d IP -e ipNetToPhysicalPhysAddress -DI Log shows: IP-MIB::ipNetToPhysicalPhysAddress : .1.3.6.1.2.1.4.35.1.4 Correct results are returned, after 17 seconds.

So the built-in -e options you've kindly provided don't trigger the working SNMP request, even though arpnip does. is there's a different -e I might try?

There are more than 2,000 entries, is this too large or too slow maybe?

I've made a start on snmprec/sim and I'll get back to you after I've spent some more time on it...

inphobia commented 3 years ago

snmp timeouts can lead to strange issues, as i've seen with cisco 3750x stacks.

the solution for me is to create a custom group: (as with most things in netdisco, you can use ip addresses, but also model strings if the device has been discovered)

host_groups:
  v3hosts_sha_aes:
    - 10.1.100.0/24
  v3hosts:
    - 'group:v3hosts_sha_aes'
  slowsnmp:
    - 10.40.254.11
    - 10.40.254.12
    - 10.40.254.111
    - 10.40.254.112
    - 10.98.100.1
    - 'model:UCSFI6248UP'

disable snmpbulkwalk for devices that respond to slowly:

bulkwalk_no: 'group:slowsnmp'

and increase the overall snmp timeout for all devices:

snmptimeout: 6000000

for me snmp timeouts lead to very strange issues which were quite hard to troubleshoot (how i learned snmpwalk != snmpbulkwalk). the snmptimeout is what works for me, but your devices might even need a higher one?

bulkwalk_no is not adviced since it's a network and processing overhead (both on the network device & the netdisco poller). however, some devices do require it. it's been a while but i think the time difference between bulkwalk on & off on cisco 3750x stacks was around 3 minutes for the poe oids.

seems i actually documented it here: https://github.com/netdisco/netdisco/wiki/Vendor-Tips#cisco-2960-and-3750-series-giving-incomplete-results

inphobia commented 7 months ago

if you still have this device around, netdisco now has a snazzy new snapshot feature: https://github.com/netdisco/netdisco/wiki/Snapshot#netdisco-option

this would help us out to get a better idea of the issue and lowers the changes of any potential code change have regressions on other os versions.