Juniper - Disaggregation Status and Update: Savi Venkatachalapathy
Juniper - Disaggregation Status and Update: Savi Venkatachalapathy
Juniper - Disaggregation Status and Update: Savi Venkatachalapathy
• Disaggregation
• Overview
• Benefits and Challenges
• Disaggregation
• Control Plane
• Routing Stack
• NOS
• Summary
• Q&A
• HW and NOS SW from different vendors • Control plane, Data plane and Management plane from
• HW from ODM termed as “White Box” devices different vendors. Ex: SONiC,cRPD, P4Runtime
• OCP, TIP driving standards for ONL, ONLP • Standards based interfaces and interactions. Ex: SAI, P4
• NOS SW could be further disaggregated
Python, Thrift
Junos Junos PFE (Forwarding drivers) code and
Automation
Guest App
Analytics
Active Standby PFE Platform Platform code unplugged from Junos
(Native (Native and run natively on Linux
Linux) Linux)
VM VM Forwarding driver and platform code can
be upgraded independent of Junos
Linux KVM
Junos abstraction from hardware which
System Services Wind River Linux 7 (Yocto) accelerates pace of innovation
ONIE
Hardware (x86 CPU, SDRAM, Merchant ASIC and Juniper ASIC) Stepping stone towards disaggregation
of HW and SW
Junos Dependencies
App
Control Plane
• HAL
– No standard APIs
– SAI falls short
• Platform Drivers
PI
– ONL Drivers
Chassis Management HAL – Dependent on ODM
vendors
• Chassis Management
– Dependent on ONLP/OpenBMC
Platform Drivers PFE implementation
PD
Collaborative Approach
• Open Networking HW: x86 CPU, OCP
Open Network Install Environment (ONIE)
Compliant
Management
Process • Data Plane: Integrate the underlying
PFE SDK into the control plane
Control Plane Chassis • FRU Management: Integrate with the
Process Management user space FRU drivers from the
Process vendors.
• Chassis Management: Handshake
Data Plane Process FRU Management between the control plane process and
Process the FRUs. Integrates Optics, LEDs.
• Control Plane: High level process for
PFE FRUs
control plane applications
Open Networking Hardware
(Intel CPU, Merchant Silicon, PSUs, Fans, Optics)
Junos
Control Plane
Junos Mgmt
Plane
Data plane • In production at multiple Customer
deployments
Merchant Chassis &
FRU drivers
PFE SDK
• Support model with Juniper JTAC for
HW and Vendor for SW
ONIE Linux
Openness
• Linux native platform and apps
Mgmt Routing
3rd • Support for 3rd party software and tools
Party
Modularity
Platform • Component level design with resiliency
Fwd • Support for hitless component upgrade
Sensors
Logically Centralized Database
State DB
• All state modelled and API Accessible
Linux • Pub-sub communication between components
• Strong fault isolation between components
Hardware • Improved diagnostics for rapid debugging
Linux as base OS
• Leverage wide support and vast developer base.
• Use open source tools wherever possible.
RPD MGD Platform Fabric PFE …….
• Support standard Linux tools
• Native Linux applications
Pub-sub state system Remove state from kernel
• No kernel state repository and state propagation.
• Minimize changes to kernel.
Linux Kernel • Separate logic from state
Modularity
ASIC • Formalized interfaces between components.
• Pub-sub communication between components
• Clear separation / fault isolation between
components.
• Lego blocks to support different use cases.
• Support component upgrade without system reboot.
Automation
• Lightweight (<400MB)
JET JET
Management
Cli, Netconf, SNMP, OpenConfig • Fast start-up (seconds v/s minutes)
Routing Protocols
BGP, IGP, STATIC • Same Junos Management stack such
Routing Infrastructure as APIs, Netconf/YANG, Openconfig
Telemetr
y
RIB, Label Manager, BFD Telemetr
y
© 2018
© 2019
Juniper
Juniper
Networks
Networks
Juniper Business Use Only
Juniper Business Use Only
CRPD - ARCHITECTURE
Routing
Stack
Telemetry/
Analytics
Management
Stack • Open Source switch OS based on
Linux (Debian)
Switch State Service • Decouples switch hardware and
syncd software
User Space SONiC
SAI
• Leverages ONIE Bootloader
ASIC SDK
• Redis DB Container
• Hosts APPL_DB, CONFIG_DB, ASIC_DB,
STATE_DB, COUNTERS_DB
• Accessible to applications through UNIX socket
• SWSS Container
• Communication across all other modules and
Redis DB Engine
• Hosts both producers and consumers of the DB
• Syncd Container
• Syncs the switch n/w state and ASIC state
• Initializes and configures the switch ASIC
• Fpmsynd Daemon
• Syncs the FIB state from the Routing daemon to
the APPL_DB
Features:
• ECMP
• BFD
Juniper
Routing
Other
containers
3rd party
• Single PFE Switch:
(Telemetry
containers
Stack
(RPD)
Mgmt,
Services)
• Broadcom SAI
• Juniper platform drivers uploaded on
SONiC GitHub
Switch State Service
• Support for QFX5210-64C
SAI API
• Multi PFE Switch:
ONIE Linux • Juniper to implement a SAI shim layer
Platform Juniper SAI
drivers Shim • Platform drivers for
Platform:
OCP/Juniper/3rd party ASICs
Juniper contribution
HW Software License
Classification Licenses Portability
Provided by WB Vendor
Hardware Juniper will not handle RMA/Sparing