doc.: IEEE 802.15-<15-09-0758-00-004e> <month year> doc.: IEEE 802.15-<15-09-0758-00-004e> <Mar 2018> Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [ULI profile and module organization for convenient programmability] Date Submitted: [8 Mar 2018] Source: [Charlie Perkins] Company [Futurewei] Address [2330 Central Expy, Santa Clara Ca, USA] Voice:[+1.408-330-4586] E-Mail:[charlie.perkins@huawei.com] Re: [Programming in ULI-based 802.15.4 systems.] Abstract: [The definition of profiles for ULI plays a crucial role in enabling ULI to meet goals] Purpose: [Provide a suggested profile organization to facilitate convenient API] Notice: This document has been prepared to assist the IEEE P802.15. It is offered as a basis for discussion and is not binding on the contributing individual(s) or organization(s). The material in this document is subject to change in form and content after further study. The contributor(s) reserve(s) the right to add, amend or withdraw material contained herein. Release: The contributor acknowledges and accepts that this contribution becomes the property of IEEE and may be made publicly available by P802.15. <Charlie Perkins>, <Futurewei>
Handling 802.15.4 devices in ULI December 18 <month year> doc.: IEEE 802.15-<15-09-0758-00-004e> <Mar 2018> Handling 802.15.4 devices in ULI Need for very many devices modeled as having large number of files in /dev device files are the "profiles" that have been discussed Need for channel configuration Need for convenient programming mode Slide 2 <Charlie Perkins>, <Futurewei> Page 2
ULI "operating system“ - Profiles December 18 <month year> doc.: IEEE 802.15-<15-09-0758-00-004e> <Mar 2018> ULI "operating system“ - Profiles Allows execution of legacy code ULI fields legacy SAP "system calls" Allows use and reconfiguration of device profiles in /dev Allows configuration of kernel modules such as L2R, KMP, ranging, 6top, ... Slide 3 <Charlie Perkins>, <Futurewei> Page 3
ULI "operating system“ – Modules December 18 <month year> doc.: IEEE 802.15-<15-09-0758-00-004e> <Mar 2018> ULI "operating system“ – Modules Allows configuration of kernel modules such as L2R, KMP, ranging, 6top, ... Each kernel module has to explicitly identify dependencies on Mgmt module Half-baked idea: make PassThru Module bottom end to be the gateway to MMI Slide 4 <Charlie Perkins>, <Futurewei> Page 4
doc.: IEEE 802.15-<15-09-0758-00-004e> December 18 <month year> doc.: IEEE 802.15-<15-09-0758-00-004e> <Mar 2018> Programming model By local or remote configuration, device is provisioned with files such as /dev/tsch0, /dev/tsch1, /dev/lpwan0 ... Each ULI "profile" is such a file in /dev Each profile in /dev supports ioctl() man pages in (e.g.) "tsch-ioctl"... Configurable per-device characteristics defined by YANG data models call them "prf_vals" Slide 5 <Charlie Perkins>, <Futurewei> Page 5
Programming model, device level December 18 <month year> doc.: IEEE 802.15-<15-09-0758-00-004e> <Mar 2018> Programming model, device level ULI makes IP access easy, other access possible Device system calls such as open(), close(), ioctl ( /dev/…, prf_vals), etc. are supported Slide 6 <Charlie Perkins>, <Futurewei> Page 6
Programming model, IP and above December 18 <month year> doc.: IEEE 802.15-<15-09-0758-00-004e> <Mar 2018> Programming model, IP and above ULI makes IP access easy, other access possible Above IP, socket calls such as socket(), bind() and select() are supported Other address families may be supported Slide 7 <Charlie Perkins>, <Futurewei> Page 7
Programming model – kernel modules December 18 <month year> doc.: IEEE 802.15-<15-09-0758-00-004e> <Mar 2018> Programming model – kernel modules By local or remote configuration, device is provisioned with ULI modules such as L2R, KMP, ranging, 6top, ... Each ULI functional module has a page in /usr/man, with module-specific interface Does not conform to open(), close(), … Supports “modctl()” with YANG data model Slide 8 <Charlie Perkins>, <Futurewei> Page 8