In its current form, OpenFlow, the de facto implementationudof SDN, separates the network’s control and dataudplanes allowing a central controller to alter the matchactionudpipeline using a limited set of fields and actions.udTo support new protocols, forwarding logic, telemetry,udmonitoring or even middlebox-like functions the currentlyudavailable programmability in SDN is insufficient.udIn this paper, we introduce BPFabric, a platform, protocol,udand language-independent architecture to centrallyudprogram and monitor the data plane. BPFabric leveragesudeBPF, a platform and protocol independent instructionudset to define the packet processing and forwarding functionalityudof the data plane. We introduce a control planeudAPI that allows data plane functions to be deployed onthe-fly,udreporting events of interest and exposing networkudinternal state.udWe present a raw socket and DPDK implementationudof the design, the former for large-scale experimentationudusing environment such as Mininet and the latter forudhigh-performance low-latency deployments. We showudthrough examples that functions unrealisable in OpenFlowudcan leverage this flexibility while achieving similarudor better performance to today’s static design.
展开▼