
 Postado originalmente por 
PabloDelfino
					 
				 
				O Codigo pronto ficou assim:
                Código :
                :foreach i in=[/queue simple find where name="<pppoe-$user>"] do={
    :local qName [/queue simple get $i name];
    :local rLimit [/queue simple get $i max-limit];
    :local indexExplod [:find $rLimit "/"];
    :local lenth [:len $rLimit];
    :local rl [:pick $rLimit ($indexExplod + 1) ($lenth - 1)];
    :local rlUnity [:pick $rLimit ($lenth - 1) $lenth];
    :local burstl [/queue simple get $i burst-limit];
    :local indexExplod [:find $burstl "/"];
    :local lenth [:len $burstl];
    :local bl [:pick $burstl ($indexExplod + 1) ($lenth - 1)];
    :local blUnity [:pick $burstl ($lenth - 1) $lenth];
    :local burstt [/queue simple get $i burst-time];
    :local indexExplod [:find $burstt "/"];
    :local lenth [:len $burstt];
    :local bt [:pick $burstt ($indexExplod + 1) ($lenth - 1)];
    :local indexExplod [:find $bt "m"];
    :local lenth [:len $bt];
    :local bt0 [:pick $bt 0];
    :local bt1 [:pick $bt ($indexExplod + 1) $lenth];
    :local burstth [/queue simple get $i burst-threshold];
    :local indexExplod [:find $burstth "/"];
    :local lenth [:len $burstth];
    :local bth [:pick $burstth ($indexExplod + 1) ($lenth - 1)];
    :local bthUnity [:pick $burstth ($lenth - 1) $lenth];
    :local c512k [($rl * 55 / 100)];
    :local c5M [($rl * 25 / 100)];
    :local c20M [($rl * 20 / 100)];
    :local c50M [($rl * 15 / 100)];
    :local cInf [($rl * 10 / 100)];
    :local cBt [(($bt0 * 60) + $bt1)];
        :log warning "=== Inicio Script ===";
    :if ([:len $bl] != 0) do={
        :log warning "QoS === $qName";
        :log warning "Com Burst";
        :log warning "Max Limit === $rl $rlUnity";
        :log warning "Burst Limit === $bl $blUnity";
        :log warning "Burst Thr === $bth $bthUnity";
        :log warning "Burst Time=== $cBt";
        :log warning "=== Fim Script ===";
        } \
   else={
        :log warning "QoS === $qName";
        :log warning "Sem Burst";
        :log warning "Max Limit === $rl $rlUnity";
        :log warning "=== Fim Script ===";
        /queue tree add name="QoS_$qName" parent="$interface" queue="default" max-limit="$($rl)$rlUnity" bucket-size=0.20;
        /queue tree add name="2-512k_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_512K" queue="default" priority="2" limit-at="$($c512k)$rlUnity" max-limit="$($rl)$rlUnity";
        /queue tree add name="4-5M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_5M" queue="default" priority="4" limit-at="$($c5M)$rlUnity" max-limit="$($rl)$rlUnity";
        /queue tree add name="6-20M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_20M" queue="default" priority="6" limit-at="$($c20M)$rlUnity" max-limit="$($rl)$rlUnity";
        /queue tree add name="7-50M_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_50M" queue="default" priority="7" limit-at="$($c50M)$rlUnity" max-limit="$($rl)$rlUnity";
        /queue tree add name="8-Inf_$qName" parent="QoS_$qName" packet-mark="QoS-Andriopj_Infinity" queue="default" priority="8" limit-at="$($cInf)$rlUnity" max-limit="$($rl)$rlUnity";
 }
}  
Nada aconteceu!
Apenas autenticou e não emitiu nenhum Log. e nao adicionou nenhuma Queue Tree