La classe tant associe un adhrent et non une ip, il ne faut pas

forcment dtruire la classe de l'adhrent lors de la suppression d'une ip
dont on ne peut plus connatre  ce moment le propritaire.

darcs-hash:20060507195024-72cb0-58070c2ae10fdbe144d2a1284f577d96987fc3c3.gz
This commit is contained in:
salles 2006-05-07 21:50:24 +02:00
parent 19d8d20573
commit 3c7595139e

View file

@ -642,7 +642,7 @@ class firewall_komaz(firewall_crans) :
if not recherche : if not recherche :
# Il faut supprimer cette entrée # Il faut supprimer cette entrée
iptables_option = '-D' iptables_option = '-D'
tc_option = 'del' tc_option = ''
subnet = IpSubnet(ip, conf_fw.mask[len(conf_fw.mask)-1]) subnet = IpSubnet(ip, conf_fw.mask[len(conf_fw.mask)-1])
regles = iptables("-t mangle -L SUBNET-%s -n | grep %s" % (subnet, ip)).split('\n') regles = iptables("-t mangle -L SUBNET-%s -n | grep %s" % (subnet, ip)).split('\n')
# On sélectionne la première qui doit contenir ce que l'on veut # On sélectionne la première qui doit contenir ce que l'on veut
@ -662,8 +662,9 @@ class firewall_komaz(firewall_crans) :
warn += "Plusieurs machines avec l'IP %s\n" % ip warn += "Plusieurs machines avec l'IP %s\n" % ip
qdisc_id = class_id+5000 # Il nous faut un n° inférieur à 9998 unique qdisc_id = class_id+5000 # Il nous faut un n° inférieur à 9998 unique
for interface in [self.eth_ext, self.eth_int] : for interface in [self.eth_ext, self.eth_int] :
tc("class add %s %s parent 1:1 classid 1:%d htb rate %s ceil %s" % (tc_option, interface, class_id, p2p.debit_adh, p2p.debit_max)) if tc_option :
tc("qdisc add %s %s parent 1:%d handle %d: sfq perturb 10" % (tc_option, interface, class_id, qdisc_id)) tc("class %s dev %s parent 1:1 classid 1:%d htb rate %s ceil %s" % (tc_option, interface, class_id, p2p.debit_adh, p2p.debit_max))
tc("qdisc %s dev %s parent 1:%d handle %d: sfq perturb 10" % (tc_option, interface, class_id, qdisc_id))
iptables("-t mangle %s SUBNET-%s -o crans -d %s -m mark " % (iptables_option, subnet, ip) + iptables("-t mangle %s SUBNET-%s -o crans -d %s -m mark " % (iptables_option, subnet, ip) +
"--mark %s -j CLASSIFY --set-class 1:%s" % (conf_fw.mark['bittorrent'], class_id)) "--mark %s -j CLASSIFY --set-class 1:%s" % (conf_fw.mark['bittorrent'], class_id))
iptables("-t mangle %s SUBNET-%s -o ens -s %s -m mark " % (iptables_option, subnet, ip) + iptables("-t mangle %s SUBNET-%s -o ens -s %s -m mark " % (iptables_option, subnet, ip) +