def addr_bind(self, port): binds = [] bind_table = self.snmp.walk("1.3.6.1.4.1.171.12.23.4.1.1.4") for k, v in bind_table.iteritems(): ports = hex_to_ports(v[2:]) if int(port) in ports: mac = self.snmp.get("1.3.6.1.4.1.171.12.23.4.1.1.2."+k) lease = self.snmp.get("1.3.6.1.4.1.171.12.23.4.3.1.3."+k) state = self.snmp.get("1.3.6.1.4.1.171.12.23.4.3.1.5."+k) st = None if state == "1": st = "Inactive" if state == "2": st = "Active" binds.append((pmac(mac),k,lease,st)) return binds
def addr_bind(self, port): binds = [] bind_table = self.snmp.walk("1.3.6.1.4.1.171.12.23.4.1.1.4") for k, v in bind_table.iteritems(): ports = hex_to_ports(v[2:]) if int(port) in ports: mac = self.snmp.get("1.3.6.1.4.1.171.12.23.4.1.1.2." + k) lease = self.snmp.get("1.3.6.1.4.1.171.12.23.4.3.1.3." + k) state = self.snmp.get("1.3.6.1.4.1.171.12.23.4.3.1.5." + k) st = None if state == "1": st = "Inactive" if state == "2": st = "Active" binds.append((pmac(mac), k, lease, st)) return binds
def mcast_groups(self, port): groups = [] p = re.compile("\d+.(\d+.\d+.\d+.\d+).*") group_table = self.snmp.walk(self.mcast_gr) for k, v in group_table.iteritems(): m = p.match(k) if m: if v == str(port): groups.append(m.group(1)) if len(v) > 2: ports = hex_to_ports(v[2:]) if ports: if str(ports[0]) == str(port): groups.append(m.group(1)) return groups