From: Jian-Hong Pan <starnight@g.ncu.edu.tw>
To: "Andreas Färber" <afaerber@suse.de>,
netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, "Jiri Pirko" <jiri@resnulli.us>,
"Marcel Holtmann" <marcel@holtmann.org>,
"David S. Miller" <davem@davemloft.net>,
"Matthias Brugger" <mbrugger@suse.com>,
"Janus Piwek" <jpiwek@arroweurope.com>,
"Michael Röder" <michael.roeder@avnet.eu>,
"Dollar Chen" <dollar.chen@wtmec.com>,
"Ken Yu" <ken.yu@rakwireless.com>,
"Konstantin Böhm" <konstantin.boehm@ancud.de>,
"Jan Jongboom" <jan.jongboom@arm.com>,
"Jon Ortego" <Jon.Ortego@imst.de>,
"contact@snootlab.com" <contact@snootlab.com>,
"Ben Whitten" <ben.whitten@lairdtech.com>,
"Brian Ray" <brian.ray@link-labs.com>,
lora@globalsat.com.tw, "Alexander Graf" <agraf@suse.de>,
"Michal Kubeček" <mkubecek@suse.cz>,
"Rob Herring" <robh@kernel.org>,
devicetree@vger.kernel.org, "Steve deRosier" <derosier@gmail.com>,
"Mark Brown" <broonie@kernel.org>,
linux-spi@vger.kernel.org,
"Pieter ROBYNS" <pieter.robyns@uhasselt.be>,
"Hasnain Virk" <Hasnain.Virk@arm.com>,
"linux-wpan - ML" <linux-wpan@vger.kernel.org>,
"Stefan Schmidt" <stefan@datenfreihafen.org>,
"Daniele Comel" <dcomel@mipot.com>,
shess@hessware.de, "Xue Liu" <liuxuenetmail@gmail.com>
Cc: Jian-Hong Pan <starnight@g.ncu.edu.tw>
Subject: [RFC 0/3 net] lorawan: Add LoRaWAN soft MAC module
Date: Fri, 24 Aug 2018 01:15:40 +0800 [thread overview]
Message-ID: <cover.1535039998.git.starnight@g.ncu.edu.tw> (raw)
LoRaWAN(TM) is the MAC layer defined by LoRa Alliance(TM) over LoRa
devices. LoRa is one of Low-Power Wide-Area Network (LPWAN) technology.
LoRaWAN networks typically are laid out in a star-of-stars topology in
which gateways relay messages between end-devices and a central network
server at the backend. Gateways are connected to the network server via
standard IP connections while end-devices use single hop LoRa(TM) or FSK
communication to one or many gateways.
A LoRa network distinguishes between a basic LoRaWAN (named Class A) and
optional features (Class B, Class C ...):
* Bi-directional end-devices (Class A)
* Bi-directional end-devices with scheduled receive slots (Class B)
* Bi-directional end-devices with maximal receive slots (Class C)
This patch set add LoRaWAN class module implementing the stack,
especially the soft MAC, between socket APIs and LoRa device drivers.
socket APIs:
send and receive the data
------------------------------------------------------------------------
LoRaWAN class module implements soft MAC:
append the header/footer, encryption/decryption, timing slot and MAC
commands
------------------------------------------------------------------------
LoRa device drivers:
send and receive the messages for MAC layer
------------------------------------------------------------------------
LoRa devices
This module starts from simple and implements partial Class A
end-devices features defined in LoRaWAN(TM) Specification Ver. 1.0.2.
More features and complexity, for example regional parameters, confirmed
data messages, join request/accept messages for Over-The-Air Activation,
MAC commands ... will be added in the future.
Besides, I upload these patches and open discussion. For example, the
more common/flexible interface for compatible LoRa device drivers and
protocols implementation, etc.
Another idea mentioned by Andreas: Make PF_LORA and PF_LORAWAN like
PF_INET and PF_INET6 exist at the same time. That is also interesting.
Jian-Hong Pan (3):
lorawan: Add LoRaWAN class module
lorawan: Add macro and definition for LoRaWAN class modlue
lorawan: List LORAWAN in menuconfig
include/linux/maclorawan/lora.h | 239 ++++++++++
include/linux/socket.h | 5 +-
include/uapi/linux/if_arp.h | 1 +
include/uapi/linux/if_ether.h | 1 +
net/Kconfig | 1 +
net/Makefile | 1 +
net/core/dev.c | 4 +-
net/maclorawan/Kconfig | 14 +
net/maclorawan/Makefile | 2 +
net/maclorawan/lorawan.h | 219 +++++++++
net/maclorawan/lrwsec.c | 237 ++++++++++
net/maclorawan/lrwsec.h | 57 +++
net/maclorawan/mac.c | 552 ++++++++++++++++++++++
net/maclorawan/main.c | 665 ++++++++++++++++++++++++++
net/maclorawan/socket.c | 700 ++++++++++++++++++++++++++++
security/selinux/hooks.c | 4 +-
security/selinux/include/classmap.h | 4 +-
17 files changed, 2701 insertions(+), 5 deletions(-)
create mode 100644 include/linux/maclorawan/lora.h
create mode 100644 net/maclorawan/Kconfig
create mode 100644 net/maclorawan/Makefile
create mode 100644 net/maclorawan/lorawan.h
create mode 100644 net/maclorawan/lrwsec.c
create mode 100644 net/maclorawan/lrwsec.h
create mode 100644 net/maclorawan/mac.c
create mode 100644 net/maclorawan/main.c
create mode 100644 net/maclorawan/socket.c
--
2.18.0
next reply other threads:[~2018-08-23 20:49 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-23 17:15 Jian-Hong Pan [this message]
2018-08-23 17:15 ` [RFC 1/3 net] lorawan: Add LoRaWAN class module Jian-Hong Pan
2018-08-23 17:43 ` Randy Dunlap
2018-08-24 15:58 ` Jian-Hong Pan
2018-09-23 16:40 ` Andreas Färber
2018-09-26 15:52 ` Jian-Hong Pan
2018-11-05 16:55 ` [PATCH V2 0/7] net: lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan
2018-11-05 16:55 ` [PATCH V2 1/7] net: lorawan: Add macro and definition for LoRaWAN Jian-Hong Pan
2018-11-05 16:55 ` [PATCH V2 2/7] net: lorawan: Add LoRaWAN socket module Jian-Hong Pan
2018-11-05 18:16 ` David Miller
2018-11-06 14:28 ` Jian-Hong Pan
2018-11-14 16:01 ` [PATCH V3 0/7] net: lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan
2018-11-14 16:01 ` [PATCH V3 1/7] net: lorawan: Add macro and definition for LoRaWAN Jian-Hong Pan
2018-11-14 16:12 ` Andreas Färber
2018-11-17 6:47 ` Jian-Hong Pan
2018-11-14 16:01 ` [PATCH V3 2/7] net: lorawan: Add LoRaWAN socket module Jian-Hong Pan
2018-11-17 4:32 ` David Miller
2018-11-17 14:54 ` Jian-Hong Pan
2018-12-04 14:13 ` [PATCH V4 0/6] net: lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan
2018-12-04 14:13 ` [PATCH V4 1/6] net: lorawan: Add LoRaWAN socket module Jian-Hong Pan
2018-12-04 14:13 ` [PATCH V4 2/6] net: lorawan: Add LoRaWAN API declaration for LoRa devices Jian-Hong Pan
2018-12-04 14:13 ` [PATCH V4 3/6] net: maclorawan: Add maclorawan module declaration Jian-Hong Pan
2018-12-04 14:13 ` [PATCH V4 4/6] net: maclorawan: Implement the crypto of maclorawan module Jian-Hong Pan
2018-12-04 14:13 ` [PATCH V4 5/6] net: maclorawan: Implement maclorawan class module Jian-Hong Pan
2018-12-04 20:45 ` Alan Cox
2018-12-09 8:27 ` Jian-Hong Pan
2018-12-16 10:18 ` [PATCH v5 0/6] net: lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan
2018-12-17 13:51 ` Jiri Pirko
2018-12-16 10:18 ` [PATCH v5 1/6] net: lorawan: Add LoRaWAN socket module Jian-Hong Pan
2018-12-29 7:27 ` Andreas Färber
2019-01-07 14:47 ` Jian-Hong Pan
2019-01-13 14:51 ` Jian-Hong Pan
2018-12-16 10:18 ` [PATCH v5 2/6] net: lorawan: Add LoRaWAN API declaration for LoRa devices Jian-Hong Pan
2018-12-16 10:18 ` [PATCH v5 3/6] net: maclorawan: Add maclorawan module declaration Jian-Hong Pan
2018-12-16 10:18 ` [PATCH v5 4/6] net: maclorawan: Implement the crypto of maclorawan module Jian-Hong Pan
2018-12-16 10:18 ` [PATCH v5 5/6] net: maclorawan: Implement maclorawan class module Jian-Hong Pan
2018-12-17 14:02 ` Jiri Pirko
2018-12-18 14:27 ` Jian-Hong Pan
2018-12-18 14:27 ` Jiri Pirko
2018-12-18 15:34 ` Jian-Hong Pan
2018-12-18 18:49 ` Andreas Färber
2018-12-19 11:27 ` Ben Whitten
2018-12-19 16:26 ` Jian-Hong Pan
2018-12-20 9:20 ` Xue Liu
2018-12-20 16:00 ` Jian-Hong Pan
2018-12-28 8:11 ` Netlink userspace tools for LoRa(WAN), FSK, Sigfox, BLE, etc. (was: [PATCH v5 5/6] net: maclorawan: Implement maclorawan class module) Andreas Färber
2018-12-28 15:49 ` Alexander Aring
2018-12-20 10:19 ` [PATCH v5 5/6] net: maclorawan: Implement maclorawan class module Ben Whitten
2018-12-20 15:31 ` Andreas Färber
2018-12-16 10:19 ` [PATCH v5 6/6] net: lorawan: List LORAWAN in menuconfig Jian-Hong Pan
2018-12-17 8:50 ` Xue Liu
2018-12-17 14:19 ` Andreas Färber
2018-12-18 13:50 ` Xue Liu
2018-12-24 15:32 ` Alexander Aring
2018-12-28 4:57 ` Andreas Färber
2018-12-28 15:43 ` Alexander Aring
2018-12-29 6:28 ` Andreas Färber
2018-12-04 14:13 ` [PATCH V4 " Jian-Hong Pan
2018-11-14 16:01 ` [PATCH V3 3/7] net: lorawan: Add LoRaWAN API declaration for LoRa devices Jian-Hong Pan
2018-11-14 16:01 ` [PATCH V3 4/7] net: maclorawan: Add maclorawan module declaration Jian-Hong Pan
2018-11-17 4:32 ` David Miller
2018-11-17 6:32 ` Jian-Hong Pan
2018-11-14 16:01 ` [PATCH V3 5/7] net: maclorawan: Implement the crypto of maclorawan module Jian-Hong Pan
2018-11-14 16:01 ` [PATCH V3 6/7] net: maclorawan: Implement maclorawan class module Jian-Hong Pan
2018-11-14 16:01 ` [PATCH V3 7/7] net: lorawan: List LORAWAN in menuconfig Jian-Hong Pan
2018-11-05 16:55 ` [PATCH V2 3/7] net: lorawan: Add LoRaWAN API declaration for LoRa devices Jian-Hong Pan
2018-11-05 16:55 ` [PATCH V2 4/7] net: maclorawan: Add maclorawan module declaration Jian-Hong Pan
2018-11-05 16:55 ` [PATCH V2 5/7] net: maclorawan: Implement the crypto of maclorawan module Jian-Hong Pan
2018-11-05 16:55 ` [PATCH V2 6/7] net: maclorawan: Implement maclorawan class module Jian-Hong Pan
2018-11-05 16:55 ` [PATCH V2 7/7] net: lorawan: List LORAWAN in menuconfig Jian-Hong Pan
2018-08-23 17:15 ` [RFC 2/3 net] lorawan: Add macro and definition for LoRaWAN class modlue Jian-Hong Pan
2018-09-23 16:06 ` Andreas Färber
2018-09-26 14:46 ` Jian-Hong Pan
2018-08-23 17:15 ` [RFC 3/3 net] lorawan: List LORAWAN in menuconfig Jian-Hong Pan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1535039998.git.starnight@g.ncu.edu.tw \
--to=starnight@g.ncu.edu.tw \
--cc=Hasnain.Virk@arm.com \
--cc=Jon.Ortego@imst.de \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=ben.whitten@lairdtech.com \
--cc=brian.ray@link-labs.com \
--cc=broonie@kernel.org \
--cc=contact@snootlab.com \
--cc=davem@davemloft.net \
--cc=dcomel@mipot.com \
--cc=derosier@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dollar.chen@wtmec.com \
--cc=jan.jongboom@arm.com \
--cc=jiri@resnulli.us \
--cc=jpiwek@arroweurope.com \
--cc=ken.yu@rakwireless.com \
--cc=konstantin.boehm@ancud.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux-wpan@vger.kernel.org \
--cc=liuxuenetmail@gmail.com \
--cc=lora@globalsat.com.tw \
--cc=marcel@holtmann.org \
--cc=mbrugger@suse.com \
--cc=michael.roeder@avnet.eu \
--cc=mkubecek@suse.cz \
--cc=netdev@vger.kernel.org \
--cc=pieter.robyns@uhasselt.be \
--cc=robh@kernel.org \
--cc=shess@hessware.de \
--cc=stefan@datenfreihafen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).