tc prio como os pacotes são priorizados

1

Eu quero usar a discpline de filas tc prio para agendar pacotes em uma ordem específica. Eu quero enviar pacotes para a porta de destino 5555 com a prioridade mais alta e pacotes para a porta de destino 6666 com prioridade média e todos os outros pacotes com a prioridade mais baixa. Eu queria que o pedido fosse feito com base nisso e não com base nos campos de TOS. Então eu defini 3 bandas da seguinte forma:

  • tc qdisc adiciona o identificador raiz do eth1 da eth: bandas prio 3 priomap 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3
  • tc qdisc adiciona dev eth1 pai 1: 1 pfifo
  • tc filter add dev eth1 pai 1: protocolo ip prio 1 u32 correspondência ip dport 5555 0xffff flowid 1: 1
  • tc qdisc adiciona dev eth1 pai 1: 2 pfifo
  • filtro tc add dev eth1 pai 1: protocolo ip prio 2 u32 correspondência ip dport 6666 0xffff flowid 1: 2
  • tc qdisc adiciona dev eth1 pai 1: 4 pfifo
  • tc filter add dev eth1 pai 1: protocolo ip prio 3 u32 match ip dst 0.0.0.0/0 flowid 1: 3

onde eth1 é a interface de saída.

Isso funcionará sem definir os campos de TOS? Também para testá-lo, eu corri o tráfego UDP para a porta 8888 a uma taxa de 500M usando iperf na interface eth1 de 100Mbps e, quando esse tráfego estava em execução, iniciei o tráfego para a porta 5555 que tem a maior prioridade em 100M. Mas não parecia que todo o tráfego estava passando pela porta 5555 primeiro e os pacotes para a porta 8888 estavam sendo descartados.

Alguém pode ajudar a esclarecer como o discpline de enfileiramento de prio deve funcionar?

Obrigado vijaya

    
por vijaya 25.01.2018 / 12:09

0 respostas

Tags