Oko: Extending Open vSwitch with Stateful Filters
Résumé
With the Software-Defined Networking paradigm, software
switches emerged as the new edge of datacenter networks.
The widely adopted Open vSwitch implements the OpenFlow
forwarding model; its simple match-action abstraction
eases network management, while providing enough flexibility
to define complex forwarding pipelines. OpenFlow,
however, cannot express the many packets processing algorithms
required for traffic measurement, network security, or
congestion diagnosis, as it lacks a persistent state and basic
arithmetic and logic operations.
This paper presents Oko, an extension of Open vSwitch
that enables runtime integration of stateful filtering and
monitoring functionalities based on Berkeley Packet Filter
(BPF) programs into the OpenFlow pipeline. BPF programs
attached to OpenFlow rules act as intelligent filters over packets,
while leaving the packets unmodified. This approach
enables the transparent extension of Open vSwitch’s flow
caching architecture, retaining its high-performance benefits.
Furthermore, the use of BPF allows for safe runtime
extension and prevention of switch failures due to faulty
programs.
We compare our implementation based on Open vSwitchDPDK
to existing approaches with comparable fault isolation
properties and measure a near 2x improvement of performance.
Origine : Fichiers produits par l'(les) auteur(s)