Scroll to navigation

TC(8) Linux TC(8)

NUME

tc - afișează / modifică parametrii de control al traficului

SINOPSIS

tc [ OPȚIUNI ] 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 [ OPȚIUNI ] class [ add | change | replace | delete | show ] dev DISPOZITIVV parent id-qdisc [ classid id-clasă ] qdisc [ parametri specifici qdisc ]

tc [ OPȚIUNI ] 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 [ OPȚIUNI ] 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 [ OPȚIUNI ] chain [ add | delete | get ] dev DISPOZITIVV [ parent id-qdisc | root ] filtertype [ parametri specifici tipului de filtru ]

tc [ OPȚIUNI ] chain [ add | delete | get ] block INDEX_BLOC filtertype [ parametri specifici tipului de filtru ]

tc [ OPȚIUNI ] [ FORMAT ] qdisc { show | list } [ dev DISPOZITIV ] [ root | ingress | handle QHANDLE | parent ID_CLASS ] [ invisible ]

tc [ OPȚIUNI ] [ FORMAT ] class show dev DISPOZITIV

tc [ OPȚIUNI ] filter show dev DISPOZITIV

tc [ OPȚINUI ] filter show block INDEX_BLOC

tc [ OPȚIUNI ] chain show dev DISPOZITIV

tc [ OPȚIUNI ] chain show block INDEX_BLOC

tc [ OPȚIUNI ] monitor [ file NUME_FIȘIER ]

OPȚIUNI := { [ -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” în nucleul Linux. Controlul traficului cuprinde următoarele:

Când traficul este modelat, viteza sa de transmisie este controlată. Modelarea nu se limitează doar la reducerea lățimii de bandă disponibile, ci este utilizată și pentru a uniformiza vârfurile de trafic, în vederea îmbunătățirii performanței rețelei. Modelarea are loc la ieșire.

Prin planificarea transmiterii pachetelor, se poate îmbunătăți interactivitatea pentru traficul care necesită acest lucru, garantând în același timp lățimea de bandă necesară transferurilor de volum mare. Reordonarea este denumită și prioritizare și are loc doar la ieșire.

În timp ce dirijarea se ocupă de distribuirea traficului, controlarea se referă la traficul care sosește. Prin urmare, controlarea are loc la intrare.

Traficul care depășește o lățime de bandă prestabilită poate fi, de asemenea, respins imediat, atât la intrare, cât și la ieșire.

Procesarea traficului este controlată de trei tipuri de obiecte: qdisc-uri, clase și filtre.

QDISCS

qdisc este prescurtarea de la „queueing discipline” (disciplina de coadă) și reprezintă un concept fundamental pentru înțelegerea controlului traficului. Ori de câte ori nucleul trebuie să trimită un pachet către o interfață, acesta este pus în coadă (enqueued) în qdisc-ul configurat pentru acea interfață. Imediat după aceea, nucleul încearcă să preia cât mai multe pachete posibil din qdisc, pentru a le transmite controlorului adaptorului de rețea.

O disciplină de coadă QDISC simplă este cea de tip „pfifo”, care nu efectuează nicio prelucrare și funcționează exclusiv pe principiul „primul intrat, primul ieșit”. Cu toate acestea, ea stochează traficul atunci când interfața de rețea nu îl poate gestiona pe moment.

CLASE

Unele qdisc-uri pot conține clase, care la rândul lor conțin alte qdisc-uri – traficul poate fi astfel pus în coadă în oricare dintre qdisc-urile interne, care se află în cadrul claselor. Când nucleul încearcă să scoată un pachet dintr-un astfel de qdisc cu clase, acesta poate proveni din oricare dintre clase. Un qdisc poate, de exemplu, să acorde prioritate anumitor tipuri de trafic, încercând să scoată pachetele din anumite clase înaintea altora.

FILTRE

Un filtru este utilizat de un qdisc bazat pe clase pentru a determina în ce clasă va fi pus în coadă un pachet. Ori de câte ori traficul ajunge la o clasă care are subclase, acesta trebuie clasificat. Pentru aceasta pot fi folosite diverse metode, una dintre acestea fiind filtrele. Toate filtrele asociate clasei sunt apelate, până când unul dintre ele returnează un rezultat. Dacă nu se obține niciun rezultat, pot fi disponibile alte criterii. Acest lucru diferă de la un qdisc la altul.

Este important de reținut că filtrele se află în cadrul qdisc-urilor – ele nu controlează ceea ce se întâmplă.

Filtrele disponibile sunt:

Filtrează pachetele pe baza unei expresii ematch. Pentru detalii, consultați tc-ematch(8).
Filtrează pachetele folosind (e)BPF; pentru detalii, consultă manualul de pagină tc-bpf(8).
Filtrează pachetele în funcție de grupul de control al procesului lor. Pentru detalii, consultați tc-cgroup(8).
Clasificatoare bazate pe flux (flow), care filtrează pachetele în funcție de fluxul lor (identificat prin chei selectabile). Pentru detalii, consultați tc-flow(8) și tc-flower(8).
Filtrează pe baza valorii fwmark. Asociază direct valoarea fwmark cu clasa de trafic. Consultați tc-fw(8) pentru detalii.
Filtrează pachetele pe baza tabelului de direcționare. Pentru detalii, consultați tc-route(8).
Filtrare generică a datelor din pachete arbitrare, asistată de sintaxă pentru abstractizarea operațiilor obișnuite. Pentru detalii, consultați tc-u32(8).
Filtru de control al traficului care se potrivește cu fiecare pachet. Pentru detalii, consultați tc-matchall(8).

QEVENTS

Qdisc-urile pot declanșa acțiuni configurate de utilizator atunci când au loc anumite evenimente relevante în cadrul qdisc-ului. Fiecare qevent (eveniment în cadrul qdisc-ului) poate fi nefolosit sau poate avea un bloc atașat. La acest bloc se atașează apoi filtre folosind sintaxa „tc block BLOCK_IDX”. Blocul este executat atunci când are loc qevent-ul asociat cu punctul de atașare. De exemplu, pachetul ar putea fi abandonat sau întârziat etc., în funcție de qdisc și de qevent-ul în cauză.

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 FĂRĂ CLASE

Qdisc-urile fără clase sunt:

CHOKe („CHOose and Keep” – alege și păstrează, pentru fluxurile receptive, „CHOose and Kill” – alege și elimină, pentru fluxurile nereceptive) este un qdisc fără clase conceput atât pentru a identifica, cât și pentru a penaliza fluxurile care monopolizează coada. CHOKe este o variantă a RED, iar configurația sa este similară cu cea a RED.
CoDel (pronunțat „coddle”) este un algoritm adaptativ de gestionare activă a cozilor de așteptare (AQM) fără parametri de reglare, conceput pentru a remedia deficiențele algoritmului RED și ale variantelor sale.
[p|b]fifo
Cel mai simplu qdisc funcțional, cu comportament pur „First In, First Out”-- primul intrat, primul ieșit. Limitare în pachete sau în octeți.
Fair Queue Scheduler asigură controlul ritmului (traficului) TCP și poate gestiona milioane de fluxuri simultane pe fiecare qdisc.
Fair Queuing Controlled Delay este o disciplină de coadă care combină Fair Queuing cu schema CoDel AQM. FQ_Codel utilizează un model stocastic pentru a clasifica pachetele primite în diferite fluxuri și este folosit pentru a asigura o alocare echitabilă a lățimii de bandă tuturor fluxurilor care utilizează coada. Fiecare astfel de flux este gestionat de disciplina de coadă CoDel. Reordonarea în cadrul unui flux este evitată, deoarece CoDel utilizează intern o coadă FIFO.
FQ-PIE (Flow Queuing with Proportional Integral controller Enhanced) este o disciplină de coadă care combină Flow Queuing cu schema PIE de gestionare a traficului (AQM). FQ-PIE utilizează o funcție hash Jenkins pentru a clasifica pachetele primite în diferite fluxuri și este folosit pentru a asigura o alocare echitabilă a lățimii de bandă tuturor fluxurilor care utilizează qdisc. Fiecare astfel de flux este gestionat de algoritmul PIE.
Detectarea aleatorie generalizată a pachetelor inițiale (Generalized Random Early Detection) combină mai multe cozi RED pentru a obține mai multe priorități de livrare. Acest lucru este necesar pentru implementarea transmiterii garantate „Assured Forwarding” (RFC 2597).
Filtrul „Heavy-Hitter” face distincția între fluxurile mici și cele mari. Scopul este de a identifica fluxurile mari și de a le redirecționa către o coadă separată, cu prioritate mai mică, astfel încât traficul de volum mare să nu afecteze latența traficului critic.
Acesta este un qdisc special, deoarece se aplică traficului de intrare pe o interfață, permițând filtrarea și controlul acestuia.
Qdisc-ul „Multiqueue Priority” este o disciplină de coadă simplă care permite asocierea fluxurilor de trafic cu intervale de cozi hardware folosind priorități și o asociere configurabilă între priorități și clase de trafic. În acest context, o clasă de trafic reprezintă un set de clase qdisc contigue care se asociază în raport de 1:1 cu un set de cozi expuse la nivel hardware.
Multiqueue este un qdisc optimizat pentru dispozitive cu mai multe cozi de transmisie. Acesta a fost introdus pentru echipamentele care doresc să evite blocarea la capătul cozii. El va parcurge toate benzile și va verifica dacă coada hardware asociată cu banda respectivă nu este blocată înainte de a scoate un pachet din coadă.
Network Emulator este o extensie a funcționalităților de control al traficului din Linux, care permite adăugarea de întârzieri, pierderi de pachete, duplicări și alte caracteristici la pachetele transmise de o interfață de rețea selectată.
Qdisc standard pentru nucleele cu opțiunea „Advanced Router” activată. Constă dintr-o coadă cu trei benzi care respectă fanioanele de tip de serviciu „Type of Service”, precum și prioritatea care poate fi atribuită unui pachet.
Controlorul proporțional-integral îmbunătățit („Integral controller-Enhanced”: PIE) este o schemă de gestionare activă a cozilor de așteptare bazată pe teoria controlului. Se bazează pe controlorul proporțional-integral, dar are ca obiectiv controlul întârzierii.
Funcția „Random Early Detection” simulează congestia fizică prin eliminarea aleatorie a pachetelor atunci când se apropie de limita alocării de lățime de bandă configurată. Este potrivită pentru aplicațiile care necesită o lățime de bandă foarte mare.
Stochastic Fair Blue este un qdisc fără clase care gestionează congestia pe baza istoricului pierderilor de pachete și al gradului de utilizare a legăturii, încercând în același timp să împiedice fluxurile care nu răspund (adică fluxurile care nu reacționează la marcarea de congestie sau la pachetele pierdute) să afecteze performanța fluxurilor care răspund. Spre deosebire de RED, unde probabilitatea de marcare trebuie configurată, BLUE încearcă să determine automat probabilitatea ideală de marcare.
Algoritmul „Stochastic Fairness Queueing” reordonează traficul din coadă astfel încât fiecare „sesiune” să poată trimite un pachet pe rând.
Filtrul Token Bucket este potrivit pentru limitarea traficului la o viteză configurată cu precizie. Se adaptează bine la lățimi de bandă mari.

CONFIGURAREA QDISC-urilor FĂRĂ CLASE

În absența qdisc-urilor cu clase, qdisc-urile fără clase pot fi atașate doar la rădăcina unui dispozitiv. Sintaxa completă:

tc qdisc add dev DISPOZITIV root QDISC PARAMETRI_QDISC

Pentru a elimina, efectuați

tc qdisc del dev DISPOZITIV root

Qdisc-ul pfifo_fast este opțiunea implicită automată în cazul în care nu este configurat niciun qdisc.

QDISC-uri CU CLASĂ

Qdisc-urile cu clasă sunt:

Asociază fluxurile la circuitele virtuale ale unui dispozitiv de tip ATM (Asynchronous Transfer Mode) subiacent.
Planificatorul „Deficit Round Robin” reprezintă o alternativă mai flexibilă la „Stochastic Fairness Queuing”. Spre deosebire de SFQ, nu există cozi integrate — trebuie să adăugați clase și apoi să configurați filtre pentru a clasifica pachetele în mod corespunzător. Acest lucru poate fi util, de exemplu, pentru utilizarea qdisc-urilor RED cu configurații diferite pentru anumite tipuri de trafic. Nu există o clasă implicită — dacă un pachet nu poate fi clasificat, acesta este respins.
Qdisc-ul ETS este o disciplină de coadă care combină funcționalitățile qdisc-urilor PRIO și DRR într-un singur planificator. ETS facilitează configurarea unui set de benzi stricte și de partajare a lățimii de bandă pentru a implementa selecția transmisiilor descrisă în standardul 802.1Qaz.
Curba ierarhică de distribuție echitabilă a serviciilor (Hierarchical Fair Service Curve) garantează o alocare precisă a lățimii de bandă și a întârzierilor pentru clasele de tip „leaf” și alocă în mod echitabil lățimea de bandă excedentară. Spre deosebire de HTB, aceasta utilizează eliminarea pachetelor pentru a obține întârzieri reduse, de care beneficiază sesiunile interactive.
Hierarchy Token Bucket implementează o ierarhie complexă de clase pentru partajarea legăturilor, punând accentul pe respectarea practicilor existente. HTB facilitează garantarea lățimii de bandă pentru clase, permițând în același timp specificarea unor limite maxime pentru partajarea între clase. Acesta conține elemente de modelare a traficului, bazate pe TBF, și poate stabili priorități între clase.
Qdisc-ul PRIO este un container fără modelare a traficului, destinat unui număr configurabil de clase, din care pachetele sunt eliberate din coadă în ordine. Acest lucru permite o prioritizare simplă a traficului, în care clasele inferioare pot transmite numai dacă cele superioare nu au pachete disponibile. Pentru a facilita configurarea, biții de tipul serviciului (Type Of Service) sunt respectați în mod implicit.
Quick Fair Queueing este un planificator O(1) care oferă garanții aproape optime și este primul care atinge acest obiectiv cu un cost constant, indiferent de numărul de grupuri și de lungimea pachetelor. Algoritmul QFQ nu conține bucle și utilizează instrucțiuni și structuri de date foarte simple, care se pretează foarte bine unei implementări hardware.

TEORIA FUNCȚIONĂRII

Clasele formează o structură arborescentă, în care fiecare clasă are un singur părinte. O clasă poate avea mai mulți descendenți. Unele qdisc-uri permit adăugarea de clase în timpul rulării (HTB), în timp ce altele (PRIO) sunt create cu un număr fix de descendenți.

Qdisc-urile care permit adăugarea dinamică de clase pot avea zero sau mai multe subclase în care traficul poate fi pus la coadă.

În plus, fiecare clasă conține un qdisc de nivel inferior (leaf qdisc) care, în mod implicit, are comportamentul unui qdisc pfifo, deși se poate atașa un alt qdisc în locul acestuia. Acest qdisc poate conține la rândul său clase, dar fiecare clasă poate avea un singur qdisc de nivel inferior.

Atunci când un pachet intră într-un qdisc bazat pe clase, acesta poate fi clasificat într-una dintre clasele din cadrul acestuia. Există trei criterii disponibile, deși nu toate qdisc-urile le utilizează pe toate trei:

Dacă filtrele tc sunt asociate unei clase, acestea sunt consultate în primul rând pentru instrucțiuni relevante. Filtrele pot efectua potriviri pe toate câmpurile antetului unui pachet, precum și pe marcajul paravanului de protecție aplicat de iptables.
Unele qdisc-uri au reguli integrate pentru clasificarea pachetelor pe baza câmpului TOS.
Programele din spațiul de utilizator pot codifica un id-clasă în câmpul „skb->prioritate” folosind opțiunea SO_PRIORITY.

Fiecare nod din arbore poate avea propriile filtre, dar filtrele de nivel superior pot indica, de asemenea, direct către clasele inferioare.

Dacă clasificarea nu a reușit, pachetele sunt plasate în coada qdisc-ului de nivel inferior asociat acelei clase. Pentru detalii, consultați însă 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 compuși dintr-un număr major și un număr minor, despărțiți printr-o două puncte – major:minor. Atât major, cât și minor sunt numere hexazecimale și au o lungime de 16 biți. Există două valori speciale: „root” este reprezentat de major și minor alcătuite exclusiv din cifre de 1, iar „unspecified” este alcătuit exclusiv din cifre de 0.

Unui qdisc, care poate avea descendenți, i se atribuie un număr major, denumit „handle”, lăsând spațiul de nume minor disponibil pentru clase. Handle-ul este exprimat sub forma „10:”. Se obișnuiește să se atribuie în mod explicit un handle qdisc-urilor despre care se preconizează că vor avea descendenți.

Clasele care aparțin unui qdisc au același număr major al qdisc-ului, dar fiecare are un număr minor separat, numit „classid”, care nu are nicio legătură cu clasele părinte, ci doar cu qdisc-ul părinte. Se aplică aceeași convenție de denumire ca și în cazul qdisc-urilor.

Filtrele au un identificator format din trei părți, care este necesar doar atunci când se utilizează o ierarhie de filtre cu hash.

PARAMETRI

Următorii parametri sunt folosiți pe scară largă în TC. Pentru alți parametri, consultați paginile de manual ale fiecărui qdisc în parte.

Lățimi de bandă sau rate de transfer. Acești parametri acceptă un număr cu virgulă mobilă, urmat eventual de o unitate de măsură (sunt acceptate atât unitățile SI, cât și cele IEC) sau de un număr cu virgulă mobilă 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 înseamnă o fracțiune din viteza curentă; dacă viteza se modifică, valoarea nu va fi recalculată.
Biți pe secundă
Kilobiți pe secundă
Megabiți pe secundă
Gigabiți pe secundă
Terabiți pe secundă
Octeți pe secundă
Kiloocteți pe secundă
Megaocteți pe secundă
Gigaocteți pe secundă
Teraocteți pe secundă

Pentru a exprima valorile în unități IEC, înlocuiți prefixele SI (k-, m-, g-, t-) cu prefixele IEC (ki-, mi-, gi- și ti-), respectiv.

TC stochează rata de transfer intern sub forma unui număr întreg fără semn pe 32 de biți exprimat în bps, astfel încât putem specifica o rată maximă de 4294967295 bps.

Durata. Poate fi specificată sub forma unui număr zecimal urmat de o unitate opțională:
Secunde întregi
Millisecunde
„us”, „usec”, „usecs” sau doar o simplă cifră/număr
Microsecunde.

TC a definit propria unitate de timp (echivalentă cu o microsecundă) și stochează valorile de timp sub forma unui număr întreg fără semn pe 32 de biți, astfel încât putem specifica o valoare maximă de timp de 4294967295 microsecunde.

Volumul de date. Poate fi specificat sub forma unui număr zecimal urmat de o unitate opțională:
Octeți.
Kilobiți
Kiloocteți
Megabițits
Megaocteți
Gigabiți
Gigaocteți

TC stochează dimensiunile intern sub forma unui număr întreg fără semn pe 32 de biți exprimat în octeți, astfel încât putem specifica o dimensiune maximă de 4294967295 de octeți.

Alte valori fără unitate de măsură. În mod implicit, acești parametri sunt interpretați ca valori zecimale, dar puteți indica programului TC să le interpreteze ca valori octale sau hexazecimale adăugând prefixul „0” sau, respectiv, „0x”.

COMENZI TC

Pentru qdisc-uri, clase și filtre sunt disponibile următoarele comenzi:

Adaugă un qdisc, o clasă sau un filtru la un nod. Pentru toate entitățile, trebuie specificat un părintet, fie prin indicarea ID-ului acestuia, fie prin atașarea directă la rădăcina unui dispozitiv. La crearea unui qdisc sau a unui filtru, acesta poate fi denumit cu ajutorul parametrului handle. O clasă este denumită cu ajutorul parametrului classid.

Un qdisc poate fi șters prin specificarea identificatorului său, care poate fi și „root”. Toate subclasele și qdisc-urile lor de nivel inferior sunt șterse automat, la fel și orice filtre atașate acestora.

Anumite entități pot fi modificate „pe loc”. Sintaxa este identică cu cea a comenzii „add”, cu excepția faptului că identificatorul (handle) nu poate fi modificat, la fel ca și elementul părinte. Cu alte cuvinte, change nu poate muta un nod.

Efectuează o operație de ștergere/adăugare aproape instantanee asupra unui ID de nod existent. Dacă nodul nu există încă, acesta este creat.

Afișează un singur filtru pe baza interfeței DISPOZITIV, id-qdisc, prioritate, protocol și id-filtru.

Afișează toate filtrele atașate la interfața specificată. Trebuie să se transmită un ID-părinte valid.

Este disponibilă doar pentru qdisc-uri și efectuează o înlocuire numai dacă nodul există deja.

MONITOR

Instrumentul  tc poate monitoriza evenimentele generate de nucleu, cum ar fi adăugarea/ștergerea qdisc-urilor, a filtrelor sau a acțiunilor, sau modificarea celor existente.

Următoarea comandă este disponibilă pentru  monitor :

Dacă se specifică opțiunea „file” (fișier), tc nu mai monitorizează evenimentele din nucleu, ci deschide fișierul indicat și afișează conținutul acestuia. Fișierul trebuie să fie în format binar și să conțină mesaje Netlink.

OPȚIUNI

citește comenzile din fișierul furnizat sau de la intrarea standard și le execută. Prima eroare va determina închiderea programului tc.

nu termină tc în cazul apariției unor erori în modul pe loturi „batch”. Dacă au apărut erori în timpul executării comenzilor, codul de returnare al aplicației va fi diferit de zero.

emite fiecare înregistrare pe o singură linie, înlocuind salturile de linie cu caracterul „\”. Acest lucru este convenabil atunci când doriți să numărați înregistrările cu wc(1) sau să găsiți cu grep(1) rezultatul.

comută tc în spațiul de nume de rețea specificat NS_NET. De fapt, aceasta doar simplifică executarea comenzii:

ip netns exec NS_NETS tc [ OPȚIUNI ] OBIECT { COMANDĂ | help }

la

tc -n[etns] NS_NET [ OPȚIUNI ] OBIECT { COMANDĂ | help }

Afișează direct numărul protocolului, domeniul de aplicare, câmpul ds, etc. în loc să îl convertească în nume ușor de citit de către om.

specifică ruta către fișierul de configurare. Această opțiune se utilizează împreună cu alte opțiuni (de exemplu, -nm).

Când tc monitor rulează, afișează data și ora înaintea mesajului de eveniment, în formatul:
Timestamp: <Ziua> <Luna> <ZZ> <hh:mm:ss> <AAAA> <usecs> usec

Când tc monitor rulează, afișează o marcă temporală scurtă înaintea mesajului de eveniment, în formatul:
[<AAAA>-<LL>-<ZZ>T<hh:mm:ss>.<ms>]

Solicită nucleului să trimită înapoi configurația aplicată.

FORMAT

Comanda „show” are opțiuni suplimentare de formatare:

afişează mai multe statistici privind utilizarea pachetelor.

afișează informații mai detaliate despre rate și dimensiunile celulelor.

afișează valorile hexazecimale brute pentru gestionari(identificatori).

pentru filtrul u32, decodifică valorile de offset și mască în comenzi de filtrare echivalente bazate pe TCP/IP. În ieșirea JSON, adaugă spații pentru a îmbunătăți lizibilitatea.

afișează ratele în unități IEC (adică, 1K = 1024).

afișează clasele sub formă de grafic ASCII. Afișează informații statistice generale sub fiecare clasă dacă a fost specificată opțiunea -s. Clasele pot fi filtrate numai prin opțiunea dev.

Configurează ieșirea color. Dacă parametrul este omis sau always, ieșirea color este activată indiferent de starea ieșirii standard. Dacă parametrul este auto, se verifică dacă ieșirea standard este un terminal înainte de a activa ieșirea color. Dacă parametrul este never, ieșirea color este dezactivată. Dacă este specificat de mai multe ori, ultimul are întâietate. Acest indicator este ignorat dacă se indică și -json.

Afișează rezultatele în format JSON.

determină numele clasei din fișierul /etc/iproute2/tc_cls sau din fișierul specificat prin opțiunea -cf. Acest fișier reprezintă doar o corespondență între 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 dacă opțiunea -nm a fost specificată fără opțiunea -cf, dar fișierul /etc/iproute2/tc_cls nu există, ceea ce permite utilizarea opțiunii -nm pentru crearea de alias tc.

Afișează numai datele esențiale necesare pentru identificarea filtrului și a acțiunii (identificator, cookie etc.) și statisticile. În prezent, această opțiune este acceptată doar de comenzile tc filter show și tc actions ls.

EXEMPLE

tc -g class show dev eth0

Afișează clasele sub formă de grafic ASCII pe interfața eth0.

tc -g -s class show dev eth0

Afișează clasele sub forma unui grafic ASCII, cu informații statistice sub fiecare clasă.

ISTORIC

tc a fost scris de Alexey N. Kuznetsov și inclus în Linux 2.2.

CONSULTAȚI Ș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)
Documentația pentru utilizatori se găsește la adresa http://lartc.org/, dar vă rugăm să trimiteți rapoartele de erori și plasturii (corecțiile) la: <netdev@vger.kernel.org>

AUTOR

Această pagină de manual este întreținută de bert hubert (ahu@ds9a.nl)

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

16 decembrie 2001 iproute2