lkml.org 
[lkml]   [2018]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH V2 0/7] net: lorawan: Add LoRaWAN soft MAC module
    Date
    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.

    Jian-Hong Pan (7):
    net: lorawan: Add macro and definition for LoRaWAN
    net: lorawan: Add LoRaWAN socket module
    net: lorawan: Add LoRaWAN API declaration for LoRa devices
    net: maclorawan: Add maclorawan module declaration
    net: maclorawan: Implement the crypto of maclorawan module
    net: maclorawan: Implement maclorawan class module
    net: lorawan: List LORAWAN in menuconfig

    include/linux/lora/lorawan.h | 137 ++++++
    include/linux/lora/lorawan_netdev.h | 52 +++
    include/linux/socket.h | 5 +-
    include/uapi/linux/if_arp.h | 1 +
    include/uapi/linux/if_ether.h | 1 +
    net/Kconfig | 2 +
    net/Makefile | 2 +
    net/core/dev.c | 4 +-
    net/lorawan/Kconfig | 10 +
    net/lorawan/Makefile | 2 +
    net/lorawan/socket.c | 681 ++++++++++++++++++++++++++++
    net/maclorawan/Kconfig | 14 +
    net/maclorawan/Makefile | 2 +
    net/maclorawan/crypto.c | 209 +++++++++
    net/maclorawan/crypto.h | 27 ++
    net/maclorawan/mac.c | 522 +++++++++++++++++++++
    net/maclorawan/maclorawan.h | 199 ++++++++
    net/maclorawan/main.c | 600 ++++++++++++++++++++++++
    security/selinux/hooks.c | 4 +-
    security/selinux/include/classmap.h | 4 +-
    20 files changed, 2473 insertions(+), 5 deletions(-)
    create mode 100644 include/linux/lora/lorawan.h
    create mode 100644 include/linux/lora/lorawan_netdev.h
    create mode 100644 net/lorawan/Kconfig
    create mode 100644 net/lorawan/Makefile
    create mode 100644 net/lorawan/socket.c
    create mode 100644 net/maclorawan/Kconfig
    create mode 100644 net/maclorawan/Makefile
    create mode 100644 net/maclorawan/crypto.c
    create mode 100644 net/maclorawan/crypto.h
    create mode 100644 net/maclorawan/mac.c
    create mode 100644 net/maclorawan/maclorawan.h
    create mode 100644 net/maclorawan/main.c

    --
    2.19.1

    \
     
     \ /
      Last update: 2018-11-05 17:57    [W:4.023 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site