diff --git a/gestion/hptools.py b/gestion/hptools.py index e2ccb9d8..cf4692a5 100644 --- a/gestion/hptools.py +++ b/gestion/hptools.py @@ -252,9 +252,7 @@ class hpswitch : return self.__ssh("show interfaces") def show_prise_mac(self,prise='') : - """ Retourne le(s) adresse(s) MAC présentes sur la prise. - Si la prise n'es pas spécifié retourne toutes les adresses mac - connues du switch.""" + """ Retourne le(s) adresse(s) MAC présentes sur la prise.""" if not prise : prise = self.prise if self.__debug : self.__logDest.write("HP DEBUG : show_prise_mac(prise=%s)\n" % prise) try: @@ -374,7 +372,28 @@ class hpswitch : if not prise : prise = self.prise if self.__debug : self.__logDest.write("HP DEBUG : disable(prise=%s)\n" % prise) return self.set('IF-MIB::ifAdminStatus.%i' % prise, 'i', 2) - + + def eth_mode(self,mode,prise=0) : + """ Fixe le mode d'une prise + mode est un tuple : (vitesse, duplex) ou simplement "auto" + vitesse est : 10 100 ou 1000 + duplex est FD, HD ou auto + """ + if not prise : prise = self.prise + # Conversion du mode + if mode == 'auto' : + code = 5 + else : + code = { 'HD' : 2 , 'FD' : 4 , 'AUTO' : 8 }[mode[1].upper()] + if mode[0] == 10 : + code -= 1 + elif mode[0] == 1000 : + if code == 8 : code += 1 + elif code == 2 : raise ValueError('Mode invelide %s' % mode) + else code += 1 + + self.set('CONFIG-MIB::hpSwitchPortFastEtherMode.%s' % prise,'i',code) + def status(self,prise=0) : """ Retourne un dictionnaire décrivant la prise donnée les clefs sont : activé, etat, vitesse, vitesse_max, nom