diff options
author | laforge <laforge> | 2005-10-02 16:41:03 +0000 |
---|---|---|
committer | laforge <laforge> | 2005-10-02 16:41:03 +0000 |
commit | 5ba28a98cfef1ed7cb7445916a11ca88982d506f (patch) | |
tree | dc463b718f46e902de47d1313d830a58d7ccec23 /ARCHITECTURE | |
parent | e058706f21433f6a0b61822daa2b16fcb847b536 (diff) |
too many changes to comment on. ulogd now compiles again.
Diffstat (limited to 'ARCHITECTURE')
-rw-r--r-- | ARCHITECTURE | 17 |
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 + + |