We produce a roadmap at the beginning of each release cycle, and then archive it here.
CORD Platform
- Micro-CORD – Support right-and-light footprint for CORD
- Test robustness of remote management (no head nodes)
- Enable OpenStack-free configuration (container-only)
- Architect for flexible upstream connectivity (not just vRouter)
- Streamline for single/partial-rack configuration
- Reconcile/Extend Models – Unify and generalize core models based on experience
- Generalize VTN to "splice" arbitrary network types (see Notes)
- Make Network interconnectivity explicit in Service Graph (see previous)
- Extend Network model to include Carrier Ethernet (related to E-CORD)
- Extend synchronizer framework to support richer model dependencies (see Notes)
- Explore how to leverage YANG in service assembly and composition (see Notes)
- Configuration Management – Establish best-practices in service configuration
- Explore use of OpenConfig in configuration management
- Prototype use of OpenConfig with vRouter, Fabric, and VTN
- Extend use of OpenConfig to other services (e.g., vCDN, vSG)
- Reconcile role of YANG in both configuration management and core models (see Notes)
- Controller Scale, HA, and Security – Make CORD Controller (XOS) more operationally robust
- Distributed/multiple head nodes to enable High Availability of Controller
- Performance and scalability testing
- Security audit of the Controller
- Automated Build Process – Streamline the build process
- Install all sub-systems in Docker containers (eliminate VM dependencies)
- Unify single-node and full-cluster POD build process
- Auto-generate fiber configuration
- Expand test plan to include end-to-end data plane and service control plane combinations
- Validate alternative POD hardware configurations
- Service Inventory – Add services to the available inventory
- Third-Party CDN
- ELK Stack
- OpenVPN
- Cassandra
- Trellis: Network Infrastructure
- Move to OF-DPA 2.0 GA (actually 3.0 EA0) release on switches
- Add dual homing support for servers, access devices and upstream routers
- DPDK support with OvS and BESS
- VXLAN VTEP support in Leaf switches
- sFlow integration
- ARP/DHCP delegation
- More dynamic configuration (switches, links etc.)
- ISSU
- Troubleshooting tools
- Add features (e.g., IPv6, Pseudowires, E-VPN, L3VPN) to vRouter and Fabric (related to E-CORD)
- Exploratory: P4, Flat network (no overlay/underlay)
Residential CORD
- Device Inventory – Demonstrate additional wireline devices running in CORD
- OLT – Celestica, Fujitsu, TiBiT
- G.Fast
- DOCSIS
- Northbound Interface – Flesh out subscriber runtime control interface
- Survey workflows for existing subscriber and customer-care portals
- Factor REST API into access device-specific and device-agnostic elements
- Incorporate monitoring (including notifications) and diagnostics into NBI
- Incorporate FCAPS (including configuration) into NBI
- Extend vSG – Explore alternative vSG implementations and functionality
- Add features to the current vSG subscriber bundle
- Evaluate VNF frameworks and how they could be integrated into CORD
- Extend vSG to include OpenFlow elements
Scale Performance – Optimize for the number of simultaneous residential subscribers
Enterprise CORD
- Prepare First Release – Integrate E-CORD proof-of-concept into CORD reference implementation
- Settle on a target POD Hardware and Service Graph
- Implement missing service elements: Model, Admin GUI, REST API, TOSCA
- Integrate into service on-boarding and build/test process
- Design test plan and integrate into Jenkins
- L2VPN Service – Provide broadcast domain across enterprise locations
- Design end-to-end service graph to site-local service graph refinement process
- Breakdown Ethernet Virtual Connection into Forwarding Constructs for sites and transport network
- Evaluate recent MEF Open API related activities (e.g., OpenLSO, OpenCS)
- Integrate with VTN to realize "Transport Edge" (see Notes)
- L3VPN Service – Provide private IP network across enterprise locations
- Design end-to-end service graph to site-local service graph refinement process
- Consider route distribution mechanism options
- Integration with vRouter and VTN (see Platform)
- SD-WAN Overlay – Provide cost-effective best-effort service combining broadband connections with LxVPN
- Design light-weight VNF provisioning on CPE
- Design gateway feature to manage CPE in a location, where operator does not have point-of-presence
- Multi-CORD Site Coordination – Provide mechanism for inter-site coordination
- Global A-CORD view at the orchestration layer (e.g., Aggregated site metrics to the orchestrator, bulk transfer, ...)
- Coordinated service instantiation across multiple sites (e.g., WAN Accelerator, encryption)
- Evaluate nested/layered XOS for multi-site orchestration
CORD Summit 2016 slide
Mobile CORD
A more detailed outline of the M-CORD Roadmap is available here (7.4MB powerpoint).
For additional information about M-CORD's strategic objectives, click here.
- Prepare First Release – Integrate M-CORD proof-of-concept into CORD reference implementation
- Settle on one or more POD Hardware configurations (M-CORD Lite)
- Cavium (ARM-based) Radio Unit
- Lime Micro (Intel-based) Radio Unit
- Specify target Service Graph and integrate with latest service on-boarding system
- Design test plan and integrate into Jenkins
- Settle on one or more POD Hardware configurations (M-CORD Lite)
RAN Slicing – Policy-based resource isolation
- vBBU assigns and manages radio resource blocks to different slices under the control of an ONOS slicing app
- Slicing app talks to RAN agent (vBBU) through proposed OF-extensions
- Slicing app acts on UE-based, time-based, location-based, and services-based policies
- Service classification is implemented by UE and/or BBU using tagging (e.g., network cookies)
- Build closed control loop to analyze power and channel quality (related to A-CORD)
- Adjust power
- Spin up new BBUs
- Core Slicing – Flexible allocation of resources to EPC components
- Dynamic assignment of EPC resources (e.g. MME, SGW-C, PGW-C, SGW-D, PGW-D…) to slices
- Resources can be dedicated or shared between slices
- Coordinate core with RAN and Fabric slicing (e.g., vBBU gets slice information from slicing app to select appropriate core slice for incoming packets)
- Build closed control loop to analyze singalling workload (related to A-CORD)
Connectionless RAN – Non-GTP based data forwarding model
Disaggregate eNB/SGW/PGW components to enable a centralized entity to manage new (non-GTP) data plane
vBBU data plane and service gateway data plane are controlled by ONOS apps
Get rid of GTP tunnels; replace with proactive OF rules in data path element
Edge Services – Demonstrate edge services taking advantage of capabilities
CDN – Utilize slicing to provide policy-based quality-of-experience
Public Safety – Utilize slicing to steer emergency traffic (e.g., police, fire)
AR/VR – Utilize slicing to meet high throughput needs of AR/VR
- m-Health – Utilize slicing by dedicating resources to critical m-Health applications
Analytics for CORD
A more detailed outline of the A-CORD is available at here (powerpoint)
- Programmable Probes – Hardware
- Ensure each hardware element exposes minimum set of programmable probes before they are introduced into CORD
- OLT GPON
- Implement OpenFlow metrics
- Expose ASIC level Metrics (power_levels…etc)
- Expose metrics of ‘OLT Hardware Abstraction’ VM
- Implement OpenFlow metrics
- Fabric white-box
- Implement sFlow agent
- Expose ASIC level stats (e.g., buffer stats); explore if "Broadview" agents can be leveraged
- Implement sFlow agent
- ROADMs
- Implement OpenFlow Metrics
- Implement sFlow agent?
- Implement OpenFlow Metrics
- Explore if YANG-based OpenConfig telemetry models can be leveraged
- Programmable Probes – Software
- Ensure each service implements minimum set of programmable probes before they are introduced into CORD
- vSG VNF
- Define and implement subscriber traffic events
- Define and implement subscriber service related events
- Define and implement subscriber traffic events
- vOLT ONOS application
- General framework in ONOS to push the measurements to external system
- Define and implement subscriber connection events
- vRouter ONOS application
- Define and implement subscriber internet connectivity events
- Define and implement subscriber internet connectivity events
- VTN and Fabric controller ONOS Applications
- Define and implement metrics
- Define and implement metrics
- ONOS control plane metrics
- Active Test Agents (Virtual Truck Roll)
- Simple open source diagnostics based active test agents
- Smart Virtual Probes
- eBPF/P4 program for inter-packet-arrival
- eBPF/P4 program for jitter
- Ensure each service implements minimum set of programmable probes before they are introduced into CORD
- Monitoring-as-a-Service
- Generalize Monitoring Service
- Decouple Ceilometer from OpenStack and deploy as a service on compute nodes
- Migrate to OpenStack Mitaka based Ceilometer components
- Containerize publish/subscribe delivery service
- Framework for enabling/disabling services & resources in CORD to be monitored by Monitoring Service
- Loading corresponding service/resource specific event parser plugins in to Monitoring service
- Loading corresponding monitoring agents into target services & resources
- Service composition to enable connectivity between services/resources to be monitored and Monitoring Service
- Scale & Performance:
- Performance bench markings
- Explore Ceilometer Gnocchi framework
- Explore Ceilometer integration with OpenStack Monasca based API and data storage subsystems to improve query API performance
- Explore load balancing framework for Ceilometer event parser plug-in subsystem
- Explore introducing other transports (Kafka) in addition to RabbitMq in the ceilometer southbound
- Integration with Probes
- Probes from OLT access devices (OpenFlow, Hardware abstraction VM, ASIC) into monitoring service
- Probes from ONOS vOLT control application (Access-as-a-Service) into monitoring service
- Probes from white-box devices (OpenFlow, sFlow, Broadview) into monitoring service
- Probes from ONOS fabric controller application (Fabric-as-a-Service) into monitoring service
- Probes from ONOS vRouter control application
- Probes from ONOS VTN application
- Probes from ONOS control plane (Cluster metrics)
- Probes from infrastructure (Compute, Storage, Hypervisor)
- Probes from vSG VNFs
- Framework for programmable probes
- Framework for smart virtual probes
- Kernel level smart virtual probes
- User space (compute intensive) smart virtual probes
- Framework for LMAP based Active Testing
- Framework to enable connectivity between Analytics applications and Monitoring-as-a-Service
- Dashboard
- Catalog of available probes on a device/component basis
- Visualization of all data collected
- Generalize Monitoring Service