summaryrefslogtreecommitdiff
path: root/filter
AgeCommit message (Collapse)Author
2019-09-23Filters: Function body comparison result now used.Maria Matejka
Function bodies were compared in post-parse time, yet the result was not used and the functions were incorrectly considered the same as before. Now the result is used to reload affected protocols.
2019-09-10Filter: Fix crash with 'where' filters and function callsOndrej Zajicek (work)
The old 'where' code computed size value incorrectly, which leads to invalid instruction lines and filter errors or crashes.
2019-08-13Filter: Fixing empty block and never-executed-statement bugMaria Matejka
2019-08-06Filter: Allow to use set constants / expressions in path masksOndrej Zajicek (work)
Allow to not only use set literals in path masks, but also existing set constants or set expressions.
2019-08-06Filter: Allow to use sets in path masksOndrej Zajicek (work)
2019-07-30Conf: Fixed symbol redefinitionMaria Matejka
2019-07-15Filter: further split of print & die to FI_PRINT, FI_FLUSH and FI_DIEMaria Matejka
2019-07-15Filter: Simpler filter context allocationMaria Matejka
2019-07-15Filter: FID_MEMBER debug string is a C constant stringMaria Matejka
2019-07-15Filter: Converted FI_PRINT and FI_PATHMASK_CONSTRUCT to VARARGMaria Matejka
2019-07-15Filter: fixed excessive stack allocation in functions with args but no local ↵Maria Matejka
vars
2019-07-15Filter: lots of documentationMaria Matejka
2019-07-15Filter: Don't write out when re-evaluating filter for internal purposes.Maria Matejka
2019-07-15Filter: Don't fail badly when trying to access non-existent route in config timeMaria Matejka
2019-07-10Filter: Minor cleanupsOndrej Zajicek (work)
2019-07-03Merge branch 'mq-filter-stack' of gitlab.labs.nic.cz:labs/bird into ↵Maria Matejka
mq-filter-stack
2019-07-03Filter: CLI command to dump all the linearized filtersMaria Matejka
2019-07-03Filter: Split printing and dyingMaria Matejka
2019-07-03Dynamic attributes definition split whether it is bitmask or not.Maria Matejka
2019-07-02Filter: Dropped some more irrelevant whitespace from generated filesMaria Matejka
2019-07-02Filter: Nicer whitespaces in generated inst-gen.hMaria Matejka
2019-07-02Filter: documentation of the M4 preprocessorMaria Matejka
2019-07-02Filter: GCC, don't complain about indentation in generated code.Maria Matejka
2019-07-02Filter: Pre-evaluation of constant expressionsMaria Matejka
2019-07-01Filter: Resolving of defined constants in config timeMaria Matejka
2019-07-01Filter: Moved singleton member definitions to f-inst.cMaria Matejka
2019-07-01Filter: Moved f_inst allocation to separate functionMaria Matejka
2019-07-01Filter: Getting rid of RESULT_OK. Adding RESULT_VOID.Maria Matejka
This is a preparation for filter pre-evaluation.
2019-07-01Filter: The interpreter code now shares its diversion with constructorMaria Matejka
This is a preparation for filter pre-evaluation.
2019-06-28Filter: renaming pointers for consistencyMaria Matejka
The struct f_inst * is now always "what" and the union member pointer is always "whati".
2019-06-27Filter: A little cleanup of M4 interpreter generatorMaria Matejka
2019-06-25Merge remote-tracking branch 'refs/remotes/origin/mq-filter-stack' into ↵Maria Matejka
mq-filter-stack
2019-06-25Conf/Filters: Moved argument count to conf scopeMaria Matejka
2019-06-21Filter instructions don't confuse now v1 and res.Maria Matejka
2019-06-19Revert "Filter: Dropped the setter instructions in favor of direct result ↵Maria Matejka
storage." This reverts commit bd91338246c1ba40358243f1bdf5a6dbd3a29f35.
2019-06-13Filter: removal of semantically insane consts in filter_commitMaria Matejka
2019-06-03Filter: Dropped the setter instructions in favor of direct result storage.Maria Matejka
This should help filter performance a bit.
2019-05-30Filter: Just a little comments in filter structureMaria Matejka
2019-05-29Filter: Stacks moved to thread-local storage if available.Maria Matejka
2019-05-23Filters: If somebody doesn't like _Thread_local, don't fail for now, just be ↵Jan Maria Matejka
a little slower. When the parallel execution comes into place, we'll likely enforce this C11 feature. It's much simpler and also faster than pthread_[sg]etspecific().
2019-05-22Filter: Some people can't pronounce "postfixify" correctly. Let's try ↵Jan Maria Matejka
"linearize" instead. This is just a naming change.
2019-05-21Filter: Store variables and function arguments on stackJan Maria Matejka
2019-05-20Filter: Making the filter state thread local.Jan Maria Matejka
While having the filter code still reentrant if we really need, the compiler can now do constant propagation and address the thread local storage directly to save some computation time.
2019-05-17Lexer now returns known sym / unknown sym / keywordMaria Matejka
2019-03-23Filter: fixed error-checking bug in !~ operatorMaria Matejka
2019-03-18Merge branch 'master' into HEADMaria Matejka
2019-03-14Nest: Update handling of temporary attributesOndrej Zajicek (work)
The temporary atttributes are no longer removed by ea_do_prune(), but they are undefined by store_tmp_attrs() protocol hooks. This fixes several bugs where temporary attributes were removed when they should not or not removed when they should be. The flag EAF_TEMP is no longer needed and was removed. Update all protocol make_tmp_attrs() / store_tmp_attrs() hooks to use helper functions and to handle unset attributes properly. Also fix some related bugs like improper handling of empty eattr list.
2019-03-06Faster filters: documentation on what is happening thereMaria Matejka
2019-02-26Filters: comparison of functions and filters cachingMaria Matejka
2019-02-20Filter: Interpreter merged into the common m4 generator.Maria Matejka
The config-time partial evaluation of constant expressions in filters is nearby.