Skip to content

OFC'23 + IETF L2VPN Device Driver + Device Controllers + Multiple small improvements

Lluis Gifre Renom requested to merge feat/device-ietf-l2vpn into develop

Proto Buffers files:

  • Added IETF L2VPN Driver

Show Log Scripts:

  • Added flags to specify target container to retrieve log

Automation component:

  • Added enums for IETF L2VPN Driver

Common - Object Factory:

  • Added helper method for tfs controller

Common - Type Checkers:

  • Added IETF L2VPN Driver

Common - Device Types:

  • Added emulated optical splitter
  • Added emulated packet radio router
  • Added emulated XR constellation
  • Added packet radio router
  • Added TeraFlowSDN controller for child TFS

Compute component:

  • Added OFC'23 compute IETF L2VPN mappings

Context component:

  • Added support for IETF L2VPN Driver

Device component:

  • Added logic for import_topology driver setting
  • Added special resource name "services"
  • Added logic to expand a single device into sub-sevices and sub-links
  • Added DISABLE operational status while onboarding a device
  • Added mapping of device to device controller for sub-devices

Device component - IETF L2VPN Driver:

  • First functional implementation

Device component - MicroWave Driver:

  • Added load of existing services (only in device config)

Device component - OpenConfig Driver:

  • Added retry decorator in locked and commit methods
  • Corrected endpoint path for config rules

Device component - Transport API Driver:

  • Added load of existing services (only in device config)
  • Removed unused symbols
  • Updated input_sip to input_sip_uuid
  • Updated output_sip to output_sip_uuid

Device component - XR Driver:

  • Updated input_sip to input_sip_name
  • Updated output_sip to output_sip_name

PathComp component - Backend:

  • Disabled auto-generation of reversed links
  • Disabled allocation of resources during multi-service path computation
  • Adjusted constants defining size of internal data structures

PathComp component - Frontend:

  • Improved composition of sub-services
  • Improved composition of configuration rules for sub-services
  • Defined links as unidirectional
  • Adjusted default link latency
  • Corrected logic to extrapolate hops from ERO paths
  • Improved multi-layer path computation and service type identification to support intermediate controllers
  • Added filters to ignore management links between a controller and a device
  • Added test case for validating Compute SubServices logic

Policy component:

  • Added enums for IETF L2VPN Driver

Service component:

  • Added support for IETF L2VPN Driver
  • Improved checks in service handler selection logic
  • Corrected Service Handler selectors
  • Minor code styling
  • Extended TaskExecutor to support device controllers

Service component - L2NM Emulated Service Handler:

  • Commented out rules not required (to be confirmed)
  • Added control to return empty list of config rules when settings are not provided
  • Added control to skip delete config rule calls when there is no rule to be deleted

Service component - L2NM IETF L2VPN Service Handler:

  • First complete and functional implementation

Service component - L2NM OpenConfig Service Handler:

  • Code cleanup and formatting
  • Corrected default values
  • Added control to return empty list of config rules when settings are not provided

Service component - L3NM Emulated Service Handler:

  • Added control to return empty list of config rules when settings are not provided
  • Added control to skip configure/delete config rule calls when there is no rule to be configured/deleted

Service component - L3NM OpenConfig Service Handler:

  • Code cleanup and formatting

Service component - MicroWave Service Handler:

  • Corrected error message spelling

Service component - Transport API Service Handler:

  • Corrected error message spelling
  • Added support for device controllers
  • Updated input_sip to input_sip_uuid
  • Updated output_sip to output_sip_uuid

Service component - Transport API for XR Service Handler:

  • Segregated from Transport API Service Handler
  • Added support for device controllers
  • Updated input_sip to input_sip_name
  • Updated output_sip to output_sip_name

Slice component:

  • Added log messages informing about activation of slice grouping

OFC'23 Test:

  • Created experiment folder
  • Created descriptor files
  • Added helper deploy/show/redeploy scripts

Tests - Tools - Mock IPM Controller:

  • First basic implementation

Tests - Tools - Mock MW Controller:

  • Renamed folder
  • Corrected composition of response messages
  • Extended definition of underlying emulated topology
  • Updated README file

WebUI component:

  • Added IETF L2VPN Driver to Device forms
  • Added missing network device icons
  • Added endpoint name in endpoint tables of link, service and slice detail pages
Edited by Lluis Gifre Renom

Merge request reports