Trouver une adresse MAC sur un switch...
darcs-hash:20041005150906-d1718-9595a5b4685ed677b03fd9e53a3b43a74fded3d5.gz
This commit is contained in:
parent
84da535d8b
commit
65f1a9c4c2
1 changed files with 22 additions and 1 deletions
|
@ -262,6 +262,27 @@ class hpswitch :
|
|||
# Pas de MAC trouvée
|
||||
return []
|
||||
|
||||
def where_is_mac(self, mac) :
|
||||
"""Retrouve la prise correspondant à une adresse MAC donnée"""
|
||||
if self.__debug : self.__logDest.write("HP DEBUG : where_is_mac(mac=%s)\n" % mac)
|
||||
# On va transformer l'adresse MAC cherchée pour la mettre au format 0A 0A 0A 0A 0A 0A
|
||||
mac = mac.upper()
|
||||
mac = filter(lambda x: x in "0123456789ABCDEF", mac) # 0A0A0A0A0A0A
|
||||
mac = "%s %s %s %s %s %s" % (mac[0:2], mac[2:4], mac[4:6],
|
||||
mac[6:8], mac[8:10], mac[10:12])
|
||||
|
||||
# On interroge le switch
|
||||
data = self.walk('SNMPv2-SMI::enterprises.11.2.14.11.5.1.9.4.2.1.2');
|
||||
|
||||
# On cherche dans data la bonne adresse MAC
|
||||
for (onesnmp, onemac) in data.iteritems():
|
||||
if onemac[1:-2] == mac:
|
||||
return int(onesnmp.split(".")[12])
|
||||
|
||||
# On a rien trouvé
|
||||
return None
|
||||
|
||||
|
||||
def set_prise_mac(self,prise='',mac='') :
|
||||
""" Défini les adresses mac autorisées sur une prise.
|
||||
|
||||
|
@ -390,7 +411,7 @@ class hpswitch :
|
|||
elif mode[0] == 1000 :
|
||||
if code == 8 : code += 1
|
||||
elif code == 2 : raise ValueError('Mode invelide %s' % mode)
|
||||
else code += 1
|
||||
else: code += 1
|
||||
|
||||
self.set('CONFIG-MIB::hpSwitchPortFastEtherMode.%s' % prise,'i',code)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue