Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				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
	 
 muito estranho não estar funcionando ai contigo.
Qual a versão do seu Mikrotik? se for RB, qual a versão de firmware tbm?
É possível fazer acesso remoto ai pelo team viewer ou algum programa semelhante??
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
AndrioPJ
				 
			muito estranho não estar funcionando ai contigo.
Qual a versão do seu Mikrotik? se for RB, qual a versão de firmware tbm?
É possível fazer acesso remoto ai pelo team viewer ou algum programa semelhante??
			
		
	 
 Achei o Problema amigo,
Estava aqui:  "bucket-size=0.20" na hora de adicionar a Queue-tree
Meu MK estava detectando erro
Removi ele e funcionou, qual problema deixar sem?
Notei também que não adicionou Burst Limit
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		Andrio, parabens pela postagem, como já disseram, de alto nível.
Fiz varios testes aqui em um cenario com cerca de 550 pppoe, e constatei o seguinte:
Funciona muito bem e pode sim ser bem melhorado a partir desta ideia, a exemplo, fragmentacões de torrent e outros P2P em porta 443 não são vistas pelo filtro P2P nem pelo  script (que não é o papel dele é lógico) pois ja vem fragmentado, teríamos que descobrir uma forma de usar um DIP (Deep Inspection Pack) em mikrotik pra fazer isso mas até agora não vi como pois esta funcionalidade esta como uma feature do iptables, mas se for nessa linha beira a perfeição. 
No mais, só elogios pela disposição do feito.
Abraços!!
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			: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)];
			
		
	
 AndrioPJ, fiquei com uma duvida aqui, a soma desses dados não teria que dar 100%?
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
eberty
				 
			AndrioPJ, fiquei com uma duvida aqui, a soma desses dados não teria que dar 100%?
			
		
	 
 a principio sim.
Mas observei que nem sempre todas as regras estão sendo usadas simultaneamente.
na grande maioria tem 2, no máximo 3 regras sendo usadas.
Por isso, pensei em garantir um minimo maior.
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
PabloDelfino
				 
			Achei o Problema amigo,
Estava aqui:  "bucket-size=0.20" na hora de adicionar a Queue-tree
Meu MK estava detectando erro
Removi ele e funcionou, qual problema deixar sem?
Notei também que não adicionou Burst Limit
			
		
	 
 Sobre o bucket-size, não tem nenhum problema em exclui-lo.
por padrão, quando não é mencionado, ele já usa o valor de 0.10.
Como você já achou o problema, tenta copiar/usar o script que está na pagina inicial e remove apenas o bucket-size.
ele deve adicionar as regras de burst-limite no geral, e na 1 regra de QoS (para pacotes pequenos).
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
leandromidia
				 
			Olá a todos, a principio, gostaria de agradecer e muito ao AndrioPJ, esse Qos dinâmico transformou a experiência dos meus usuários, o pessoal ligou perguntando o que aconteceu... e realmente ao entrar em um site que o pessoal usa muito eu me deparei com as aberturas muito mais rápidas das janelas de exibição, coisa impressionante!!! Como pode algumas regras mudarem tanto a rede... mais uma vez, OBRIGADO!!!
			
		
	 
 Opa, valeu grande.
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
AndrioPJ
				 
			Sobre o bucket-size, não tem nenhum problema em exclui-lo.
por padrão, quando não é mencionado, ele já usa o valor de 0.10.
Como você já achou o problema, tenta copiar/usar o script que está na pagina inicial e remove apenas o bucket-size.
ele deve adicionar as regras de burst-limite no geral, e na 1 regra de QoS (para pacotes pequenos).
			
		
	 
 Ja fis isso  @AndrioPJ
Mas o Burst Limit realmente não vai.
Será a versão do Meu MK que esta causando isso? Ros 6.33.3  -  Firm. 3.10
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
PabloDelfino
				 
			Ja fis isso  @
AndrioPJ
Mas o Burst Limit realmente não vai.
Será a versão do Meu MK que esta causando isso? Ros 6.33.3  -  Firm. 3.10
	 
 o do burst possui o bucket-size tbm, vc retirou ele?
de qualquer forma, realmente pode ser versão da RB.
Aqui eu uso a versão 6.37.5 Bugfix only
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
AndrioPJ
				 
			a principio sim.
Mas observei que nem sempre todas as regras estão sendo usadas simultaneamente.
na grande maioria tem 2, no máximo 3 regras sendo usadas.
Por isso, pensei em garantir um minimo maior.
			
		
	 
 Obrigado pela resposta.
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
AndrioPJ
				 
			o do burst possui o bucket-size tbm, vc retirou ele?
de qualquer forma, realmente pode ser versão da RB.
Aqui eu uso a versão 6.37.5 Bugfix only
			
		
	 
 Realmente, o erro estava relacionado a versão do mikrotik, atualizei para 6.37 e a regra com bucket-cize passou a funcionar
Porem o Burst-limit não funciona!
	 
	
	
		1 Anexo(s)
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		Outra falha  @AndrioPJ
O script Esta adicionando parent errado!
Fez uma confusão aqui,Telefone começou a tocar reclamando de lentidão fui olhar e... olha no print.
Anexo 66947
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		PPPoE ou PPoE ? 
Do resto ótima contribuição [emoji106]
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
PabloDelfino
				 
			Outra falha  @
AndrioPJ
O script Esta adicionando parent errado!
Fez uma confusão aqui,Telefone começou a tocar reclamando de lentidão fui olhar e... olha no print.
Anexo 66947
	 
 estranho...
Aconteceu o mesmo com mais alguém?
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
PabloDelfino
				 
			Realmente, o erro estava relacionado a versão do mikrotik, atualizei para 6.37 e a regra com bucket-cize passou a funcionar
Porem o Burst-limit não funciona!
			
		
	 
 Não adiciona a regra com Burst ou não libera o Burst?
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
AndrioPJ
				 
			estranho...
Aconteceu o mesmo com mais alguém?
			
		
	 
 Será que ele esta tratando de certa forma como global?
Se criar uma variável pro nome das variáveis exemplo adicionando os segundos aos nomes?
segs = 23.312
user$segs = "Joao"
blabla usuario=$user23.312
Algumas linguagens de programação permitem não sei se da certo no mikrotik
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
eduardomazolini
				 
			Será que ele esta tratando de certa forma como global?
Se criar uma variável pro nome das variáveis exemplo adicionando os segundos aos nomes?
segs = 23.312
user$segs = "Joao"
blabla usuario=$user23.312
Algumas linguagens de programação permitem não sei se da certo no mikrotik
			
		
	 
 pois é... n deveria.
pois cada vez que ele roda, ele atualiza a variavel.
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
AndrioPJ
				 
			Não adiciona a regra com Burst ou não libera o Burst?
			
		
	 
 Boa tarde @AndrioPJ
Ele não Adiciona a Queue Tree com Burst!
Adiciona Apenas LImit At e Max LImit  , ta certo isso?
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por 
leandromidia
				 
			Adiciona o Burst normal, 100% funcional, eu estou usando a 2 semanas, sem problemas.
			
		
	 
 Que estranho isso, será que é só Comigo esse trem!
	 
	
	
	
		Re: PPoE - QoS Dinâmico e Individual
	
	
		Aqui quando cliente desconecta do pppoe e volta ele nao adicionar a regra correta de parent tbm, ao deletar da queue ai que ele adicona tudo pelas metade. Mais alguem com esse problema?