All network features are centered around the capabilities of the ASIC, and it takes years for a new one to be developed and deployed. So, make the ASIC programmable, and let your features tell the ASIC what to support.
PISA: protocol independent switch architecture
P4: domain-specific language for programming protocol-independent packet processors
Architecture specific constructs
P4 is C-like, statically typed.
Parser:
transition
statements move between states, with final accept/reject statesControl:
Deparser assembles the packet from data structures.