[LiSA-Devel] Design CLI 2

Radu Rendec radu.rendec at ines.ro
Tue Oct 28 23:20:21 EET 2008


Pe tree-ul de devel pentru userspace au aparut doua noi commit-uri:

commit a67cb85afded3630ce3d705c413b7ad4ca0e460e
Author:  Ionut Nicu <ionut.nicu at ines.ro>
Date:    Mon Oct 27 01:02:44 2008 +0200
Subject: API (re)design on the next-generation cli

Adauga directorul cli2 si, important, fisierul README din el, unde este
descris design-ul pentru cli2.

commit c0bc68c595ebbbec63186ae4bba39153e0a64677
Author:  Radu Rendec <radu.rendec at ines.ro>
Date:    Tue Oct 28 23:03:00 2008 +0200
Subject: Start implementing the Readline CLI Abstraction

Am introdus campul "mask" la noduri si structura de context de cli, care
este pasata inapoi la toti handlerii "utilizator".

Campul "mask" il folosesc pentru a trata unitar (si fara ca layer-ul CLI
Parser sa fie constient de layerele de deasupra) filtrarea comenzilor
dupa nivelul de privilegiu (in general) si dupa tipul de interfata care
este configurata (in meniul "config-if").

Ideea este ca am un int filter inclus in contextul de cli. Comenzile
sunt filtrate daca (mask & filter) != mask.

Privilegii:
* folosesc b0-b14 din mask pentru nivelul de privilegiu;
* in mask e setat bitul corespunzator nivelului minim de privilegiu
necesar ca nodul sa fie vizibil;
* in filter am setati toti bitii b0 - bn, unde n este nivelul curent de
privilegiu

Meniul config-if:
* incepand cu b15 folosesc cate un bit din mask pentru fiecare tip de
interfata (switched, routed, vlan etc)
* atunci cand selectez o interfata pentru configurare se seteaza in
filter bitul corespunzator tipului interfetei
* la definirea meniului config-if in mask sunt setati bitii
corespunzatori tipurilor de interfata pt care e aplicabila comanda


Radu




More information about the LiSA-Devel mailing list