La risposta scelta è errata / incompleta. Ho affrontato un problema simile, la risposta scelta mi ha dato un aiuto, ma non abbastanza.
Innanzitutto, il seguente comando non è davvero necessario.
tc qdisc del dev eth0 root
'Elimina' il root qdisc, ma viene immediatamente sostituito da uno pfifo_fast (in modo da non perdere la connettività).
Il secondo comando:
tc qdisc aggiungi dev eth0 root handle 1: prio
Sostituirà il qdisc pfifo_fast con quello prio. Per impostazione predefinita, la coda prio ha 3 bande (0, 1, 2) ciascuna gestita da una classe (1: 1, 1: 2 e 1: 3).
I pacchetti verranno inviati a una di quelle bande usando il campo TOS del pacchetto IP. Questa configurazione viene visualizzata quando si esegue:
tc qdisc ls
guardando i valori di 'priomap'.
Quindi, aggiungi un netd qdisc:
tc qdisc aggiungi dev eth0 parent 1: 1 handle 2: ritardo netem 500ms
Con questo comando si ritarda tutto il traffico diretto alla banda 1: 1 (fino a quando il filtro è in posizione).
Ma ci sono due avvertimenti:
- Il tuo traffico può avere un valore TOS diverso e quindi essere inviato a un'altra banda.
- Il prio qdisc può essere configurato in modo che il traffico passi a un'altra banda.
Di seguito ho risolto il mio problema per non essere influenzato dal netem mentre il filtro non è applicato. Invece dei passaggi precedenti, ho fatto:
tc qdisc aggiungi dev eth0 root handle 1: prio priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Questo invierà tutto il traffico per impostazione predefinita alla banda 1: 3.
Quindi, ho aggiunto la regola per ritardare il traffico:
tc qdisc aggiungi dev eth0 parent 1: 1 handle 10: ritardo netem 100ms 10ms
Questo crea il qdisc nella banda 0, ma poiché tutto il traffico va alla banda 3, non mi ha influenzato.
Successivamente, ho aggiunto il filtro:
filtro tc aggiungi dev protocollo eth0 ip genitore 1: 0 prio 1 u32 corrispondenza ip dst 10.0.0.1/32 corrispondenza ip dport 80 0xffff flowid 1: 1
Ora con il filtro, sarà interessato solo l'IP / porta scelta, poiché reindirizziamo il traffico scelto alla banda 0.
Tutto il resto del traffico continua inalterato poiché continua a fluire verso la banda 3.