Upload
vodiep
View
268
Download
3
Embed Size (px)
Citation preview
Use of openwrt in CPESwith Intel insideSyam Krishna BabbellapatiIntel Connected Home DivisionOctober 26, 2017
Connected Home Division
2Connected Home Division 11/14/17
Use of OpenWrt @ Intel
• Intel & Opensource
• UGW Releases
• Design Decisions of UGW-7.x
• UGW-7.x and OpenWrt
• Possibilities & Next steps
Connected Home Division
3Connected Home Division 11/14/17
Intel & Opensource
Total of ~140 officially supported projects through Intel OTC (Opensource Technology Center)
For more information: https://01.org/projects
Connected Home Division
4Connected Home Division 11/14/17
Linux @ Intel
Intel is one of the biggest proponents of Opensource in the Industry
Connected Home Division
5Connected Home Division 11/14/17
Intel Connected Home DivisionActive Contributor to OpenWrt/LEDE
• One of the core members of OpenWrt/LEDE works in Intel CHD
• Working on pushing patches and upstreaming
Prpl
• Lantiq (and now Intel) on the board of prpl from it‘s inception
• Dan Artusi – Vice President, Intel‘s Connected Home Division, is on the Board of Directors
• CHD (after becoming Intel) continues to strongly advocate for opensource
RDK-B
• Intel has kick-started upstreaming changesets to RDK-B project
Connected Home Division
6Connected Home Division 11/14/17
Challenges in OrganizationsBalancing between
• Innovation & Revenue
• Most of the time they may not be the same – especially when one is looking at them in the short-term
• Customer demands vs Internal demands
• Internal topics around „clean-ups“, „re-designs“, „documentation“ often takes a backseat due to the focus on external customer demands
Latest evidence: LTS of Linux Kernel extended from 2 years – 6 years
Connected Home Division
7Connected Home Division 11/14/17
Intel® Universal Gateway Software (UGW) Releases
UGW-6.1.1
Mar 2015 Sep 2016
UGW-7.1.1 UGW-7.2
Jun 2017
xRX200, 300/330
xRX200, 300/330, 350/550
xRX200, 300/330, 350/550,
750
SW architecture: Based on scripts,
MAPI and minimal opensource re-use
SW architecture: Modular with FAPI (c code), high re-use of
openwrt
SW architecture: same as UGW-7.1.1
but with more features & with Intel
x86 support
Chaos Calmer Chaos CalmerAttitude Adjustment +
Chipset Support
OpenWrt version
used
Architectecture
Connected Home Division
8Connected Home Division 11/14/17
Component re-use from OpenWrt in UGWComponent Name Description Straight Re-use from
OpenWrtRemarks
IPv6 OpenWrt IPv6 components such as -Dnsmasq, odchp, dslite
100%
netifd Key OpenWrt component acting as Networking manager for all the L3 services
100%
ubus IPC communication 100%
procd Daemon for watching and managing the processes
100% Some adaptations done on top to allow xml based package
installation as well
Kernel+ Patches, toolchain, relevant opensource apps
All the opensource components are based on latest OpenWrt release (Chaos Calmer)
100%
LUCI, UCI & scripts Usage of UCI & LUCI ~ UCI is not used by default for all the packages
Connected Home Division
9Connected Home Division 11/14/17
Connected Home Division
10Connected Home Division 11/14/17
Calendar of key events over past 3 years
Intel UGW
OpenWrtAttitude Adjustment
2013.04Barrier Breaker
2014.07Chaos Calmer
2015.05
UGW-7.x approved2014.05
prpl
Primary goals1) Abstract complexity: High level API – FAPI2) Complete package for ODMs:TR-069, VoIP stack,
Web
UGW-7.1.1 GA on all platforms
2016.09
UGW-7.1.1 Dev starts2015.04
Reduced script handling
Prpl formation2014.05
CIG formation2016.07
Connected Home Division
11Connected Home Division 11/14/17
OpenWrt in 2014State of OpenWrt in 2014
• Netifd & procd – a major step forward
• Ubus framework – launched and stabilized
• In-frequent releases
• Missing modern GUI
• MVC framework could be customized by many developers (even without any awareness of OpenWrt). Compared to that LUCI based webpages would limit the number of developers who can work on the Web GUI
• Missing validations
• Missing Carrier readiness
• Missing TR-069, config independent daemons, production-ready support
• Missing a common low level API across SoCs
Connected Home Division
12Connected Home Division 11/14/17
What is Carrier Grade or Production-Ready SW?TR-069
• TR-069/098/181 data models
• TR-069 stack and the protocol implications are system-wide (as TR-069 considers itself as the „master“ of the device)
Multicast
• Multicast is a key requirement of most operators
DSL and Voice features
• Logic to handle DSL auto-switching & ability to do Voice APIs
QoS
• Possibility to do classification in HW
Web GUI
• Hardened Web GUI with limited options. Web GUI in OpenWrt is more for developers and a typical user wouldn‘t need so many options.
Config & Image Management
• Fail-safe image exists partially in Openwrt but it falls back to ramdisk and expects the user to debug. This doesn‘t meet a typical carrier requirement
Generic framework for secureboot handling? ......
Connected Home Division
13Connected Home Division 11/14/17
Connected Home Division
14Connected Home Division 11/14/17
What is Functional API (FAPI)?
Switch Acceleration ...
APIDriver
FW
APIDriver
FW
APIDriver
FW
Need to configure multiple HW and SW blocks to get some of
the complex flows running
KernelDriver (s)
Voice
Accel
DECT
Switch
New Config Framework
Web TR-069 CLI
SoC
UGW with FAPI
Functional APIsQoSWLANDSLMcast
Reduce significant Integration effort for customer
LTE
Interface used by customer
Configuration without FAPI UGW with FAPI
Kernel
Connected Home Division
15Connected Home Division 11/14/17
Design Principle used while integrating 3rd party apps in OpenWrt
Opensource daemons
Conf files
netifd
UCI Conf files
procdOpenwrt init scripts
LUCITriggers, reloads, initreload
Hotplug events:procd/netifd
OpenWrt developed frameworkAlien/3rd party apps or frameworks
OpenWrtFor all services
Script call
Driver/HW
Connected Home Division
16Connected Home Division 11/14/17
Design Principle used in integrating Intel components with OpenWrt
netifd
UCI Conf files
procd LUCIreloads, init
OpenWrt developed frameworkIntel framework
Mainly for network
Hotplug events:procd/netifd
Servd_notify (ubus)UGW
Intel Framework
• TR-069, Multicast, DSL, Voice, WLAN
• Uses XML as a config format
Connected Home Division
17Connected Home Division 11/14/17
Intel® Universal Gateway Software with Opensource Components
Board/SoCKernel + Drivers + Patches
Functional API (FAPI)
Service 1
Service Daemonpr
ocd
ConfigStorage
Common Adaptation Layer
Web TR-069 CLI
Service 2
Service 3
Service 4
Service N XML
NetifD
Network UCI
UB
US
UB
US
UBUS
OpenSource
Damons and Utils
InitScripts
UBUSd
InitScripts
Connected Home Division
18Connected Home Division 11/14/17
„Vanilla“ OpenWrt framework with FAPI
Board/SoCKernel + Drivers + Patches
FAPI
pr
ocd
NetifD
UBUSd
Web - luci
InitScript 4
InitScript 5
InitScript 6
InitScript N
rpcd
UCI
UCI Files
FAPI CLIDSL Control
AppMcastDQoSd
InitScript 1
InitScript 2
InitScript 3
Ø Vanilla OpenWrt model/configuration with FAPI is available
Ø WLAN integration into this model is still work in progressss
Connected Home Division
19Connected Home Division 11/14/17
Connected Home Division
20Connected Home Division 11/14/17
Fast forward to present !
Intel UGW
OpenWrtAttitude Adjustment
2013.04Barrier Breaker
2014.07Chaos Calmer
2015.05
UGW-7.x approved
LEDE formation2016.05
prplScal
2017.02
LEDE first rel2017.01
Multiple Companies opensourcing TR-069 stack
2016.10
Primary goals1) Abstract complexity: High level API – FAPI2) Complete package: TR-069, VoIP stack, Web
UGW-7.1.1 GA on all platforms
2016.09
UGW-7.1.1 Dev starts
2017.01.02
Clean translation layer for TR-069 and to also provide compatibility for netconf/yang
Improved Web & procd handling, security
Board Farm support (QA automation)
Opens up new possibilities to re-evaluate
Reduced script handling
2017.01.04
Prpl formation2014.05
CIG formation2016.07
UGW-7.2 2017.06
Connected Home Division
21Connected Home Division 11/14/17
Possibilities for UGW going forward
• Migrate to latest OpenWrt/LEDE
• Evaluate Scal
• Minimize patches to kernel
• Evaluate Low Level API (like standard Linux Configuration where possible) & Stack-Independent API (like FAPI) proposals from CIG
Connected Home Division
22Connected Home Division 11/14/17
Topics to collaborate with CommunityLeverage & productize Scal
Security
Virtualization: Container Lifecycle Management
Alignment with Cable
Connected Home Division
23Connected Home Division 11/14/17
Intel‘s Asks
• Need the ecosystem to make OpenWrt as a base SDK
• Stronger collobaration with the community
• Complete/collaborate on missing/new topics of OpenWrt
• Consensus on concepts like FAPI/HAL to enable easy re-use
Connected Home Division
24Connected Home Division 11/14/17
Summary
• Intel has a great legacy working with the Opensource community
• Intel‘s Connected Home Division strongly supports the OpenWrt/LEDE efforts
• Intel CHD envisions a strong and bright future for OpenWrt/LEDE
Connected Home Division
25Connected Home Division 11/14/17
Thanks to ...• OpenWrt community for making a great piece of SW
• Intel colleagues who helped me in generating this information
• OpenWrt Summit organizers for organizing this event
Let us make OpenWrt better !!
Intel, the Intel logo, Intel Inside, the Intel Inside logo, Intel. Experience What’s Inside, the Intel. Experience What’s Inside logo, Intel Arria, Intel Core, Intel Puma, and Xeon are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
© Intel Corporation
26