ONF Releases SD-Fabric v1.0 – a Fully Programmable Network Fabric Optimized for Edge Cloud, 5G, and Industry 4.0

The very first release of SD-Fabric, ONF’s open source fully P4-programmable hybrid cloud network fabric, was just recently released under ONF member-only license. SD-Fabric provides developers with a friendly, cloud-managed, full stack, P4 programmable network fabric enabling a new class of emerging edge applications for Industry 4.0.

SD-Fabric is an integral element of Aether – ONF’s open source private 5G platform. Aether leverages SD-Fabric’s unique features beyond traditional networking fabrics, including a high performance P4-based 5G/4G UPF, slicing and QoS, and end-to-end telemetry for visibility. SD-Fabric 1.0 will be integrated as part of the Aether 1.6 release coming out later this month.

SD-Fabric Overview

SD-Fabric is designed to run a thin layer of software on white box switches, executing localized control at the edge cloud and supporting multiple edges all controlled from the public cloud. At each edge, SD-Fabric builds a spine-leaf fabric (from 1 to 32+ switches). The entire stack is deployed and managed in a cloud-native fashion with a CI/CD pipeline and integrated logging, monitoring, alarming and more.

Programmability inherent in the SD-Fabric stack enables features beyond traditional fabrics. From optimized processing of 4G/5G workloads with a high-performance switch-based UPF, to end-to-end per-packet visibility enabling closed-loop control applications, to fabric-wide slicing and QoS allowing different applications to deterministically share the network. When combined together, these features ensure the performance and resiliency essential for mission critical Industry 4.0 applications.

Right-sized Topology

SD-Fabric supports various topologies from a single Top-of-Rack (ToR) switch to a full multi-rack leaf-spine fabric, making it possible to easily scale as the edge cloud grows.

In this release, we introduced support for a paired-leaf topology, a two-switch setup that provides a highly available configuration optimized for small edge sites at a minimum cost.

API Driven

The ability for applications to request network services, to dynamically react to network changes promptly and to apply application-specific forwarding policies is critical to modern edge networks and Industry 4.0 applications. SD-Fabric offers a set of well-defined APIs for edge application developers and network operators to programmatically change the fabric forwarding behavior at runtime.

In this release, we provide APIs to:

  • Create network slices and provide QoS classification rules
  • Pin traffic to a specific path (in a leaf-spine setup) and drop traffic
  • System health and network telemetry

Cloud Managed

SD-Fabric can be consumed standalone, but SD-Fabric is also available fully integrated with Aether 1.6 and configured by Aether Management Platform providing a single consolidated portal view into each edge site, leveraging the following open source projects:

  • Logging integration via Elastic, Fluentbit and Kibana (EFK)
  • Monitoring integration via Telegraf, Prometheus and Grafana
  • Alarm integration via Kibana

This release ships Docker images of each subcomponent as well as the SD-Fabric umbrella Helm chart to ease deployment on Kubernetes environments.

5G as a Workload

SD-Fabric implements a 4G/5G UPF with P4 programmable switches, reducing CPU load and increasing performance by terminating GTP-U tunnels directly in fabric switches. P4-UPF supports downlink buffering for UE idle-mode and handovers, and interacts with a 4G/5G core via a standard PFCP interface.

Compared to software-based UPF implementations, P4-UPF in SD-Fabric can easily achieve  better performances  at a significantly lower cost by utilizing the switch ASIC vs CPU for processing.

In this release, we also introduce support for network slicing and QoS for both mobile (GTP-terminated) and non-mobile (generic IPv4) traffic. At the data plane, SD-Fabric supports fabric-wide isolation and QoS enforcement using dedicated hardware queues, while at the control plane we provide QoS integration with SD-Core within a single slice (multi-slice QoS integration coming in the next releases).

For more information on P4-UPF, check out this blog post:
Using P4 and Programmable Switches to Implement a 4G/5G UPF in Aether

End-to-End Visibility

SD-Fabric enables end-to-end visibility at the edge network, enabling a new class of closed-loop control applications. By having access to fine-grained real-time information about the network state, such as paths, latency, drops, and congestion events, applications can use SD-Fabric’s API to fine-tune the network behavior to quickly react to anomalies or to improve performance.

In this release, we introduce support for the In-band Network Telemetry (INT) standard on both switches and end hosts. We implemented INT-XD mode (Telemetry Report Specification v0.5 compliant), and integrated SD-Fabric with Intel DeepInsight.

More specifically, we added the following list of features in this release:

  • Switch INT
    • Support flow, drop, and queue congestion reports
    • ACL-like watchlist
    • Smart filters to reduce the volume of reports without letting anomalies go undetected
    • Integration with P4-UPF to observe flows inside GTP tunnels and to generate UPF-specific drop reasons
  • Host INT
    • Experimental implementation based on eBPF
    • Support flow and drop reports
    • Kubernetes CNI-independent. Verified with Cilium and Calico CNIs.

Roadmap

There are a number of key features we are working on for the SD-Fabric 1.1 release (due 1Q next year) to further enhance ease in customization and flexibility in programming:

  • P4-UPF
    • QoS improvements per-application and per-UE rate limiting
    • Application filtering
    • Integrate QoS metrics into Aether monitoring platform
  • Slicing / QoS
    • Support dynamic queue configuration via gNMI for slice/traffic class customization
    • ROC integration
  • INT
    • Expose more telemetry through API
    • Integrate both switch and host INT with Aether alert system
    • Build test infrastructure and improve deployment automation for host INT
  • Explore end-to-end programmable data plane including software switch, smart NIC, FPGA and other accelerator hops and hardware switches.

Learn More

Share the Post: