summaryrefslogtreecommitdiffstats
path: root/ARCHITECTURE
diff options
context:
space:
mode:
authorlaforge <laforge>2005-10-02 16:41:03 +0000
committerlaforge <laforge>2005-10-02 16:41:03 +0000
commit5ba28a98cfef1ed7cb7445916a11ca88982d506f (patch)
treedc463b718f46e902de47d1313d830a58d7ccec23 /ARCHITECTURE
parente058706f21433f6a0b61822daa2b16fcb847b536 (diff)
too many changes to comment on. ulogd now compiles again.
Diffstat (limited to 'ARCHITECTURE')
-rw-r--r--ARCHITECTURE17
1 files changed, 17 insertions, 0 deletions
diff --git a/ARCHITECTURE b/ARCHITECTURE
index c9264b3..f825a0a 100644
--- a/ARCHITECTURE
+++ b/ARCHITECTURE
@@ -60,3 +60,20 @@ Architecture of ulogd2
- problems:
- multiple interpreters can return same value (i.e. sport/dport)
- some outputs/filters will require _ALL_ keys (e.g. OPRINT)
+
+Plugin stack building
+
+- start at final output plugin in stack.
+ - pass list of input keys to previous plugin in stack
+ - next plugin in stack verifies that it can provide those keys,
+ and determines it's required input keys. pass them to next plugin
+
+if current plugin cannot support this key, a plugin further up the stack could!
+two-pass approach:
+1) connect next<->prev pointers so plugin stack is known
+2) start from output plugin and go upwards
+
+- list of "can provide" keys should be per instance, since configuration
+ parameters could determine the possible keys. -LATER
+
+