[LiSA-Devel] CLI menu_node mask

Radu Rendec radu.rendec at ines.ro
Mon Jun 15 16:20:23 EEST 2009


Salut,

Campul mask se foloseste pentru a "filtra" anumite noduri pentru cele 3
functii principale ale CLI-ului (inline help, completion, execution).

Filtrarea se face in functie de campul mask din noduri si de campul
filter din context (e vorba de acel struct cli_context pe care il
primesc toti handlerii de comenzi).

Mecanismul de filtrare se foloseste in principal pentru a ascunde noduri
in functie de nivelul de privilegiu (pe cisco exista 15 niveluri de
privilegii; dupa login normal ai privilegiu 1, dupa enable ai 15).

Ceva mai multe detalii despre cum se face exact filtrarea poti gasi in
mesajul commit-ului in care am modificat mecanismul de filtrare:

git show 1a513d65491f8cccb7b5611a123b8ed82adc2bf5

Exista si alte situatii in care se fac si alte filtrari pe langa cele
legate de nivelul de privilegiu. De exemplu, atunci cand se intra in
meniul "config-if", campul filter din context este actualizat in functie
de tipul interfetei pe care s-a intrat. Astfel anumite noduri pot sa fie
vizibile doar pentru anumite tipuri de interfete (ex. nodurile pentru
configurarea adreselor de ip sunt vizibile doar pentru interfetele
speciale VIF sau pentru porturile in mod "no switchport").

Radu

On Sat, 2009-06-13 at 18:29 +0300, Faur Andrei wrote:
> Salut,
> 
> Am observat ca struct menu_node are un camp mask care
> de obicei e construit cu ajutorul macroului CLI_MASK. Ce
> rol are acesta?
> 
> Andrei
> _______________________________________________
> LiSA-Devel mailing list
> LiSA-Devel at lisa.ines.ro
> http://lisa.ines.ro/mailman/listinfo/lisa-devel



More information about the LiSA-Devel mailing list