This document discusses running your own 6LoWPAN IoT network based on IEEE 802.15.4 standards. It describes the Linux-wpan project which provides native 802.15.4 and 6LoWPAN support in the Linux kernel. It also discusses tools like wpan-tools and communication with other IoT operating systems like RIOT and Contiki. The document covers topics like header compression, link layer security, routing protocols, and the current status and future of the Linux-wpan project.
Linux-wpan: IEEE 802.15.4 and 6LoWPAN in the Linux Kernel - BUD17-120Linaro
"Session ID: BUD17-120
Session Name: Linux-wpan: IEEE 802.15.4 and 6LoWPAN in the Linux Kernel - BUD17-120
Speaker: Stefan Schmidt
Track: LITE
★ Session Summary ★
Adding support for IEEE 802.15.4 and 6LoWPAN to an embedded Linux system opens up new possibilities to communicate with tiny devices. The mainline kernel
supports the wireless protocols to connect such devices to the internet, acting
as border router for such networks.
This talk will show the current kernel support, how to enable and configure the
subsystems to use it and how to communicate between Linux and IoT operating
systems like RIOT, Contiki or Zephyr.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-120/
Presentation: https://www.slideshare.net/linaroorg/linuxwpan-ieee-802154-and-6lowpan-in-the-linux-kernel-bud17120
Video: https://youtu.be/6YNeF2H2i-U
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: linux-wpan, kernel, IEEE, Stefan Schmidt
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
Linux-wpan: IEEE 802.15.4 and 6LoWPAN in the Linux Kernel - BUD17-120Linaro
"Session ID: BUD17-120
Session Name: Linux-wpan: IEEE 802.15.4 and 6LoWPAN in the Linux Kernel - BUD17-120
Speaker: Stefan Schmidt
Track: LITE
★ Session Summary ★
Adding support for IEEE 802.15.4 and 6LoWPAN to an embedded Linux system opens up new possibilities to communicate with tiny devices. The mainline kernel
supports the wireless protocols to connect such devices to the internet, acting
as border router for such networks.
This talk will show the current kernel support, how to enable and configure the
subsystems to use it and how to communicate between Linux and IoT operating
systems like RIOT, Contiki or Zephyr.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-120/
Presentation: https://www.slideshare.net/linaroorg/linuxwpan-ieee-802154-and-6lowpan-in-the-linux-kernel-bud17120
Video: https://youtu.be/6YNeF2H2i-U
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: linux-wpan, kernel, IEEE, Stefan Schmidt
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
pycon apac 2013 presentation
http://apac-2013.pycon.jp/ja/program/sessions.html#session-14-1110-rooma0762-en2-ja
videos are available at
http://www.youtube.com/watch?v=Ow-aXpMO8-o
As containers are being deployed as part of multi tenant clusters, virtual multi layer switches become essential to interconnect containers while providing isolation guarantees. Assigning tenants their own private networks requires stateful network address translation (NAT) implemented in a scalable architecture to expose containers to public networks. Existing virtual switches integrated into the Linux kernel did not support stateful NAT so far. This presentation introduces a new virtual NAT service deployable as container built using existing kernel functionality such as network namespaces, routing rules and Netfilter to provide NAT services to existing virtual switches such as Open vSwitch and the Linux bridge but also the core L3 layer of Linux.
LAS16-405:OpenDataPlane: Software Defined Dataplane leaderLinaro
LAS16-405: OpenDataPlane: Software Defined Dataplane leader
Speakers: François-Frédéric Ozog
Date: September 29, 2016
★ Session Description ★
You may think OpenDataPlane and DPDK are somewhat equivalent. But they are not. OpenDataPlane is about Software Defined Dataplanes while DPDK is a Software Dataplane. A Software Defined Dataplane can control a hardware only Dataplane in a way that packets can go from input port to output port without reaching a CPU core. With Software Dataplanes , all packets have to reach a CPU core. As a result, one vendor could leverage a Software Defined Dataplane to build a 100Tbps network box while it is not possible with a Software Dataplane.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-405
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-405/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
"Session ID: BUD17-300
Session Name: Journey of a packet - BUD17-300
Speaker: Maxim Uvarov
Track: LNG
★ Session Summary ★
Describe step by step what components a packet goes through and details cases when components are implemented in hardware or in software. Attendees will have the definite presentation to understand fundamental differences with DPDK and how ODP solves low end and high end networking issues.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-300/
Presentation: https://www.slideshare.net/linaroorg/bud17300-journey-of-a-packet
Video: https://youtu.be/wRZXw_xBT20
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: packet, LNG
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
pycon apac 2013 presentation
http://apac-2013.pycon.jp/ja/program/sessions.html#session-14-1110-rooma0762-en2-ja
videos are available at
http://www.youtube.com/watch?v=Ow-aXpMO8-o
As containers are being deployed as part of multi tenant clusters, virtual multi layer switches become essential to interconnect containers while providing isolation guarantees. Assigning tenants their own private networks requires stateful network address translation (NAT) implemented in a scalable architecture to expose containers to public networks. Existing virtual switches integrated into the Linux kernel did not support stateful NAT so far. This presentation introduces a new virtual NAT service deployable as container built using existing kernel functionality such as network namespaces, routing rules and Netfilter to provide NAT services to existing virtual switches such as Open vSwitch and the Linux bridge but also the core L3 layer of Linux.
LAS16-405:OpenDataPlane: Software Defined Dataplane leaderLinaro
LAS16-405: OpenDataPlane: Software Defined Dataplane leader
Speakers: François-Frédéric Ozog
Date: September 29, 2016
★ Session Description ★
You may think OpenDataPlane and DPDK are somewhat equivalent. But they are not. OpenDataPlane is about Software Defined Dataplanes while DPDK is a Software Dataplane. A Software Defined Dataplane can control a hardware only Dataplane in a way that packets can go from input port to output port without reaching a CPU core. With Software Dataplanes , all packets have to reach a CPU core. As a result, one vendor could leverage a Software Defined Dataplane to build a 100Tbps network box while it is not possible with a Software Dataplane.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-405
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-405/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
"Session ID: BUD17-300
Session Name: Journey of a packet - BUD17-300
Speaker: Maxim Uvarov
Track: LNG
★ Session Summary ★
Describe step by step what components a packet goes through and details cases when components are implemented in hardware or in software. Attendees will have the definite presentation to understand fundamental differences with DPDK and how ODP solves low end and high end networking issues.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-300/
Presentation: https://www.slideshare.net/linaroorg/bud17300-journey-of-a-packet
Video: https://youtu.be/wRZXw_xBT20
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: packet, LNG
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
14:00
12/11/2021
After the initial years of wireless IoT devices basing their networking on
proprietary protocols, home-grown by one vendor and in-compatibly to anything else, there is a shift to consolidate on IPv6.
In this talk, we will go briefly over 6lowpan as a technology that enabled a lot of these use-cases by providing compression techniques for low-power radio links with limited frame sizes. While its initial development was for IEEE 802.15.4 based networks it was quickly adopted for Bluetooth, NFC, PLC, and others.
This shift allowed the re-use of existing knowledge and concepts of TCP/IPv6 to be adopted into the IoT world, most notably the end-to-end concept, or rather the device-to-cloud concept for IoT. It also resulted in a reduced need for proxies translating between various proprietary networks and your home IP network.
In the future, this hopefully will result in a reduction of product-specific IoT
hubs in a network. An open source blueprint for such a gateway based on All Scenarios OS will be described, together with OpenThread and Matter (former CHIP) as example IPv6 based IoT turnkey solutions.
DPDK Summit 2015 - NTT - Yoshihiro NakajimaJim St. Leger
DPDK Summit 2015 in San Francisco.
NTT presentation by Yoshihiro Nakajima.
For additional details and the video recording please visit www.dpdksummit.com.
Kirill Tsym discusses Vector Packet Processing:
* Linux Kernel data path (in short), initial design, today's situation, optimization initiatives
* Brief overview of DPDK, Netmap, etc.
* Userspace Networking projects comparison: OpenFastPath, OpenSwitch, VPP.
* Introduction to VPP: architecture, capabilities and optimization techniques.
* Basic Data Flow and introduction to vectors.
* VPP Single and Multi-thread modes.
* Router and switch for namespaces example.
* VPP L4 protocol processing - Transport Layer Development Kit.
* VPP Plugins.
Kiril is a software developer at Check Point Software Technologies, part of Next Generation Gateway and Architecture team, developing proof of concept around DPDK and FD.IO VPP. He has years of experience in software, Linux kernel and networking development and has worked for Polycom, Broadcom and Qualcomm before joining Check Point.
Stefan Schmidt from the Open Source Group discusses the current and future status of IEEE 802.15.4 and 6LoWPAN in the linux kernel in this presentation for the 2015 Embedded Linux Conference.
Summit 16: How to Compose a New OPNFV Solution Stack?OPNFV
This session showcases how a new OPNFV solution stack (a.k.a. ""scenario"") is composed and stood up. We'll use a new solution stack framed around a new software forwarder (""VPP"") provided by the FD.io project as example for this session. The session discusses how an evolution/change of upstream components from OpenStack, OpenDaylight and FFD.io are put in place for the scenario, how installers and tests need to be evolved to allow for integration into OPNFV's continuous integration, deployment and test pipeline.
Cilium - Fast IPv6 Container Networking with BPF and XDPThomas Graf
We present a new open source project which provides IPv6 networking for Linux Containers by generating programs for each individual container on the fly and then runs them as JITed BPF code in the kernel. By generating and compiling the code, the program is reduced to the minimally required feature set and then heavily optimised by the compiler as parameters become plain variables. The upcoming addition of the Express Data Plane (XDP) to the kernel will make this approach even more efficient as the programs will get invoked directly from the network driver.
Let's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoTJian-Hong Pan
Video: https://www.youtube.com/watch?v=_lGN-LDyl2I
在萬物聯網的時代,透過通訊技術將量測到的物理量傳送到遠端伺服器是很一般的作法。但要這「通訊」如何達到低成本、符合使用情境的條件,仍然是個經典的問題。
特別是在需要長距離、低功耗與長生命週期的需求下,或許以 Low-Power Wide-Area Network (LPWAN) 為基礎的 LoRa 通訊技術是個不錯的選擇。
若是在程式底層的部份,將此基礎建設的通訊技術寫成個 LoRa 的 Linux Device Driver,一般使用者就可以單純專注在應用層面的開發、降低進入門檻。
這次將介紹如何寫出這 IEEE 802.15.4 MAC over LoRa PHY 的 Linux Device Driver。
期望經由此 driver 合併 IEEE 802.15.4 MAC 的 Cluster Tree Network topology 與 LoRa PHY 的 link budget 優勢,達到超大範圍的通訊覆蓋面積,以達到相關需求。
In the Internet of Things' era, transferring the measured physical values to the servers through the communication technology is the popular usage template. However, finding the lowest cost method that fulfills the usage scenarios, power issues and the real time requirements still is a classic engineering problem.
Under the long range and low power consumption for longer life cycle conditions, LoRa which is based on Low-Power Wide-Area Network (LPWAN) might be one of the good choices. Moreover, if it goes with a LoRa Linux device driver, general users can focus on the development of related upper layer applications.
This time, I will introduce how to write an IEEE 802.15.4 MAC over LoRa PHY Linux device driver and its architecture. Hope this approach will gain more benefits by combining both advantages: Cluster Tree Network of IEEE 802.15.4 MAC and the good link budget of LoRa PHY.
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...Jim St. Leger
Thomas Monjalon, 6WIND, presents on where/how to use DPDK, the DPDK ecosystem, and the DPDK.org community.
Thomas is the community maintainer of DPDK.org.
Stacks and Layers: Integrating P4, C, OVS and OpenStackOpen-NFP
Smart Network Interface Cards (SmartNICs) are increasingly being deployed in cloud data centers to offload inline network processing tasks from server CPUs, thereby improving system throughput while freeing up server CPU cycles for application processing. The match/action and tunnel handling semantics of SmartNIC datapaths can be either expressed directly in the P4 language, be defined by virtual switching software like Open vSwitch (implementing the semantics of a specification like OpenFlow), or by using a combination of these. This presentation compares these approaches, considering aspects like the expressiveness and performance of the resulting datapath as well how these datapath variants can be integrated into existing cloud management systems (e.g. OpenStack).
Johann Tönsing
Chief Architect & SVP, Software, Netronome
Johann is a recognized industry expert in SDN, Linux-based networking technologies, network virtualization, security, and NFV. Johann has been an active contributing member and has been nominated to leadership roles in multiple standards bodies related to SDN and NFV. As Netronome’s Chief Architect, Johann leads all aspects of Netronome’s product design and development, with heavy emphasis on advanced and open server-based networking technologies where he also holds multiple patents. He holds a Masters of Engineering in Electronics.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Mobile App Development Company In Noida | Drona Infotech
Run Your Own 6LoWPAN Based IoT Network
1. Run Your Own 6LoWPAN
Based IoT Network
2016-10-11, Berlin
Stefan Schmidt
stefan@osg.samsung.com
Samsung Open Source Group
2. Agenda
● Motivation
● Linux-wpan Project
● Wpan-tools
● Hardware and Basic Setup
● Communication with RIOT and Contiki
● Link Layer Security
● Routing: Route-over and Mesh-under
3. Demo Show Case
● Demonstration at the ELC-E Show Cases
● Linux-wpan on a Raspberry Pi
● RIOT on Particle Photon node
● JerryScript (JS engine) on both,
communicating over 6LoWPAN
● Tetris network game
5. IEEE 802.15.4
● IEEE specifications for Low-Rate Wireless
Personal Area Networks
● Not only low-rate, but also low-power
● Designed for small sensors to run years
on battery with the right duty cycle
● 127 bytes MTU and 250 kbit/s
● PHY and MAC layers used in ZigBee
6. 6LoWPAN
● Physical and MAC layer defined by IEEE 802.15.4
from 2003 onwards
● Series of IETF specifications from 2007 onwards
(RFCs 4944, 6282, etc)
L3 Network Layer
L4 Transport Layer
L1 Physical Layer
L5 Application Layer
L2 Data Link Layer
IP
TCP | UDP | ICMP
Ethernet PHY
Application
Ethernet MAC
IPv6
UDP | ICMPv6
6LoWPAN
IEEE 802.15.4 PHY
Application
IEEE 802.15.4 MAC
7. The Header Size Problem
● Worst-case scenario calculations
● Maximum frame size in IEEE 802.15.4: 127 bytes
● Reduced by the max. frame header (25 bytes): 102 bytes
● Reduced by highest link-layer security (21 bytes): 81 bytes
● Reduced by standard IPv6 header (40 bytes): 41 bytes
● Reduced by standard UDP header (8 bytes): 33 bytes
● This leaves only 33 bytes for actual payload
● The rest of the space is used by headers (~ 3:1 ratio)
Frame Header (25) LLSEC (21) IPv6 Header (40) UDP Payload (33)
8. The Header Size Solution
● IPv6 with link-local and UDP on top
● IPHC with NHC for UDP
● The 48 bytes IPv6 + UDP header could in
the best cases be reduced to 6 bytes
● That allows for a payload of 75 bytes (~ 2:3
ratio)
Frame Header (25) LLSEC (21) 6 Payload (75)
Dispatch (1) LOWPAN_IPHC (1) LOWPAN_NHC (1) UDP Ports (1) UDP Checksum (2)
9. Linux-wpan
● Platforms already running Linux would benefit from
native 802.15.4 and 6LoWPAN subsystems
● 802.15.4 transceivers can easily be added to
existing hardware designs
● Battery powered sensors on the other hand are
more likely to run an OS like RIOT or Contiki
● Example 1: Google OnHub AP which already comes
with, de-activated, 802.15.4 hardware
● Example 2: Ci40 Creator board as home IoT hub
11. Linux-wpan Project
● IEEE 802.15.4 and 6LoWPAN support in mainline Linux
● Started in 2008 as linux-zigbee project on
SourceForge
● First steps of mainlining in 2012
● New project name to avoid confusion: linux-wpan
● New maintainer: Alexander Aring, Pengutronix
● Normal kernel development model
● Patches are posted and reviewed on the mailing list
12. Linux-wpan Community
● Small community: 2 core devs and ~4
additional people for specific drivers
● Linux-wpan mailing list (~94 people)
● #linux-wpan on Freenode (~25 people)
● https://github.com/linux-wpan (no PR model)
● http://wpan.cakelab.org used for wpan-tools
releases
13. Current Status
● ieee802154 layer with softMAC driver for various
transceivers
●
6LoWPAN with fragmentation and reassembly
(RFC 4944)
● Header compression with IPHC and NHC for UDP
(RFC 6282), shared with BT subsystem
●
Link Layer Security
●
Testing between Linux, RIOT and Contiki
●
Mainline 4.1 onwards recommended
14. Development Boards
● Ci40 Creator (CA-8210)
● Raspberry Pi with Openlabs shield (AT86RF233)
● ARTIK 5/10 (802.15.4 network soc)
● Various transceivers can be hooked up via SPI
(all drivers have devicetree bindings)
● ATUSB USB dongle
15. 6LoWPAN Fragmentation
● IPv6 requires the link to allow for a MTU of at least 1280
bytes
● This is impossible to handle in the 127 bytes MTU of IEEE
802.15.4
● 6LoWPAN 11 bit fragmentation header allows for 2048
bytes packet size with fragmentation
● But fragmentation can still lead to bad performance in
lossy networks, best to avoid it in the first place
16. IPv6 Header Compression (IPHC)
●
Defining some default values in IPv6 header
– Version == 6, traffic class & flow-label == 0, hop-limit only well-known values (1, 64, 255)
– Remove the payload length (available in 6LoWPAN fragment header or data-link header)
●
IPv6 stateless address auto configuration based on L2 address
– Omit the IPv6 prefix (global known by network, link-local defined by compression
(FE80::/64)
– Extended: EUI-64 L2 address use as is
– Short: pseudo 48 bit address based short address: PAN_ID:16 bit zero:SHORT_ADDRESS
Version
Source Address
(128 bit)
Destination Address
(128 bit)
Traffic Class Flow Label (20 bit)
Payload Length (16 bit) Next Header Hop Limit (8 bit)
Source Address
Dispatch
6LoWPAN Header IPHC multi-hop (7 bytes)
Hop LimitLoWPAN_IPHC
Destination Address
Dispatch
6LoWPAN Header IPHC link-local (2 bytes)
LoWPAN_IPHC
17. Next Header Compression
● NHC IPv6 Extension Header compression (RFC6282)
– Hop-by-Hop, Routing Header, Fragment Header, Destination
Options Header, Mobility Header
● NHC UDP Header compression (RFC6282)
– Compressing ports range to 4 bits
– Allows to omit the UDP checksum for cases where upper layers
handle message integrity checks
● GHC: LZ-77 style compression with byte codes (RFC7400)
– Appending zeroes, back referencing to a static dictionary and copy
– Useful for DTLS or RPL (addresses elided from dictionary)
19. Iwpan
● Netlink interface ideas as well as code borrowed from the
iw utility
● Used to configure PHY and MAC layer parameters
● Including channel, PAN ID, power setting, short address,
frame retries, etc
● Version 0.7 with network namespace support released two
weeks ago
● Packaged by some distributions (Fedora and Debian up to
date, Ubuntu on 0.5, OpenSUSE, Gentoo, Arch, etc missing)
20. Wpan-ping
● Ping utility on the 802.15.4 layer
● Not a full ICMP ping replacement, but good
enough for some basic testing and measurements
# run on server side
$ wpan-ping –-daemon
# run on client side
$ wpan-ping –-count 100 –extended –-address
00:11:22:33:44:55:66:77
22. Hardware Support
● Mainline drivers for at86rf2xx, mrf24j40, cc2520,
atusb and adf7242
● Pending driver for ca-8210
● Old out of tree driver for Xbee
● Most transceiver easy to hook up to SPI and some GPIOs
● ATUSB available as USB dongle to be used on your
normal workstation (sold out but a new batch is
being produced)
23. Devicetree Bindings
● Boards need
devicetree support
● All our drivers have
bindings
● Example for the
at86rf233:
&spi {
status = "okay";
at86rf233@0 {
compatible = "atmel,at86rf233";
spi-max-frequency = <6000000>;
reg = <0>;
interrupts = <23 4>;
interrupt-parent = <&gpio>;
reset-gpio = <&gpio 24 1>;
sleep-tpio = <&gpio 25 1>;
xtal-trim = /bits/ 8 <0x0F>;
};
};
24. Virtual Driver
● Fake loopback driver (similar to hwsim of wireless)
● Great for testing
● Support for RIOT and OpenThread to use this when
running as native Linux process
● Will help interop testing between the different
network stacks in an virtual environment
$ modprobe fakelb numlbs=4
$ Configure for Linux, RIOT, OpenThread and monitor
25. Interface Bringup
● The wpan0 interface shows up automatically
● Setting up the basic parameters:
$ ip link set lowpan0 down
$ ip link set wpan0 down
$ iwpan dev wpan0 set pan_id 0xabcd
$ iwpan phy phy0 set channel 0 26
$ ip link add link wpan0 name lowpan0 type lowpan
$ ip link set wpan0 up
$ ip link set lowpan0 up
27. Monitoring
● Setting up the interface in promiscuous mode:
$ iwpan dev wpan0 del
$ iwpan phy phy0 interface add monitor%d type monitor
$ iwpan phy phy0 set channel 0 26
$ ip link set monitor0 up
$ wireshark -i monitor0
● No automatic channel hopping (you can change the
channel manually in the background)
29. RIOT
● “The friendly Operating System for the
Internet of Things” (LGPL)
● Testing against Linux-wpan part of the
release testing process for RIOT
● Active developer discussions and bug
fixing between projects
30. Contiki
● “The Open Source OS for the Internet of Things”
(BSD)
● Very fragmented project
● Sadly many forks for academic or commercial
purpose which have a hard time to get merged
● Still an important role as IoT OS for tiny devices
31. Comparison
Feature Linux RIOT Contiki
IEEE 802.15.4: data and ACK frames ✔ ✔ ✔
IEEE 802.15.4: beacon and MAC command frames ✘ ✘ ✘
IEEE 802.15.4: scanning, joining, PAN coordinator ✘ ✘ ✘
IEEE 802.15.4: link layer security ✔ ✘ ✔
6LoWPAN: frame encapsulation, fragmentation, addressing (RFC 4944) ✔ ✔ ✔
6LoWPAN: IP header compression (RFC 6282) ✔ ✔ ✔
6LoWPAN: next header compression, UDP only (RFC 6282) ✔ ✔ ✔
6LoWPAN: generic header compression (RFC 7400) ✘ ✘ ✘
6LoWPAN: neighbour discovery optimizations (RFC 6775) Partial ✔ ✘
RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks ✔ ✔ ✔
Mesh link establishment draft ✘ ✘ ✘
32. Others
● Mbed OS from ARM: network stack is
closed source so nothing to test against
● Zephyr: network stack from Contiki used
right now but a new one is planned
● OpenThread: Open Source
implementation of the Thread protocol
34. Link Layer Security
● Specified by IEEE 802.15.4
● It defines confidentiality (AES-CTR), integrity (AES
CBC-MAC) and encryption and authentication (AES
CCM) security suites
● Key handling, key exchange, roll over, etc is not defined
● Tested Linux against Linux and Contiki 3.0
● No way to test against RIOT as they have no LLSEC
support right now
35. LLSEC Linux-wpan
● Needs the llsec branch in wpan-tools for
configuration
● CONFIG_IEEE802154_NL802154_EXPERIMENTAL
$ iwpan dev wpan0 set security 1
$ iwpan dev wpan0 key add 2 $KEY 0 $PANID 3 $EXTADDR
$ iwpan dev wpan0 seclevel add 0xff 2 0
$ iwpan dev wpan0 device add 0 $PANID $SHORTADDR $EXTADDR 0
0
36. LLSEC Contiki 3.0
● You need the following Contiki build options
configured in your project-conf.h to make use of
LLSEC with network wide key:
#define NETSTACK_CONF_LLSEC noncoresec_driver
#define LLSEC802154_CONF_SECURITY_LEVEL FRAME802154_SECURITY_LEVEL_ENC_MIC_32
#define NONCORESEC_CONF_KEY {
0x00, 0x01, 0x02, 0x03,
0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0A, 0x0B,
0x0C, 0x0D, 0x0E, 0x0F,
}
38. Mesh-under
● Allows fast forwarding of packets in a mesh without travelling
the IP stack
● IEEE 802.15.4 does not include mesh routing in the MAC specification
● Thus the mesh implementations sit above the MAC but below the
network layer
● Various (proprietary) implementations
● 6LoWPAN specification has a field for mesh headers
● No support in Linux-wpan for mesh header as of now
● Lost fragments of bigger packets will cause troubles
● Mesh Link Establishment draft at IETF
39. RPL
● IPv6 Routing Protocol for Low-Power and
Lossy Networks (RFC6550)
● Route over protocol
● Implementations in RIOT and Contiki
● Unstrung as Linux userspace reference
● Bit rotted in-kernel RPL demo patches out
there
41. Linux-wpan Future
●
Implement missing parts of the 802.15.4 specification
● Beacon and MAC command frame support
● Coordinator support in MAC layer and wpan-tools
● Scanning
● Improve existing drivers and add support for new hardware
● Neighbour Discovery Optimizations (RFC 6775), started
●
Evaluate running OpenThread on top of linux-wpan
●
Configuration interface for various header compression
modules
●
Expose information for route-over and mesh-under protocols
43. Take away
● Running an IEEE 802.15.4 wireless
network under Linux is not hard
● Tooling and kernel support is already
there
● Border router scenario most likely use
case but nodes or routers also possible