Summary: The authors describe an extension to the original BPF including global (across filter predicates) optimizations and dynamic code-generation and a safety checker. Their filter is the only filter that allows the user to define the packet in a declarative form (much more useful to the user) while still achieving good performance. (They expect performance to be similar.)
- expanding number of applications
- predicate language
- vm
- optimizations
** redundant predicate elimination
- peephole opts + constant folding
- jump table opts
- system arch: high-level filter spec -> front end -> ssa form
-> optimizer -> VM byte codes
-> safety checker -> interpreter
-> JIT Assembler -> native code
- says all other pfs imperative, not declarative.
pathfinder claims to be declarative.
- differences from others filters
misc
- great intro