11 ms·
BPF – In-kernel virtual machine [pdf]
- lukego 12y agoNext obvious step: Compile the kernel into BPF using LLVM and run it inside itself.
- heinrich5991 12y agoUnfortunately the kernel does have loops…
- njohnson41 12y agoIf BPF can be used to modify packets, can a filter be used to send packets through loopback that then come back through the same filter? Sounds like a way to bootstrap a loop.
- viraptor 12y agoYou have a very very dangerous mind... I like it. Actually you could have stateful loops too. Make each packet duplicated at iptables and each time increment the counter. Send one to 127.0.0.1 (true, continue) and one to 127.0.0.2 (false, stop). The right answer is accepted, wrong dropped.
- jgrahamc 12y agoBPF is used at CloudFlare for DDoS filtering. We've recently written a JITer for it as well to get even greater speed. https://blog.cloudflare.com/bpf-the-forgotten-bytecode/ https://blog.cloudflare.com/bpf-the-forgotten-bytecode/ https://blog.cloudflare.com/introducing-the-bpf-tools/ https://blog.cloudflare.com/introducing-the-bpf-tools/
- amelius 12y agoCouldn't this take the same approach as NaCl, where x86 code is being run in a sandbox environment?
- anishathalye 12y agoThere's been some interesting work that has been done recently on building a trustworthy BPF verifier (Jitk, OSDI 2014). https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-wang_xi.pdf https://www.usenix.org/system/files/conference/osdi14/osdi14...