  This paper aims at contributing to the ongoing debate on how to bring
programmability of stateful packet processing tasks inside the network
switches, while retaining platform independency. Our proposed approach, named
"Open Packet Processor" (OPP), shows the viability (via an hardware prototype
relying on commodity HW technologies and operating in a strictly bounded number
of clock cycles) of eXtended Finite State Machines (XFSM) as low-level data
plane programming abstraction. With the help of examples, including a token
bucket and a C4.5 traffic classifier based on a binary tree, we show the
ability of OPP to support stateful operation and flow-level feature tracking.
Platform independence is accomplished by decoupling the implementation of
hardware primitives (registries, conditions, update instructions, forwarding
actions, matching facilities) from their usage by an application formally
described via an abstract XFSM. We finally discuss limitations and extensions.
