From 84da535d8b53013789144f63a10070c54d186c53 Mon Sep 17 00:00:00 2001 From: bernat Date: Tue, 5 Oct 2004 16:36:04 +0200 Subject: [PATCH] Prise obligatoire pour show_prise_mac darcs-hash:20041005143604-d1718-54d70007d3206fd65c7f6c475176665d177bf2b1.gz --- gestion/hptools.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) 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