RDKB is Open Source Broadband Gateway platform stack, built on top of an OpenEmbedded build framework. It’s currently deployed on all Comcast broadband home gateways. This talk will introduce the internals of RDKB and features forming the basis of the IoT framework for the Comcast Network.
2. • What is RDKB ?
• Unique Features
• Why Use RDKB ?
• Component based Architecture.
• Components
• High Level Architecture
• Getting Access
• QA
AGENDA
3. • RDKB – Broadband profile for RDK
• Shared BSP infrastructure with RDKVideo
• Shared logging, crash reporting, system management
• Over 2 million devices deployed
INTRODUCTION
4. • DOCSIS 3.0
• eMTA
• Private Wi-Fi
• Public Wi-FI
• MoCa 2.0
• eMTA
• Local Admin Pages
• MoCA extender support
• Bridge Mode support
• IPv6
• Cloud Gateway support (VRG)
• HNAP protocol support for Home Security
• 2.4/5G Band support
• Provisioning
• WPS
• SNMP
• TR-69
RDKB FEATURES
5. • Http Code Download
• Xconf support for finer control of code download
• WebPA Support
• RDK Logs
• RDK Metrics
• Video over Wi-Fi
• Wi-Fi-MoCA bridge forVideo
• IP table for packet tracking
• Support for Cloud Admin
• Forced Wi-Fi personalization
• Connect/Disconnect Notification
• RSSI Reporting
• Self Healing
RDKB UNIQUE FEATURES
6. • Zigbee HA 1.2 Hub
• Thread
• Bluetooth LE
• Device System Bridge to connect Zigbee/Thread/BLE
• Alljoyn/OIC Connectors
• IoT Cloud Adapter for Cloud Connectivity
• Local Rules Engine
• Easy Onboarding of devices
IOT FEATURES
7. • High SoftwareVelocity
– Architecture supports plug-in component modules – all using Linux D-Bus
– Teams can create components in parallel
– Leverages open source within Architecture Framework and within components
• Supports multiple management protocols and data models
– TR-069 withTR-181,WEBPA withTR-181, SNMP, CLI via UART/SSH, easily extensible
• Support single and multi-core CPU architectures
• No component level code change needed to repartition software
– D-Bus extends common architecture across CPUs
• Easily portable to support multiple SoC vendors
– Supported through component level abstraction layers
– Leverages the ability to repartition across single core, multi-core and multi-CPU
• Supports IOT
– AllJoin
– Iotivity (Part of OE/Yocto supported layer, can be pulled in on demand)
– Thread
• Integrated logging infrastructure with head-end
ADVANTAGES OF RDKB
8. • WEB-PA
– Complete solution for
• Device Manageability
• Control
• UnderstandsTR-181 model
• Head-end component available for adoption
– Is available as opensource contribution.
• Built onYocto Project/OpenEmbedded Build infrastructure
– Vast set of packages available
– Support wide range of SOCs out of box
• RDKB Emulator implementations as reference onYocto/OE available
• Licensed under RDKM Apache license.
• Value addons from other infrastructures available
– E.g. OpenWRT packages
• Clean separation between modem, voice and data
ADVANTAGES OF RDKB
9. COMPONENT BASED ARCHITECTURE
• Standard message primitives used for all components
• Messages are passed over D-Bus IPC mechanism
• Adding new services doesn’t change APIs ( RunTime APIs )
– only adds new parameters
CCSP Message BUS (D-Bus)
Provisioning &
Management
TR-181 Data DM
(no WiFi/Diag)
Test & Diagnostics
TR-181 DM (Diag)
WiFi Provisioning
& Management
TR-181 DM (WiFi)
IP v4/v6
Bridge
…
WiFi
Persistent
Storage
Manager
getParameterValues
setParameterValues
AddTblRow
DelTblRow
……
getParameterValues
setParameterValues
AddTblRow
DelTblRow
……
getParameterValues
setParameterValues
AddTblRow
DelTblRow
……
getParameterValues
setParameterValues
AddTblRow
DelTblRow
……
Component
Registry
10. RDKB COMPONENT DIAGRAM
SOC
Kernel DOCSIS MTA ePON HAL
OEM Boot Loader
MoCA Drivers
MoCA MIBSCM Ext HAL MTA Ext HAL
GW Prov Abs
Layer
Multi Lan
Config
Open
Source
Net SNMP
MLD ProxyDHCP V4/V6
VLAN Utils
IGMP
Proxy
DSLite
DNS Proxy
UPNP IGDBridge Utils
IPRoute/
IPTables
BlueZ
Stack
IPV4/IPV6 Wireless Tools
Prefix Delegation
CCSP
Components
CM Agent
MTA Agent
Provisioning &
Mgmt
GW Prov App
Home Security
TR69 PA
Common Library
WiFI Prov &
Mgmt
Component
Registry
PSM.
Native UI PASNMP PA
Utopia
Utilities
Xfinity Hotspot
CLI PAHNAP PA WEBPA
CISCO
Open
Source
OEM Comcast
SNMP
MGT
ACS
HNAP
MGT
WEB
Browser
SSH
Board SOC
WiFI HAL
WiFI Drivers
WiFI SoC MoCA SoC
Battery HAL
Platform Software
WEBPA
Server
ZIGBE SDK
Harvester
Dynamic Channel
Selection
Self Healing Logger WIFI-ATM
11. • Common Library
– CCSP msg bus
– Security / OpenSSL
• Provisioning & Management
– Moca
• Multicast IP forVideo (MDC)
• Self healing
– WiFi Spectrum Analyzer
– WiFi DCS
– WiFi Band Steering
– WiFi DFS
– Harvester
– Process Monitoring
– Telemetry
RDKB CORE COMPONENTS
• IoT
– Zigbee Stack
– Thread
• Logging
• IP DVR (SD Flash, NAS)
• Utopia
– Firewall / Parental Control
• Gateway Provisioning for EPON/DOCSIS
• DVR Cache
• WebPA Client
• CLI PA
• HNAP PA
• TR-069 PA
• SNMP PA
12. • DHCP Client
• Net SNMP
• IPTables
• IPRoute
• DSLite
• IP Stack
• Bridge Utils
• VLAN Utils
• UPnP IGD
• DNS Proxy
• MLD Proxy
• IGMP Proxy
RDKB OPEN SOURCE COMPONENTS
• Prefix Delegation
• Bluez stack
• PHP runtime
• python runtime
• system initialization and device
management
• IPC implementation (d-bus)
• alljoyn
• web server
• SSH
• dnsmasq
• TFTP
13. • Linux Kernel
• Base Linux OS (libraries + utilities)
• DOCSIS
• Voice Modem (eMTA)
• WiFi Driver (RDKB defined HAL)
• MoCA Driver
• Thread Driver
RDKB SOC / CHIP VENDOR COMPONENTS
• Bluetooth Driver
• Zigbee Driver
• Fast Path GRE
• EPON
• Watchdog
• ProfilingTools
16. RDK-B HIGH LEVEL ARCHITECTURE
Local UI
PA
ACS
Provisioning &
Management
TR-181 Data DM
CCSP Message
BUS
WIFI
Drivers
WiFi Provisioning &
Management
TR-181 DM
WEB
Browser
SSH
HNAP
MGT
Open
• IPV4/IPV6
• DHCPv4/6
• IPRoute/IPTables
• DSLite
• Prefix Delegation
• Bridge Utils
Source
• VLAN
• Wireless Tools
• IGMP and MLB Proxy
• DNS Proxy
• RIP
• UPNP IGD
CM HAL MTA HAL
RDKB
Open
Source
SOC Comcast
TR-69 PA
Component
Registry
Persistent
Storage
Manager
SNMP PA
SNMP
MGT
CLI PA HNAP PA
Application Env
Manager
WiFI Abstract Layer
MDC PA
MDC
CM Ext MTA Ext
GW provisioning AppGW Provisioning Abstraction
WEBPA
Server
WEB PA
17. • Hosted by RDK Management
– Anonymous Read Access
• CCSP - https://code.rdkcentral.com/r/#/admin/projects/?filter=rdkb
• WebPA – In preparation to be opened on git://github.com/comcast
– RDK community Access
• Manifest - https://code.rdkcentral.com/r/plugins/gitiles/manifests/+/master
• RDK OE Layer– https://code.rdkcentral.com/r/#/admin/projects/components/generic/rdk-oe/meta-rdk
• Emulator BSP Layer - https://code.rdkcentral.com/r/#/admin/projects/components/asp/rdk-oe/meta-rdk-bsp-emulator
– OE/Yocto
• Upstream daisy branch
RDKB - GETTING ACCESS