You are on page 1of 26

Use of openwrt in CPES

with Intel inside


Syam Krishna Babbellapati
Intel Connected Home Division
October 26, 2017
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

Connected Home Division 11/14/17 2


Intel & Opensource

Total of ~140 officially supported


projects through Intel OTC
(Opensource Technology Center)

Connected Home Division


For more information:
https://01.org/projects

Connected Home Division 11/14/17 3


Linux @ Intel

Connected Home Division

Intel is one of the biggest proponents of Opensource in the Industry

Connected Home Division 11/14/17 4


Intel Connected Home Division
Active 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

• Connected
Intel Homeupstreaming
has kick-started Division changesets to RDK-B project

Connected Home Division 11/14/17 5


Challenges in Organizations
Balancing 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:
ConnectedLTS
HomeofDivision
Linux Kernel extended from 2 years – 6 years

Connected Home Division 11/14/17 6


Intel® Universal Gateway Software (UGW) Releases
Sep 2016 Jun 2017
Mar 2015

UGW-6.1.1 UGW-7.1.1 UGW-7.2

xRX200,
Chipset xRX200, xRX200, 300/330,
300/330, 350/550,
Support 300/330 350/550
750

OpenWrt Attitude Chaos Calmer Chaos Calmer


version Adjustment +
used

SW architecture: SW architecture:
SW architecture:
Modular with same as UGW-7.1.1
Architecte Connected
Based on scripts, Home Division FAPI (c code), but with more
cture MAPI and minimal
high re-use of features & with Intel
opensource re-use
openwrt x86 support

Connected Home Division 11/14/17 7


Component re-use from OpenWrt in UGW
Component Name Description Straight Re-use from Remarks
OpenWrt
IPv6 OpenWrt IPv6 components such as - 100%
Dnsmasq, odchp, dslite
netifd Key OpenWrt component acting as 100%
Networking manager for all the L3 services
ubus IPC communication 100%

procd Daemon for watching and managing the 100% Some adaptations done on top to
processes allow xml based package
installation as well
Kernel+ Patches, All the opensource components are based on 100%
toolchain, relevant latest OpenWrt release (Chaos Calmer)
opensource apps
LUCI, UCI & scripts
Connected Home Usage of UCI & LUCI
Division ~ UCI is not used by default for all
the packages

Connected Home Division 11/14/17 8


Connected Home Division

Connected Home Division 11/14/17 9


Calendar of key events over past 3 years
Primary goals
1) Abstract complexity: High level API – FAPI
2) Complete package for ODMs:TR-069, VoIP stack,
Web

Intel UGW
UGW-7.x approved
2014.05 UGW-7.1.1 Dev starts UGW-7.1.1 GA
2015.04 on all platforms
2016.09
Reduced script
handling

OpenWrt
Attitude Adjustment Barrier Breaker Chaos Calmer
2013.04 2014.07 2015.05

prpl
Prpl formation CIG formation
Connected Home Division2014.05 2016.07

Connected Home Division 11/14/17 10


OpenWrt in 2014
State 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 CarrierHome
Connected readiness
Division
• Missing TR-069, config independent daemons, production-ready support

• Missing a common low level API across SoCs

Connected Home Division 11/14/17 11


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.

Connected Home Division


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 11/14/17 12


Connected Home Division

Connected Home Division 11/14/17 13


What is Functional API (FAPI)?

Configuration without FAPI UGW with FAPI


Need to configure
multiple HW and SW
UGW with FAPI
blocks to get some of
the complex flows Web TR-069 CLI
running Interface used by
customer New Config Framework
Mcast DSL LTE WLAN QoS

Functional APIs Kernel


API API API
Voice DECT
Driver Driver Driver
FW FW FW Driver (s)
Accel
Switch

Connected Home Division Kernel


Switch Acceleration ...
SoC
Reduce significant Integration
effort for customer

Connected Home Division 11/14/17 14


Design Principle used while integrating 3rd party apps in
OpenWrt

Alien/3rd party apps or frameworks OpenWrt developed framework

Triggers, reloads, init procd LUCI


Openwrt init
Opensource reload
scripts
daemons
For all services netifd
Script call OpenWrt
UCI Conf files
Driver/HW Conf files
Hotplug events:procd/netifd
Connected Home Division

Connected Home Division 11/14/17 15


Design Principle used in integrating Intel components
with OpenWrt

Intel framework OpenWrt developed framework

reloads, init
procd LUCI
Intel Framework

• TR-069, Multicast, DSL, Mainly for network


netifd
Voice, WLAN UGW
• Uses XML as a config format Servd_notify (ubus) UCI Conf files

Hotplug events:procd/netifd

Connected Home Division

Connected Home Division 11/14/17 16


Intel® Universal Gateway Software with
Opensource Components
Web TR-069 CLI

UBUSd Common Adaptation Layer

Init Scripts
UBUS

UBUS
Init Scripts

p
r Service Daemon OpenSour
Config
Storage

oc NetifD
ce
UBUS Damons

Service N
Service 4
Service 1

Service 2

Service 3
d and Utils
XML
Network
UCI

Functional API (FAPI)


Connected Home Division

Kernel + Drivers + Patches


Board/SoC
Connected Home Division 11/14/17 17
„Vanilla“ OpenWrt framework with FAPI
Web - luci rpcd

UBUSd
p
Ø Vanilla OpenWrt
r model/configuration with

Init Script N
Init Script 1

Init Script 2

Init Script 3

Init Script 4

Init Script 5

Init Script 6
oc UCI
FAPI is available
d
DSL
Ø WLAN integration into
Control QoSd McastD FAPI CLI UCI this model is still work in
App Files
NetifD progressss
FAPI
Connected Home Division
Kernel + Drivers + Patches
Board/SoC
Connected Home Division 11/14/17 18
Connected Home Division

Connected Home Division 11/14/17 19


Fast forward to present !
Primary goals
1) Abstract complexity: High level API – FAPI
2) Complete package: TR-069, VoIP stack, Web

Intel UGW
UGW-7.x approved
UGW-7.1.1 Dev starts UGW-7.1.1 GA UGW-7.2
on all platforms 2017.06
2016.09
Reduced script
handling

OpenWrt
Improved Web & procd
Attitude Adjustment Barrier Breaker Chaos Calmer LEDE formation handling, security
2013.04 2014.07 2015.05 2016.05

LEDE first rel 2017.01.02 2017.01.04


2017.01

prpl
Prpl formation CIG formation Multiple Companies Scal
Connected Home Division2014.05 2016.07 opensourcing 2017.02
TR-069 stack
Board Farm support 2016.10
(QA automation)
Clean translation layer for TR-069

Opens up new possibilities to re-evaluate and to also provide


compatibility for netconf/yang

Connected Home Division 11/14/17 20


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

Connected Home Division 11/14/17 21


Topics to collaborate with Community
Leverage & productize Scal

Security

Virtualization: Container Lifecycle Management

Alignment with Cable


Connected Home Division

Connected Home Division 11/14/17 22


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

Connected Home Division 11/14/17 23


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

Connected Home Division 11/14/17 24


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 !!


Connected Home Division

Connected Home Division 11/14/17 25


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

You might also like