Stratum is a next-generation SDN framework that aims to address limitations in existing SDN solutions. It defines new control interfaces using P4 and P4Runtime for abstraction of switching chips. It also defines common configuration and management interfaces like gNMI and gNOI for operations. Stratum provides a common platform abstraction and aims to support various switch platforms and silicon vendors. It includes open source switch software and aims to enable rapid development and porting of network operating systems. PLVision participates in Stratum to gain benefits like quick porting to platforms, flexibility for new use cases, and reduced time to market for solutions.
6. Challenges with Existing SDN
Programmatic network interfaces are inconsistent and incomplete
• OpenFlow provided no data plane pipeline specification; every vendor’s pipeline is different
• Every vendor provides their own proprietary models for configuration or management
Control planes are written and tested against specific hardware
• Workaround with own abstractions to handle hardware differences: either least common denominator (e.g. SAI) or
underspecified (e.g. FlowObjectives)
• Exploited specific APIs that are essentially locked in to specific vendors, which slows innovation cycles
Programmable forwarding chips are here
• Control protocols are mostly fixed function
• Extensibility is difficult or takes too long
• Even “fixed-function” forwarding chips have some degree of programmability and may add new features
7. Challenge: Bringing SDN to production
Need to define mutable contract between the hardware vendor and network operator
• Different operators can have different contracts
• Contract must be designed for programmability; APIs must be contract-independent
Operators have hit limitations with existing protocols when introducing them into their
networks at scale
• e.g. OpenFlow, NETCONF
• Interfaces and services must evolve to meet operational needs
SDN at scale brings new requirements
• Frequent updates to all layers of the stack (software AND state)
• Monitoring, visibility and automation for rollout and operations
8. Next-Gen SDN Requirements
New control interface with:
• Abstraction for different types of switching chips
• Well-defined interfaces and behavior
• Extensibility
Common interfaces for operations
• Testing, Debugging, Certificate Management, Software upgrade
Common platform abstraction (e.g. OCP’s ONLP)
Open source switch stack
11. Configuration Interfaces
Adapted from Google
• Configuration and management
• Declarative configuration
• Streaming telemetry
• Model-driven management and operations
o gNMI – network management interface
o gNOI – network operations interface
• Vendor-neutral data models
12. Code Releases
Release 0.1 (May 2018) Release 0.2 (Oct. 2018) Release 0.3 (Dec. 2018)
P4Runtime Support for pre-release Support for 1.0.0-rc1 Support for 1.0 and minor
fixes
gNMI Basic framework Stable support Stable support and bug
fixes
gNOI - Initial interfaces 4 service implementations
(e.g. system, file)
Switch support Google platforms;
Partial Broadcom support
Barefoot Tofino on 3
vendors;
BMv2 software sw.
Tofino platform integration;
DummySwitch for testing
Platform
abstraction
Basic interfaces Support for platform
mapping and DB
Add support for ONLP
Conformance
Testing
- Test framework definitions Test framework definitions
20. Why PLVision participates in Stratum
• View it as a vendor-neutral SDK that enables
o Quick porting to new platforms/silicones (well-defined APIs)
o Easiness of adaptation to new use cases (P4 + P4Runtime)
o Flexibility in applications (thin vs. thick models) interface
• Less time to get from PoC to MVP and trials
• Change behavior and add new functionality on the go