summaryrefslogtreecommitdiffstats
path: root/filter/config.Y
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2000-03-29 11:02:00 +0200
committerPavel Machek <pavel@ucw.cz>2000-03-29 11:02:00 +0200
commit0a06a9b8b3dbd59c850303c49eea97c12e1ac0ff (patch)
tree12b400d160861aaee231becc25eb81f49d4372f4 /filter/config.Y
parent8d2e3eba92e339f0635e0cb2fbfb49482b26295a (diff)
downloadbird-0a06a9b8b3dbd59c850303c49eea97c12e1ac0ff.tar
bird-0a06a9b8b3dbd59c850303c49eea97c12e1ac0ff.zip
f_run gets one more parameter to distinguish between in and out modes.
Diffstat (limited to 'filter/config.Y')
-rw-r--r--filter/config.Y58
1 files changed, 58 insertions, 0 deletions
diff --git a/filter/config.Y b/filter/config.Y
index 00aeefc..413e88c 100644
--- a/filter/config.Y
+++ b/filter/config.Y
@@ -9,6 +9,64 @@
FIXME (for BGP): whole system of paths, path ~ string, path.prepend(), path.originate
FIXME: create community lists
FIXME: IP addresses in ipv6
+
+
+(1) Cesty
+
+ AS paths budtez interne reprezentovany stejne jako v BGP (viz RFC 1771),
+to znamena jako posloupnost segmentu, z nichz kazdy je budto posloupnost nebo
+mnozina cisel ASu. Na cestach nadefinuji nasledujici operace:
+
+ - zformatovani do stringu
+ - append dalsiho AS k ceste
+
+Filtry by mely podporovat:
+
+ - operator pridani AS k ceste
+ - matchovani na pritomnost podposloupnosti v ceste (pricemz vyskytne-li
+ se tam mnozina, tak si ji lze predstavit prerovnanou v libovolnem
+ poradi)
+ - operator zjisteni delky cesty (pro vypocet metrik)
+
+Byl bych rad, kdyby se samotne matchovaci funkce objevily v proto/bgp/attrs.c.
+
+
+(2) Community-listy
+
+Community list budiz interne reprezentovan jako posloupnost 32-bitovych cisel.
+
+Filtry by se mely na communities divat jako na usporadane dvojice 16-bitovych
+cisel (prvni je cislo AS, ktery community definoval, druhe pak community ID
+v ramci AS) a melo by byt mozne definovat si konstanty typu community.
+K dispozici by mely byt nasledujici operace:
+
+ - zjisteni pritomnosti community v listu
+ - pridani community do listu
+ - odebrani community z listu
+ - zresetovani listu
+
+Pro operace na cestach i na community listech by se mela pouzivat `teckova'
+notace pouzita v mem puvodnim navrhu syntaxe.
+
+
+(3) Zmeny v semantice dynamickych atributu
+
+Aby se nemusely neustale kopirovat seznamy atributu, rad bych provedl jeste
+jednu zmenu v tom, jak filtry nakladaji s atributy (pevne doufam, ze posledni,
+ale uznavam, ze u te predchozi jsem to take tvrdil): Funkci f_run budiz
+pridan jeste jeden parametr, ktery prepina mezi dvema mody:
+
+ (a) [incoming filter mode] Jako nyni.
+
+ (b) [outgoing filter mode] Pokud se hleda atribut, hleda se nejdrive
+ v tmp_attrs a pokud to selze, tak v rta->attrs. Pokud se nastavuje,
+ dava se _vzdy_ do tmp_attrs.
+
+Diky tomu filtry pri exportu routes nebudou vubec muset modifikovat rta a
+protokoly, ktere v import_control potrebuji nastavovat i non-temporary
+atributy, je budou moci pridat do tmp_attrs, aniz by sahly na rta.
+
+
*/
CF_HDR