SD-Fabric 1.0

This is the first release of SD-Fabric.

SD-Fabric is an open source, full stack, deeply programmable network fabric optimized for edge cloud, 5G, and Industry 4.0 applications. It builds on SDN and cloud native principles to create a disruptive platform that for the first time empowers the network with modern cloud development principles.

  • Right-sized Topology: Scale from a single Top-of-Rack (ToR) switch, to an Highly-Available (HA) setup with paired ToRs, to a full leaf-spine fabric for multi-rack deployments.

  • API Driven: Well-defined APIs provide the ability to drop or reroute traffic, create slices with configurable QoS, obtain telemetry, and more.

  • Cloud Managed: Fully integrated and configured by Aether™ Management Platform.

  • 5G as a Workload: Reduce CPU load and increase performance by terminating GTP-U tunnels directly in the fabric switches, with QoS and slicing support.

  • End-to-End Visibility: With Inband Network Telemetry (INT) on switches and end hosts, enabling closed loop control applications.

Feature Highlights

  • Fabric connectivity

    • Support single switch, paired-leaves with dual-homing, and leaf-spine topology

    • Bridging, IPv4 routing, ECMP, DHCP relay

    • Redundancy on both control and data plane

  • Switch-based P4-UPF

    • 4G/5G UPF implemented with P4 programmable switches

    • Support downlink buffering for UE idle-mode and handover via microservice

    • Integration with PFCP standard interface

  • Slicing and QoS

    • Data plane support for fabric-wide slicing and QoS using dedicated hardware queues

    • Control plane integration with SD-Core for UPF QoS with single slice (multiple slices in the next release)

    • REST APIs for classification of non-mobile traffic

  • Inband Network Telemetry (INT)

    • INT-XD mode compliant with Telemetry Report Specification v0.5

    • Integrated with Intel DeepInsight

    • Switch INT

      • Support for flow, drop, and queue congestion reports

      • Watchlist and smart filters to reduce the volume of reports

      • Integration with P4-UPF

    • Host INT

      • Experimental implementation based on eBPF

      • Kubernetes CNI-independent, tested with Cilium and Calico

      • Support for flow and drop reports

  • API

    • Drop traffic

    • Pin traffic to specific spine (in a leaf-spine setup)

    • Slicing and QoS for non-mobile traffic

  • Scalability

    • 5K UEs, 10 calls per second with 1 CPU core and 4G RAM per ONOS instance

Deployment

  • Support Kubernetes deployments with Helm charts

  • Logging integration via EFK

  • Monitoring integration via Prometheus/Grafana

  • Alarm integration via Kibana

Testing

  • Data plane tests

    • Unary tests based on PTF framework (running pre-merge on Tofino model)

    • Line rate test based on PTF framework and TRex traffic generator for INT and QoS features (running nightly on hardware switch)

  • Control plane tests

    • UP4 integration with PFCP Agent based on ONOS STC framework for 2x2 and paired-leaves topologies (running pre-merge)

  • System tests

    • Based on TestON framework

    • Running nightly on paired-leaves and 2x2 topology with 3 ONOS instances

    • Features covered:

      • Bridging

      • Paired-leaves

      • UP4

      • INT with DeepInsight integration

      • QoS (both mobile and non-mobile traffic)

    • Jenkins dashboard showing nightly results

Known Issues and Limitations

  • SDFAB-653

    ArpHandler is unable to handle ARP requests for device loopback address

  • SDFAB-655

    UP4 reconciliation cycle can leave switch flow state inconsistent causing UE data traffic to be dropped. Requires to detach and re-attach UEs.

  • Host INT features assumes the fabric interface on each K8s worker node uses the same name

Component versions

SD-Fabric ONOS image

  • tost: registry.aetherproject.org/tost/tost:1.0.0

Sub-component versions:

Stratum image

DBUF image

  • dbuf: registry.aetherproject.org/tost/dbuf:1.0.0

PFCP Agent image

  • pfcp-agent: omecproject/upf-epc-pfcpiface:master-fcdbc95

Helm Chart Versions

Patches