lib/netdisco/snmp.rb in netdisco-0.0.7 vs lib/netdisco/snmp.rb in netdisco-0.0.8

- old
+ new

@@ -42,17 +42,19 @@ # @return [Array(SNMP::VarBind)] def bulkwalk(root) # 初始化变量 last, oid, results = false, root.dup, [] # 将点分10进制字串转换为数组对象 - root = root.split(".").map { |chr| chr.to_i } + # root = root.split(".").map { |chr| chr.to_i } + # 遍历 root_oid until last vbs = snmp(:get_bulk, 0, CFG.snmp.bulkrows, oid).varbind_list vbs.each do |vb| - oid = vb.oid + oid = vb.name.to_str # 解析到的 oid 不匹配 root 跳出循环 - (last = true; break) unless oid[0..root.size - 1] == root + (last = true; break) unless oid.match?(/^#{Regexp.quote(root)}/) + # (last = true; break) unless oid[0..root.size - 1] == root results << vb end end results end