[switchs] Pas de flow control sur les uplinks, pas de aaa pour les clubs

darcs-hash:20100120215637-ffbb2-d33a8aacb69630061e6e2431deab029f99623679.gz
This commit is contained in:
Nicolas Dandrimont 2010-01-20 22:56:37 +01:00
parent 7dda9b3a84
commit 3a5791cc46

View file

@ -27,6 +27,15 @@ import config
from annuaires import bat_switchs
try:
any
except NameError:
def any(iterable):
for item in iterable:
if item:
return True
return False
class switch(gen_config) :
# Répertoire ou écire les fichiers de conf
CONF_REP='/tmp/' # avec un / derrière
@ -133,7 +142,7 @@ no stack
interface_template = """interface %(prise)i
enable
name "%(nom)s"
flow-control%(speed)s
%(no_flowcontrol)sflow-control%(speed)s
no lacp
exit
"""
@ -338,12 +347,13 @@ exit
# Conf par défaut : activée, autonégociation
prise_params = { 'prise' : prise , 'speed' : '',
'etat' : '' }
'etat' : '', 'no_flowcontrol': '' }
annu_prise = '%i%02i' % (sw_num, prise) # prise telle que notée dans l'annuaire
if uplink_prises[bat].has_key(int(annu_prise)) :
### Prise d'uplink
prise_params['nom'] = uplink_prises[bat][int(annu_prise)]
prise_params['no_flowcontrol'] = 'no '
params['uplinks'].append(prise)
vlans['default'].append(prise)
vlans['adm_tagged'].append(prise)
@ -403,10 +413,12 @@ exit
# chambres.
chbres = prise_chbres.get(annu_prise, [])
# "unauth-vid" est le vlan sur lequel sont envoyés les machines
# quand l'authentification RADIUS échoue. On met le VLAN 1 pour
# éviter les problèmes quand LDAP se ch@#! dessus sur pegase.
params['INTERFACES_CONF'] += """aaa port-access mac-based %(prise)s
# Authentification RADIUS, pas pour les clubs...
if not any("cl" in chbre.lower() for chbre in chbres):
# "unauth-vid" est le vlan sur lequel sont envoyés les machines
# quand l'authentification RADIUS échoue. On met le VLAN 1 pour
# éviter les problèmes quand LDAP se ch@#! dessus sur pegase.
params['INTERFACES_CONF'] += """aaa port-access mac-based %(prise)s
aaa port-access mac-based %(prise)s addr-limit %(nbmac)s
aaa port-access mac-based %(prise)s logoff-period 3600
aaa port-access mac-based %(prise)s unauth-vid 1