Tom Herbert loves moonshots and three-letter acronyms. First it was XDP and now it is BP4.
In this talk, Tom will introduce BP4 - a Domain Specific Language for programmable dataplanes based on unifying the best features of eBPF and P4. The goal of BP4 is “write once, run anywhere, run well!” BP4 is intended to run in _both software and hardware_ execution environments.
Central to a BP4 program is a dynamically programmable parser that supports a wide variety of protocols and permits support for new protocols to be added on the fly. The BP4 parser semantics include native support for parsing Variable Length Headers (VLH) that contains TLVs, flag-fields, or variable length arrays.
Tom will describe the first PoC for BP4 which leverages the eBPF infrastructure. The PoC implements a flow dissector as a BP4 program by essentially replicating the functionality of the current Linux kernel flow_dissector with extra functionality to handle TLV and flag-fields. The programmable flow dissector will then be used as the basis for a dynamic tc-flower classification (which will allow protocols to be programmed and dynamically added for tc-flower processing).
More info: https://netdevconf.info/0x14/session.html?talk-BP4-byte-code-for-programmabl...
Reminder, registration is now open and early bird is still in effect. https://netdevconf.info/0x14/registration.html
cheers, jamal