]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/qos.cgi
Update:
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / qos.cgi
index fd8fee4516c43645a81190c4b9ed5f9a259ea949..1ecc84fe0d24624eb9a86b59041e634e3b15f862 100644 (file)
@@ -324,22 +324,29 @@ END
 
 if ($qossettings{'ACTION'} eq 'Start')
 {
-       system("sleep 2 && /usr/bin/perl /var/ipfire/qos/bin/makeqosscripts.pl > /var/ipfire/qos/bin/qos.sh &");
+       system("sleep 1 && /usr/bin/perl /var/ipfire/qos/bin/makeqosscripts.pl > /var/ipfire/qos/bin/qos.sh &");
        system("/bin/touch /var/ipfire/qos/enable");
+       system("sleep 2 && /usr/local/bin/qosctrl start >/dev/null 2>&1");
+       system("logger -t ipfire 'QoS started'");
        $qossettings{'ENABLED'} = 'on';
        &General::writehash("${General::swroot}/qos/settings", \%qossettings);
 }
 elsif ($qossettings{'ACTION'} eq 'Stop')
 {
+       system("/usr/local/bin/qosctrl stop >/dev/null 2>&1");
        unlink "/var/ipfire/qos/bin/qos.sh";
        unlink "/var/ipfire/qos/enable";
+       system("logger -t ipfire 'QoS stopped'");
        $qossettings{'ENABLED'} = 'off';
        &General::writehash("${General::swroot}/qos/settings", \%qossettings);
 }
 elsif ($qossettings{'ACTION'} eq 'Neustart')
 {
        if ($qossettings{'ENABLED'} eq 'on'){
-               system("sleep 2 && /usr/bin/perl /var/ipfire/qos/bin/makeqosscripts.pl > /var/ipfire/qos/bin/qos.sh &");
+               system("/usr/local/bin/qosctrl stop >/dev/null 2>&1");
+               system("sleep 1 && /usr/bin/perl /var/ipfire/qos/bin/makeqosscripts.pl > /var/ipfire/qos/bin/qos.sh &");
+               system("sleep 5 && /usr/local/bin/qosctrl start >/dev/null 2>&1");
+               system("logger -t ipfire 'QoS restarted'");
        }
 }
 elsif ($qossettings{'ACTION'} eq $Lang::tr{'save'})