2012-03-01 17 views
12
1. ETH=$1 
2. LATENCY=$2 
3. LOSS=$3 
4. JITTER=$4 
5. BW=$5 
6. sudo /sbin/tc qdisc del dev eth0 root 
7. sudo /sbin/tc qdisc add dev eth0 root handle 1: netem delay $LATENCY $JITTER 
8. sudo /sbin/tc qdisc add dev eth0 parent 1:1 handle 10: netem loss $LOSS 
9. sudo /sbin/tc qdisc add dev eth0 parent 10:1 handle 20: htb default 1 
10.sudo /sbin/tc class add dev eth0 parent 20: classid 0:1 htb rate $BW ceil $BW 
11.sudo /sbin/tc qdisc show 

I risultati codice di cui sopra:risposte RTNETLINK: Nessun file o directory tale errore

RTNETLINK answers :No such file or directory 

errore sulla linea 8,9,10 al momento dell'esecuzione.

+0

duplicato di http://stackoverflow.com/questions/4803069/rtnetlink-answers-no-such-file-or-directory?rq=1? –

+0

Hai provato a usare 'tc qdisc list' per vedere cosa è in vigore? Questo errore a volte significa che ti stai riferendo a una voce inesistente. – Neil

+0

Per chiunque altro lo trovi su 'tc qdisc del dev ...' e gestisce questa domanda, il problema può anche essere che tutto era già stato cancellato. –

risposta

2

Gli handle e gli handle parent non corrispondono. per esempio, cambiare a:

7. sudo /sbin/tc qdisc add dev eth0 root handle 1:1 netem delay $LATENCY $JITTER 
8. sudo /sbin/tc qdisc add dev eth0 parent 1:1 handle 10:1 netem loss $LOSS 
9. sudo /sbin/tc qdisc add dev eth0 parent 10:1 handle 20:1 htb default 1 
10.sudo /sbin/tc class add dev eth0 parent 20:1 classid 0:1 htb rate $BW ceil $BW 

e dovrebbe funzionare.

+0

No, non ha funzionato né –

10

Il problema è con i moduli del kernel e/o il supporto del kernel mancanti. Assicurarsi che è possibile eseguire

modprobe sch_netem 

ho anche dovuto ricompilare il kernel dopo aver attivato perché c'è qualcosa incorporato che viene attivata dopo aver attivato l'emulazione di rete.

Vedi anche http://forums.fedoraforum.org/showthread.php?t=285408 e http://www.linuxfoundation.org/collaborate/workgroups/networking/netem

+15

BTW, nel mio caso ho avuto anche un errore frustrante che sembra identico a questo. Ma stavo cercando di usare 'tc qdisc change ...' quando intendevo usare 'tc qdisc add ...'. Il messaggio di errore è lo stesso. Vai a capire. –

+1

Posso eseguire il comando modprobe 'sch_netem', non dà alcun errore. Anche 'lsmod | grep -i sch_netem' restituisce 'sch_netem 17306 0'. Ma ancora il comando 'qdisk change' mi dà errore:' RTNETLINK risponde: No such file or directory' –

+0

@DavidDombrowsky, grazie per averlo individuato, stavo solo provando la seconda riga di esempio da http://www.linuxfoundation.org/collaborate/workgroup/networking/netem, che "cambiano" invece di "aggiungere". –

0

RTNETLINK answers :No such file or directory viene per 2 motivi.

  • Esecuzione tc qdisc con le opzioni sbagliate
  • o un modulo del kernel sch_netem manca

in modo da controllare prima sch_netem è installato nella macchina utilizzando il comando lsmod -l. Se manca, installare utilizzando il comando modprobe sch_netem.

Anche dopo aver installato sch_netem, se si ottiene lo stesso errore significa che si sta eseguendo un'opzione errata. Ad esempio, è possibile aggiungere una menomazione su un'interfaccia di rete utilizzando ip qdisc add dev .... Allo stesso modo per la rimozione di questo è possibile fare ip qdisc delete dev.... Se si sta tentando di cancellare una menomazione senza aggiungere prima, si ottiene anche questo errore. E anche per le opzioni sbagliate si ottiene anche questo errore.

Problemi correlati