TC(8) Linux TC(8) NUME tc - afieaza / modifica parametrii de control al traficului SINOPSIS tc [ OPIUNI ] qdisc [ add | change | replace | link | delete ] dev DISPOZITIV [ parent id-qdisc | root ] [ handle id-qdisc ] [ ingress_block INDEX_BLOC ] [ egress_block INDEX_BLOC ] qdisc [ parametri specifici qdisc ] tc [ OPIUNI ] class [ add | change | replace | delete | show ] dev DISPOZITIVV parent id-qdisc [ classid id-clasa ] qdisc [ parametri specifici qdisc ] tc [ OPIUNI ] filter [ add | change | replace | delete | get ] dev DISPOZITIV [ parent id-qdisc | root ] [ handle id-filtru ] protocol protocol prio prioritate filtertype [ parametri specifici tipului de filtru ] flowid id-flow tc [ OPIUNI ] filter [ add | change | replace | delete | get ] block INDEX_BLOC [ handle id-filtru ] protocol protocol prio prioritate filtertype [ parametri specifici tipului de filtru ] flowid id-flow tc [ OPIUNI ] chain [ add | delete | get ] dev DISPOZITIVV [ parent id-qdisc | root ] filtertype [ parametri specifici tipului de filtru ] tc [ OPIUNI ] chain [ add | delete | get ] block INDEX_BLOC filtertype [ parametri specifici tipului de filtru ] tc [ OPIUNI ] [ FORMAT ] qdisc { show | list } [ dev DISPOZITIV ] [ root | ingress | handle QHANDLE | parent ID_CLASS ] [ invisible ] tc [ OPIUNI ] [ FORMAT ] class show dev DISPOZITIV tc [ OPIUNI ] filter show dev DISPOZITIV tc [ OPINUI ] filter show block INDEX_BLOC tc [ OPIUNI ] chain show dev DISPOZITIV tc [ OPIUNI ] chain show block INDEX_BLOC tc [ OPIUNI ] monitor [ file NUME_FIIER ] OPIUNI := { [ -force ] -b[loturi] [ filename ] | [ -n[etns] name ] | [ -N[umeric] ] | [ -nm | -nam[nume] ] | [ { -cf | -c[onf] } [ filename ] ] [ -t[imestamp] ] | [ -t[short] | [ -o[neline] ] | [ -echo ] } FORMAT := { -s[tatistici] | -d[etalii] | -r[brut] | -i[ec] | -g[rafic] | -j[son] | -p[formatat] | -col[culoare] } DESCRIERE Tc este utilizat pentru configurarea controlului traficului -- ,,Traffic Control" in nucleul Linux. Controlul traficului cuprinde urmatoarele: MODELAREA Cand traficul este modelat, viteza sa de transmisie este controlata. Modelarea nu se limiteaza doar la reducerea laimii de banda disponibile, ci este utilizata i pentru a uniformiza varfurile de trafic, in vederea imbunatairii performanei reelei. Modelarea are loc la ieire. PLANIFICAREA Prin planificarea transmiterii pachetelor, se poate imbunatai interactivitatea pentru traficul care necesita acest lucru, garantand in acelai timp laimea de banda necesara transferurilor de volum mare. Reordonarea este denumita i prioritizare i are loc doar la ieire. CONTROLAREA In timp ce dirijarea se ocupa de distribuirea traficului, controlarea se refera la traficul care sosete. Prin urmare, controlarea are loc la intrare. RESPINGEREA Traficul care depaete o laime de banda prestabilita poate fi, de asemenea, respins imediat, atat la intrare, cat i la ieire. Procesarea traficului este controlata de trei tipuri de obiecte: qdisc-uri, clase i filtre. QDISCS qdisc este prescurtarea de la ,,queueing discipline" (disciplina de coada) i reprezinta un concept fundamental pentru inelegerea controlului traficului. Ori de cate ori nucleul trebuie sa trimita un pachet catre o interfaa, acesta este pus in coada (enqueued) in qdisc-ul configurat pentru acea interfaa. Imediat dupa aceea, nucleul incearca sa preia cat mai multe pachete posibil din qdisc, pentru a le transmite controlorului adaptorului de reea. O disciplina de coada QDISC simpla este cea de tip ,,pfifo", care nu efectueaza nicio prelucrare i funcioneaza exclusiv pe principiul ,,primul intrat, primul ieit". Cu toate acestea, ea stocheaza traficul atunci cand interfaa de reea nu il poate gestiona pe moment. CLASE Unele qdisc-uri pot conine clase, care la randul lor conin alte qdisc-uri - traficul poate fi astfel pus in coada in oricare dintre qdisc-urile interne, care se afla in cadrul claselor. Cand nucleul incearca sa scoata un pachet dintr-un astfel de qdisc cu clase, acesta poate proveni din oricare dintre clase. Un qdisc poate, de exemplu, sa acorde prioritate anumitor tipuri de trafic, incercand sa scoata pachetele din anumite clase inaintea altora. FILTRE Un filtru este utilizat de un qdisc bazat pe clase pentru a determina in ce clasa va fi pus in coada un pachet. Ori de cate ori traficul ajunge la o clasa care are subclase, acesta trebuie clasificat. Pentru aceasta pot fi folosite diverse metode, una dintre acestea fiind filtrele. Toate filtrele asociate clasei sunt apelate, pana cand unul dintre ele returneaza un rezultat. Daca nu se obine niciun rezultat, pot fi disponibile alte criterii. Acest lucru difera de la un qdisc la altul. Este important de reinut ca filtrele se afla in cadrul qdisc-urilor - ele nu controleaza ceea ce se intampla. Filtrele disponibile sunt: basic Filtreaza pachetele pe baza unei expresii ematch. Pentru detalii, consultai tc-ematch(8). bpf Filtreaza pachetele folosind (e)BPF; pentru detalii, consulta manualul de pagina tc-bpf(8). cgroup Filtreaza pachetele in funcie de grupul de control al procesului lor. Pentru detalii, consultai tc-cgroup(8). flow, flower Clasificatoare bazate pe flux (flow), care filtreaza pachetele in funcie de fluxul lor (identificat prin chei selectabile). Pentru detalii, consultai tc-flow(8) i tc-flower(8). fw Filtreaza pe baza valorii fwmark. Asociaza direct valoarea fwmark cu clasa de trafic. Consultai tc-fw(8) pentru detalii. route Filtreaza pachetele pe baza tabelului de direcionare. Pentru detalii, consultai tc-route(8). u32 Filtrare generica a datelor din pachete arbitrare, asistata de sintaxa pentru abstractizarea operaiilor obinuite. Pentru detalii, consultai tc-u32(8). matchall Filtru de control al traficului care se potrivete cu fiecare pachet. Pentru detalii, consultai tc-matchall(8). QEVENTS Qdisc-urile pot declana aciuni configurate de utilizator atunci cand au loc anumite evenimente relevante in cadrul qdisc-ului. Fiecare qevent (eveniment in cadrul qdisc-ului) poate fi nefolosit sau poate avea un bloc ataat. La acest bloc se ataeaza apoi filtre folosind sintaxa ,,tc block BLOCK_IDX". Blocul este executat atunci cand are loc qevent-ul asociat cu punctul de ataare. De exemplu, pachetul ar putea fi abandonat sau intarziat etc., in funcie de qdisc i de qevent-ul in cauza. De exemplu: tc qdisc add dev eth0 root handle 1: red limit 500K avpkt 1K \ qevent early_drop block 10 tc filter add block 10 matchall action mirred egress mirror dev eth1 QDISC-uri FARA CLASE Qdisc-urile fara clase sunt: choke CHOKe (,,CHOose and Keep" - alege i pastreaza, pentru fluxurile receptive, ,,CHOose and Kill" - alege i elimina, pentru fluxurile nereceptive) este un qdisc fara clase conceput atat pentru a identifica, cat i pentru a penaliza fluxurile care monopolizeaza coada. CHOKe este o varianta a RED, iar configuraia sa este similara cu cea a RED. codel CoDel (pronunat ,,coddle") este un algoritm adaptativ de gestionare activa a cozilor de ateptare (AQM) fara parametri de reglare, conceput pentru a remedia deficienele algoritmului RED i ale variantelor sale. [p|b]fifo Cel mai simplu qdisc funcional, cu comportament pur ,,First In, First Out"-- primul intrat, primul ieit. Limitare in pachete sau in octei. fq Fair Queue Scheduler asigura controlul ritmului (traficului) TCP i poate gestiona milioane de fluxuri simultane pe fiecare qdisc. fq_codel Fair Queuing Controlled Delay este o disciplina de coada care combina Fair Queuing cu schema CoDel AQM. FQ_Codel utilizeaza un model stocastic pentru a clasifica pachetele primite in diferite fluxuri i este folosit pentru a asigura o alocare echitabila a laimii de banda tuturor fluxurilor care utilizeaza coada. Fiecare astfel de flux este gestionat de disciplina de coada CoDel. Reordonarea in cadrul unui flux este evitata, deoarece CoDel utilizeaza intern o coada FIFO. fq_pie FQ-PIE (Flow Queuing with Proportional Integral controller Enhanced) este o disciplina de coada care combina Flow Queuing cu schema PIE de gestionare a traficului (AQM). FQ-PIE utilizeaza o funcie hash Jenkins pentru a clasifica pachetele primite in diferite fluxuri i este folosit pentru a asigura o alocare echitabila a laimii de banda tuturor fluxurilor care utilizeaza qdisc. Fiecare astfel de flux este gestionat de algoritmul PIE. gred Detectarea aleatorie generalizata a pachetelor iniiale (Generalized Random Early Detection) combina mai multe cozi RED pentru a obine mai multe prioritai de livrare. Acest lucru este necesar pentru implementarea transmiterii garantate ,,Assured Forwarding" (RFC 2597). hhf Filtrul ,,Heavy-Hitter" face distincia intre fluxurile mici i cele mari. Scopul este de a identifica fluxurile mari i de a le redireciona catre o coada separata, cu prioritate mai mica, astfel incat traficul de volum mare sa nu afecteze latena traficului critic. ingress Acesta este un qdisc special, deoarece se aplica traficului de intrare pe o interfaa, permiand filtrarea i controlul acestuia. mqprio Qdisc-ul ,,Multiqueue Priority" este o disciplina de coada simpla care permite asocierea fluxurilor de trafic cu intervale de cozi hardware folosind prioritai i o asociere configurabila intre prioritai i clase de trafic. In acest context, o clasa de trafic reprezinta un set de clase qdisc contigue care se asociaza in raport de 1:1 cu un set de cozi expuse la nivel hardware. multiq Multiqueue este un qdisc optimizat pentru dispozitive cu mai multe cozi de transmisie. Acesta a fost introdus pentru echipamentele care doresc sa evite blocarea la capatul cozii. El va parcurge toate benzile i va verifica daca coada hardware asociata cu banda respectiva nu este blocata inainte de a scoate un pachet din coada. netem Network Emulator este o extensie a funcionalitailor de control al traficului din Linux, care permite adaugarea de intarzieri, pierderi de pachete, duplicari i alte caracteristici la pachetele transmise de o interfaa de reea selectata. pfifo_fast Qdisc standard pentru nucleele cu opiunea ,,Advanced Router" activata. Consta dintr-o coada cu trei benzi care respecta fanioanele de tip de serviciu ,,Type of Service", precum i prioritatea care poate fi atribuita unui pachet. pie Controlorul proporional-integral imbunatait (,,Integral controller-Enhanced": PIE) este o schema de gestionare activa a cozilor de ateptare bazata pe teoria controlului. Se bazeaza pe controlorul proporional-integral, dar are ca obiectiv controlul intarzierii. rou Funcia ,,Random Early Detection" simuleaza congestia fizica prin eliminarea aleatorie a pachetelor atunci cand se apropie de limita alocarii de laime de banda configurata. Este potrivita pentru aplicaiile care necesita o laime de banda foarte mare. sfb Stochastic Fair Blue este un qdisc fara clase care gestioneaza congestia pe baza istoricului pierderilor de pachete i al gradului de utilizare a legaturii, incercand in acelai timp sa impiedice fluxurile care nu raspund (adica fluxurile care nu reacioneaza la marcarea de congestie sau la pachetele pierdute) sa afecteze performana fluxurilor care raspund. Spre deosebire de RED, unde probabilitatea de marcare trebuie configurata, BLUE incearca sa determine automat probabilitatea ideala de marcare. sfq Algoritmul ,,Stochastic Fairness Queueing" reordoneaza traficul din coada astfel incat fiecare ,,sesiune" sa poata trimite un pachet pe rand. tbf Filtrul Token Bucket este potrivit pentru limitarea traficului la o viteza configurata cu precizie. Se adapteaza bine la laimi de banda mari. CONFIGURAREA QDISC-urilor FARA CLASE In absena qdisc-urilor cu clase, qdisc-urile fara clase pot fi ataate doar la radacina unui dispozitiv. Sintaxa completa: tc qdisc add dev DISPOZITIV root QDISC PARAMETRI_QDISC Pentru a elimina, efectuai tc qdisc del dev DISPOZITIV root Qdisc-ul pfifo_fast este opiunea implicita automata in cazul in care nu este configurat niciun qdisc. QDISC-uri CU CLASA Qdisc-urile cu clasa sunt: ATM Asociaza fluxurile la circuitele virtuale ale unui dispozitiv de tip ATM (Asynchronous Transfer Mode) subiacent. DRR Planificatorul ,,Deficit Round Robin" reprezinta o alternativa mai flexibila la ,,Stochastic Fairness Queuing". Spre deosebire de SFQ, nu exista cozi integrate -- trebuie sa adaugai clase i apoi sa configurai filtre pentru a clasifica pachetele in mod corespunzator. Acest lucru poate fi util, de exemplu, pentru utilizarea qdisc-urilor RED cu configuraii diferite pentru anumite tipuri de trafic. Nu exista o clasa implicita -- daca un pachet nu poate fi clasificat, acesta este respins. ETS Qdisc-ul ETS este o disciplina de coada care combina funcionalitaile qdisc-urilor PRIO i DRR intr-un singur planificator. ETS faciliteaza configurarea unui set de benzi stricte i de partajare a laimii de banda pentru a implementa selecia transmisiilor descrisa in standardul 802.1Qaz. HFSC Curba ierarhica de distribuie echitabila a serviciilor (Hierarchical Fair Service Curve) garanteaza o alocare precisa a laimii de banda i a intarzierilor pentru clasele de tip ,,leaf" i aloca in mod echitabil laimea de banda excedentara. Spre deosebire de HTB, aceasta utilizeaza eliminarea pachetelor pentru a obine intarzieri reduse, de care beneficiaza sesiunile interactive. HTB Hierarchy Token Bucket implementeaza o ierarhie complexa de clase pentru partajarea legaturilor, punand accentul pe respectarea practicilor existente. HTB faciliteaza garantarea laimii de banda pentru clase, permiand in acelai timp specificarea unor limite maxime pentru partajarea intre clase. Acesta conine elemente de modelare a traficului, bazate pe TBF, i poate stabili prioritai intre clase. PRIO Qdisc-ul PRIO este un container fara modelare a traficului, destinat unui numar configurabil de clase, din care pachetele sunt eliberate din coada in ordine. Acest lucru permite o prioritizare simpla a traficului, in care clasele inferioare pot transmite numai daca cele superioare nu au pachete disponibile. Pentru a facilita configurarea, biii de tipul serviciului (Type Of Service) sunt respectai in mod implicit. QFQ Quick Fair Queueing este un planificator O(1) care ofera garanii aproape optime i este primul care atinge acest obiectiv cu un cost constant, indiferent de numarul de grupuri i de lungimea pachetelor. Algoritmul QFQ nu conine bucle i utilizeaza instruciuni i structuri de date foarte simple, care se preteaza foarte bine unei implementari hardware. TEORIA FUNCIONARII Clasele formeaza o structura arborescenta, in care fiecare clasa are un singur parinte. O clasa poate avea mai muli descendeni. Unele qdisc-uri permit adaugarea de clase in timpul rularii (HTB), in timp ce altele (PRIO) sunt create cu un numar fix de descendeni. Qdisc-urile care permit adaugarea dinamica de clase pot avea zero sau mai multe subclase in care traficul poate fi pus la coada. In plus, fiecare clasa conine un qdisc de nivel inferior (leaf qdisc) care, in mod implicit, are comportamentul unui qdisc pfifo, dei se poate ataa un alt qdisc in locul acestuia. Acest qdisc poate conine la randul sau clase, dar fiecare clasa poate avea un singur qdisc de nivel inferior. Atunci cand un pachet intra intr-un qdisc bazat pe clase, acesta poate fi clasificat intr-una dintre clasele din cadrul acestuia. Exista trei criterii disponibile, dei nu toate qdisc-urile le utilizeaza pe toate trei: filtre tc Daca filtrele tc sunt asociate unei clase, acestea sunt consultate in primul rand pentru instruciuni relevante. Filtrele pot efectua potriviri pe toate campurile antetului unui pachet, precum i pe marcajul paravanului de protecie aplicat de iptables. Tipul de serviciu (TOS) Unele qdisc-uri au reguli integrate pentru clasificarea pachetelor pe baza campului TOS. skb->prioritate Programele din spaiul de utilizator pot codifica un id-clasa in campul ,,skb->prioritate" folosind opiunea SO_PRIORITY. Fiecare nod din arbore poate avea propriile filtre, dar filtrele de nivel superior pot indica, de asemenea, direct catre clasele inferioare. Daca clasificarea nu a reuit, pachetele sunt plasate in coada qdisc-ului de nivel inferior asociat acelei clase. Pentru detalii, consultai insa paginile de manual specifice qdisc-ului respectiv. DENUMIREA Toate qdisc-urile, clasele i filtrele au ID-uri, care pot fi fie specificate, fie atribuite automat. Identificatorii sunt compui dintr-un numar major i un numar minor, desparii printr-o doua puncte - major:minor. Atat major, cat i minor sunt numere hexazecimale i au o lungime de 16 bii. Exista doua valori speciale: ,,root" este reprezentat de major i minor alcatuite exclusiv din cifre de 1, iar ,,unspecified" este alcatuit exclusiv din cifre de 0. QDISCS Unui qdisc, care poate avea descendeni, i se atribuie un numar major, denumit ,,handle", lasand spaiul de nume minor disponibil pentru clase. Handle-ul este exprimat sub forma ,,10:". Se obinuiete sa se atribuie in mod explicit un handle qdisc-urilor despre care se preconizeaza ca vor avea descendeni. CLASE Clasele care aparin unui qdisc au acelai numar major al qdisc-ului, dar fiecare are un numar minor separat, numit ,,classid", care nu are nicio legatura cu clasele parinte, ci doar cu qdisc-ul parinte. Se aplica aceeai convenie de denumire ca i in cazul qdisc-urilor. FILTRE Filtrele au un identificator format din trei pari, care este necesar doar atunci cand se utilizeaza o ierarhie de filtre cu hash. PARAMETRI Urmatorii parametri sunt folosii pe scara larga in TC. Pentru ali parametri, consultai paginile de manual ale fiecarui qdisc in parte. RATE DE TRANSFER Laimi de banda sau rate de transfer. Aceti parametri accepta un numar cu virgula mobila, urmat eventual de o unitate de masura (sunt acceptate atat unitaile SI, cat i cele IEC) sau de un numar cu virgula mobila urmat de caracterul ,,%" pentru a specifica rata de transfer ca procent din viteza dispozitivului (de exemplu, 5%, 99,5%). Avertisment: specificarea ratei de transfer ca procent inseamna o fraciune din viteza curenta; daca viteza se modifica, valoarea nu va fi recalculata. bii sau o simpla cifra/numar Bii pe secunda kbit Kilobii pe secunda mbit Megabii pe secunda gbit Gigabii pe secunda tbit Terabii pe secunda bps Octei pe secunda kbps Kilooctei pe secunda mbps Megaoctei pe secunda gbps Gigaoctei pe secunda tbps Teraoctei pe secunda Pentru a exprima valorile in unitai IEC, inlocuii prefixele SI (k-, m-, g-, t-) cu prefixele IEC (ki-, mi-, gi- i ti-), respectiv. TC stocheaza rata de transfer intern sub forma unui numar intreg fara semn pe 32 de bii exprimat in bps, astfel incat putem specifica o rata maxima de 4294967295 bps. DURATA Durata. Poate fi specificata sub forma unui numar zecimal urmat de o unitate opionala: s, sec sau secs Secunde intregi ms, msec sau msecs Millisecunde ,,us", ,,usec", ,,usecs" sau doar o simpla cifra/numar Microsecunde. TC a definit propria unitate de timp (echivalenta cu o microsecunda) i stocheaza valorile de timp sub forma unui numar intreg fara semn pe 32 de bii, astfel incat putem specifica o valoare maxima de timp de 4294967295 microsecunde. DIMENSIUNI Volumul de date. Poate fi specificat sub forma unui numar zecimal urmat de o unitate opionala: b sau o simpla cifra/numar Octei. kbit Kilobii kb sau k Kilooctei mbit Megabiits mb sau m Megaoctei gbit Gigabii gb sau g Gigaoctei TC stocheaza dimensiunile intern sub forma unui numar intreg fara semn pe 32 de bii exprimat in octei, astfel incat putem specifica o dimensiune maxima de 4294967295 de octei. VALORI Alte valori fara unitate de masura. In mod implicit, aceti parametri sunt interpretai ca valori zecimale, dar putei indica programului TC sa le interpreteze ca valori octale sau hexazecimale adaugand prefixul ,,0" sau, respectiv, ,,0x". COMENZI TC Pentru qdisc-uri, clase i filtre sunt disponibile urmatoarele comenzi: add Adauga un qdisc, o clasa sau un filtru la un nod. Pentru toate entitaile, trebuie specificat un parintet, fie prin indicarea ID-ului acestuia, fie prin ataarea directa la radacina unui dispozitiv. La crearea unui qdisc sau a unui filtru, acesta poate fi denumit cu ajutorul parametrului handle. O clasa este denumita cu ajutorul parametrului classid. delete Un qdisc poate fi ters prin specificarea identificatorului sau, care poate fi i ,,root". Toate subclasele i qdisc-urile lor de nivel inferior sunt terse automat, la fel i orice filtre ataate acestora. change Anumite entitai pot fi modificate ,,pe loc". Sintaxa este identica cu cea a comenzii ,,add", cu excepia faptului ca identificatorul (handle) nu poate fi modificat, la fel ca i elementul parinte. Cu alte cuvinte, change nu poate muta un nod. replace Efectueaza o operaie de tergere/adaugare aproape instantanee asupra unui ID de nod existent. Daca nodul nu exista inca, acesta este creat. get Afieaza un singur filtru pe baza interfeei DISPOZITIV, id-qdisc, prioritate, protocol i id-filtru. show Afieaza toate filtrele ataate la interfaa specificata. Trebuie sa se transmita un ID-parinte valid. link Este disponibila doar pentru qdisc-uri i efectueaza o inlocuire numai daca nodul exista deja. MONITOR Instrumentul tc poate monitoriza evenimentele generate de nucleu, cum ar fi adaugarea/tergerea qdisc-urilor, a filtrelor sau a aciunilor, sau modificarea celor existente. Urmatoarea comanda este disponibila pentru monitor : file Daca se specifica opiunea ,,file" (fiier), tc nu mai monitorizeaza evenimentele din nucleu, ci deschide fiierul indicat i afieaza coninutul acestuia. Fiierul trebuie sa fie in format binar i sa conina mesaje Netlink. OPIUNI -b, -b nume-fiier, -batch, -batch nume-fiier citete comenzile din fiierul furnizat sau de la intrarea standard i le executa. Prima eroare va determina inchiderea programului tc. -force nu termina tc in cazul apariiei unor erori in modul pe loturi ,,batch". Daca au aparut erori in timpul executarii comenzilor, codul de returnare al aplicaiei va fi diferit de zero. -o, -oneline emite fiecare inregistrare pe o singura linie, inlocuind salturile de linie cu caracterul ,,\". Acest lucru este convenabil atunci cand dorii sa numarai inregistrarile cu wc(1) sau sa gasii cu grep(1) rezultatul. -n, -net, -netns comuta tc in spaiul de nume de reea specificat NS_NET. De fapt, aceasta doar simplifica executarea comenzii: ip netns exec NS_NETS tc [ OPIUNI ] OBIECT { COMANDA | help } la tc -n[etns] NS_NET [ OPIUNI ] OBIECT { COMANDA | help } -N, -Numeric Afieaza direct numarul protocolului, domeniul de aplicare, campul ds, etc. in loc sa il converteasca in nume uor de citit de catre om. -cf, -conf IER> specifica ruta catre fiierul de configurare. Aceasta opiune se utilizeaza impreuna cu alte opiuni (de exemplu, -nm). -t, -timestamp Cand tc monitor ruleaza, afieaza data i ora inaintea mesajului de eveniment, in formatul: Timestamp: usec -ts, -tshort Cand tc monitor ruleaza, afieaza o marca temporala scurta inaintea mesajului de eveniment, in formatul: [--T.] -echo Solicita nucleului sa trimita inapoi configuraia aplicata. FORMAT Comanda ,,show" are opiuni suplimentare de formatare: -s, -stats, -statistics afiseaza mai multe statistici privind utilizarea pachetelor. -d, -details afieaza informaii mai detaliate despre rate i dimensiunile celulelor. -r, -raw afieaza valorile hexazecimale brute pentru gestionari(identificatori). -p, -pretty pentru filtrul u32, decodifica valorile de offset i masca in comenzi de filtrare echivalente bazate pe TCP/IP. In ieirea JSON, adauga spaii pentru a imbunatai lizibilitatea. -iec afieaza ratele in unitai IEC (adica, 1K = 1024). -g, -graph afieaza clasele sub forma de grafic ASCII. Afieaza informaii statistice generale sub fiecare clasa daca a fost specificata opiunea -s. Clasele pot fi filtrate numai prin opiunea dev. -c[color][={always|auto|never} Configureaza ieirea color. Daca parametrul este omis sau always, ieirea color este activata indiferent de starea ieirii standard. Daca parametrul este auto, se verifica daca ieirea standard este un terminal inainte de a activa ieirea color. Daca parametrul este never, ieirea color este dezactivata. Daca este specificat de mai multe ori, ultimul are intaietate. Acest indicator este ignorat daca se indica i -json. -j, -json Afieaza rezultatele in format JSON. -nm, -name determina numele clasei din fiierul /etc/iproute2/tc_cls sau din fiierul specificat prin opiunea -cf. Acest fiier reprezinta doar o corespondena intre classid i numele clasei: # Acesta este un comentariu 1:40 voip # Acesta este un alt comentariu 1:50 web 1:60 ftp 1:2 home tc nu va genera o eroare daca opiunea -nm a fost specificata fara opiunea -cf, dar fiierul /etc/iproute2/tc_cls nu exista, ceea ce permite utilizarea opiunii -nm pentru crearea de alias tc. -br, -brief Afieaza numai datele eseniale necesare pentru identificarea filtrului i a aciunii (identificator, cookie etc.) i statisticile. In prezent, aceasta opiune este acceptata doar de comenzile tc filter show i tc actions ls. EXEMPLE tc -g class show dev eth0 Afieaza clasele sub forma de grafic ASCII pe interfaa eth0. tc -g -s class show dev eth0 Afieaza clasele sub forma unui grafic ASCII, cu informaii statistice sub fiecare clasa. ISTORIC tc a fost scris de Alexey N. Kuznetsov i inclus in Linux 2.2. CONSULTAI I tc-basic(8), tc-bfifo(8), tc-bpf(8), tc-cake(8), tc-cgroup(8), tc-choke(8), tc-codel(8), tc-drr(8), tc-ematch(8), tc-ets(8), tc-flow(8), tc-flower(8), tc-fq(8), tc-fq_codel(8), tc-fq_pie(8), tc-fw(8), tc-gact(8), tc-hfsc(7), tc-hfsc(8), tc-htb(8), tc-mqprio(8), tc-pfifo(8), tc-pfifo_fast(8), tc-pie(8), tc-red(8), tc-route(8), tc-sfb(8), tc-sfq(8), tc-stab(8), tc-tbf(8), tc-u32(8) Documentaia pentru utilizatori se gasete la adresa http://lartc.org/, dar va rugam sa trimitei rapoartele de erori i plasturii (coreciile) la: AUTOR Aceasta pagina de manual este intreinuta de bert hubert (ahu@ds9a.nl) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . iproute2 16 decembrie 2001 TC(8)