Projet

Général

Profil

« Précédent | Suivant » 

Révision 8e2986f8

Ajouté par Ermal il y a presque 14 ans

Fixes #761. Correctly bring down/up all vips based on the button click in the webGUI.

Voir les différences:

usr/local/www/carp_status.php
55 55
	if($status == true) {
56 56
		$carp_ints = get_all_carp_interfaces();
57 57
		mwexec("/sbin/sysctl net.inet.carp.allow=0");
58
		$carp_counter = find_number_of_created_carp_interfaces();
59
		if (is_array($carp_ints)) {
60
			foreach($carp_ints as $int) {
61
				mwexec("/sbin/ifconfig $int down");
62
				mwexec("/sbin/ifconfig $int destroy");
63
			}
64
		}
58
		if(is_array($config['virtualip']['vip'])) {
59
			$viparr = &$config['virtualip']['vip'];
60
                	foreach ($viparr as $vip) {
61
                        	if (in_array($vip['carpif'], $carps)) {
62
                                	switch ($vip['mode']) {
63
                                        	case "carp":
64
                                        		interface_vip_bring_down($vip);
65
                                        		sleep(1);
66
                                        	break;
67
                                        	case "carpdev-dhcp":
68
                                        		interface_vip_bring_down($vip);
69
                                        		sleep(1);
70
                                        	break;
71
                                	}
72
                        	}
73
                	}
74
        	}
65 75
		$savemsg = "{$carp_counter} IPs have been disabled.";
66 76
	} else {
67 77
		$savemsg = "CARP has been enabled.";
68 78
		mwexec("/sbin/sysctl net.inet.carp.allow=1");
69 79
		interfaces_carp_setup();
80
		if(is_array($config['virtualip']['vip'])) {
81
                        $viparr = &$config['virtualip']['vip'];
82
                        foreach ($viparr as $vip) {
83
                                if (in_array($vip['carpif'], $carps)) {
84
                                        switch ($vip['mode']) {
85
                                                case "carp":
86
                                                        interface_carp_configure($vip);
87
                                                        sleep(1);
88
                                                break;
89
                                                case "carpdev-dhcp":
90
                                                        interface_carpdev_configure($vip);
91
                                                        sleep(1);
92
                                                break;
93
                                        }
94
                                }
95
                        }
96
                }
70 97
	}
71 98
}
72 99

  

Formats disponibles : Unified diff