netdev 1.1 Alexander Aring Pengutronix <aar@pengutronix.de> - - PowerPoint PPT Presentation

netdev 1 1
SMART_READER_LITE
LIVE PREVIEW

netdev 1.1 Alexander Aring Pengutronix <aar@pengutronix.de> - - PowerPoint PPT Presentation

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) State and Future of Generic 6LoWPAN Branch netdev 1.1 Alexander Aring Pengutronix <aar@pengutronix.de> Slide 1 -


slide-1
SLIDE 1

Slide 1 - http://www.pengutronix.de – 02/10/2016

State and Future of Generic 6LoWPAN Branch

netdev 1.1

Alexander Aring Pengutronix <aar@pengutronix.de>

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-2
SLIDE 2

Slide 2 - http://www.pengutronix.de – 02/10/2016

6LoWPAN IPv6 over Low-Power Wireless Personal Area Networks

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-3
SLIDE 3

Slide 3 - http://www.pengutronix.de – 02/10/2016

LoWPAN Properties

  • Wireless
  • Low-Range
  • Low-Rate
  • Low-Power

Examples

  • IEEE 802.15.4
  • Bluetooth

Low-Energy

  • NFC

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-4
SLIDE 4

Slide 4 - http://www.pengutronix.de – 02/10/2016

6LoWPAN – Adaptation

IPv6 UDP TCP ... … 6LoWPAN Application-Layer Transport-Layer Packet-Layer Adaptation-Layer LoWPAN Link-Layer

BTLE/802.15.4/NFC

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-5
SLIDE 5

Slide 5 - http://www.pengutronix.de – 02/10/2016

6LoWPAN – Adaptation What is 6LoWPAN?

IANA 6LoWPAN Headers

IPHC NHC FRAG MESH HC1 IPV6 IPv6+NH compression Fragmentation Addressing Raw IPv6

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-6
SLIDE 6

Slide 6 - http://www.pengutronix.de – 02/10/2016

6LoWPAN – Adaptation

IPv6 6LoWPAN LoWPAN Compression Fragmentation De-compression Reassembly

What does 6LoWPAN do?

tx rx 6LoWPAN Header IPv6 Header

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-7
SLIDE 7

Slide 7 - http://www.pengutronix.de – 02/10/2016

6LoWPAN – Adaptation 6LoWPAN headers are defjned

  • riginally for 802.15.4

Newly introduced 6LoWPAN adaptations (e.g. BTLE) use them!

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-8
SLIDE 8

Slide 8 - http://www.pengutronix.de – 02/10/2016

6LoWPAN – Adaptation

Example

BTLE 6LoWPAN – RFC 7668 “… the IPv6 header compression format specifjed in RFC 6282 MUST be used.”

802.15.4 IPHC 6LoWPAN

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-9
SLIDE 9

Slide 9 - http://www.pengutronix.de – 02/10/2016

6LoWPAN – Adaptation

802.15.4 6LoWPAN BTLE 6LoWPAN

Shared

IPHC NHC FRAG MESH FRAG Provided by BTLE May be not adapted for BTLE yet HC1 deprecated IPV6

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-10
SLIDE 10

Slide 10 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN IMPORTANT There are two approaches to provide 6LoWPAN under Linux 1) External Routing Device 2) The full Linux way

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-11
SLIDE 11

Slide 11 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN What we don't do!

IPv6 UDP TCP ... … 6LoWPAN LoWPAN

Linux External Device

IPv6 (SLIP)

IPv6

Just a “small” routing device

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-12
SLIDE 12

Slide 12 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN What we do!

IPv6 UDP TCP ... … 6LoWPAN

Linux Transceiver

Raw LoWPAN (Bus)

LoWPAN

Still AF_INET6

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-13
SLIDE 13

Slide 13 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN Current Kernel Situation

  • Supported 6LoWPAN Link-Layers
  • IEEE 802.15.4
  • Bluetooth Low-Energy

Directories

  • Generic 6LoWPAN
  • net/6lowpan/
  • Link-Layer 6LoWPAN specifjc
  • net/ieee802154/6lowpan/
  • net/bluetooth/6lowpan.c

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-14
SLIDE 14

Slide 14 - http://www.pengutronix.de – 02/10/2016

Userspace

Linux – Generic 6LoWPAN Provide a 6LoWPAN Framework

LoWPAN Link-Layer 6LoWPAN

Your $WHATEVER Link-Layer

Generic 6LoWPAN

  • Framework
  • Header handling
  • Interface registration
  • Userspace API

IPv6

...

6LoWPAN-Interface

  • Virtual
  • ARPHRD_6LOWPAN
  • Raw IPv6 view
  • 1280 bytes MTU

Can be not specified by IETF for 6LoWPAN yet

  • Subscribe packet-layer
  • Transmit queueing
  • Special frame handling, etc.

Shared-Layer

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-15
SLIDE 15

Slide 15 - http://www.pengutronix.de – 02/10/2016

Linux – Generic 6LoWPAN Example 802.15.4

802.15.4 802.15.4 6LoWPAN

802.15.4 MAC-Layer

Generic 6LoWPAN 802.15.4-Interface 6LoWPAN-Interface IPv6

802.15.4 Interface based

  • Filter 802.15.4 dataframes
  • Parse 802.15.4 addresses
  • All 6LoWPAN Headers
  • Fragmentation
  • IPHC + NHC
  • Builds IPv6 packets

ToDo

127 bytes MTU 1280 bytes MTU

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-16
SLIDE 16

Slide 16 - http://www.pengutronix.de – 02/10/2016

Linux – Generic 6LoWPAN Generic 6LoWPAN Put all 6LoWPAN handling there and make it modular! (T

  • Do)
  • Load necessary modules only
  • Small link-layer specifjc handling
  • Abstract one userspace API
  • One interface type from userspace

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-17
SLIDE 17

Slide 17 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN Remember this? Is 6LoWPAN an adaptation layer

  • nly?

IPv6 6LoWPAN LoWPAN

Needs special 6LoWPAN handling?

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-18
SLIDE 18

Slide 18 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN Most parts can be done by adaptation but there exist…, RFC 6775 - Neighbor Discovery Optimization for 6LoWPANs (TODO)

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-19
SLIDE 19

Slide 19 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN and Ndisc

Image-Source: RFC 6775 - Address Registration Multihop DAD

New Option-Fields New Messages Border-Router IPv6<=>6LoWPAN Router Node

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-20
SLIDE 20

Slide 20 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN and Ndisc Don't Worry! We are for a friendly co-existence inside IPv6! 1) T alking with the Maintainers! 2) We need a plan! 3) Kernelspace vs userspace? 4) Roles and kernelspace?

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-21
SLIDE 21

Slide 21 - http://www.pengutronix.de – 02/10/2016

Linux – 6LoWPAN Routing IETF ROLL Group Routing Over Low-Power and Lossy networks

Candidate: RPL (pronounced: “ripple”)

  • Open Standard (IETF)
  • Route over: ICMPv6 based
  • OS userspace implementation

unstrung.sandelman.ca

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)

slide-22
SLIDE 22

Slide 22 - http://www.pengutronix.de – 02/10/2016

Questions?

Mailinglists: linux-wpan@vger.kernel.org linux-bluetooth@vger.kernel.org

Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain)