linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	slapin@ossfans.org, davem@davemloft.net,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Subject: [PATCH 4/5] ieee802154: add documentation about our stack
Date: Fri,  5 Jun 2009 06:29:49 +0400	[thread overview]
Message-ID: <1244168990-28355-5-git-send-email-dbaryshkov@gmail.com> (raw)
In-Reply-To: <1244168990-28355-4-git-send-email-dbaryshkov@gmail.com>

Add MAINTAINERS entry and a small text describing our stack interfaces,
how to hook the drivers, etc.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Sergey Lapin <slapin@ossfans.org>
---
 Documentation/networking/ieee802154.txt |   76 +++++++++++++++++++++++++++++++
 MAINTAINERS                             |   12 +++++
 2 files changed, 88 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/networking/ieee802154.txt

diff --git a/Documentation/networking/ieee802154.txt b/Documentation/networking/ieee802154.txt
new file mode 100644
index 0000000..a0280ad
--- /dev/null
+++ b/Documentation/networking/ieee802154.txt
@@ -0,0 +1,76 @@
+
+		Linux IEEE 802.15.4 implementation
+
+
+Introduction
+============
+
+The Linux-ZigBee project goal is to provide complete implementation
+of IEEE 802.15.4 / ZigBee / 6LoWPAN protocols. IEEE 802.15.4 is a stack
+of protocols for organizing Low-Rate Wireless Personal Area Networks.
+
+Currently only IEEE 802.15.4 layer is implemented. We have choosen
+to use plain Berkeley socket API, the generic Linux networking stack
+to transfer IEEE 802.15.4 messages and a special protocol over genetlink
+for configuration/management
+
+
+Socket API
+==========
+
+int sd = socket(PF_IEEE802154, SOCK_DGRAM, 0);
+.....
+
+The address family, socket addresses etc. are defined in the
+include/net/ieee802154/af_ieee802154.h header or in the special header
+in our userspace package (see either linux-zigbee sourceforge download page
+or git tree at git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee).
+
+One can use SOCK_RAW for passing raw data towards device xmit function. YMMV.
+
+
+MLME - MAC Level Management
+============================
+
+Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands.
+See the include/net/ieee802154/nl802154.h header. Our userspace tools package
+(see above) provides CLI configuration utility for radio interfaces and simple
+coordinator for IEEE 802.15.4 networks as an example users of MLME protocol.
+
+
+Kernel side
+=============
+
+Like with WiFi, there are several types of devices implementing IEEE 802.15.4.
+1) 'HardMAC'. The MAC layer is implemented in the device itself, the device
+   exports MLME and data API.
+2) 'SoftMAC' or just radio. These types of devices are just radio transceivers
+   possibly with some kinds of acceleration like automatic CRC computation and
+   comparation, automagic ACK handling, address matching, etc.
+
+Those types of devices require different approach to be hooked into Linux kernel.
+
+
+HardMAC
+=======
+
+See the header include/net/ieee802154/netdevice.h. You have to implement Linux
+net_device, with .type = ARPHRD_IEEE802154. Data is exchanged with socket family
+code via plain sk_buffs. The control block of sk_buffs will contain additional
+info as described in the struct ieee802154_mac_cb.
+
+To hook the MLME interface you have to populate the ml_priv field of your
+net_device with a pointer to struct ieee802154_mlme_ops instance. All fields are
+required.
+
+We provide an example of simple HardMAC driver at drivers/ieee802154/fakehard.c
+
+
+SoftMAC
+=======
+
+We are going to provide intermediate layer impelementing IEEE 802.15.4 MAC
+in software. This is currently WIP.
+
+See header include/net/ieee802154/mac802154.h and several drivers in
+drivers/ieee802154/
diff --git a/MAINTAINERS b/MAINTAINERS
index cf4abdd..a1bbc8f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2816,6 +2816,18 @@ L:	linux1394-devel@lists.sourceforge.net
 S:	Maintained
 F:	drivers/ieee1394/raw1394*
 
+IEEE 802.15.4 SUBSYSTEM
+P:	Dmitry Eremin-Solenikov
+M:	dbaryshkov@gmail.com
+P:	Sergey Lapin
+M:	slapin@ossfans.org
+L:	linux-zigbee-devel@lists.sourceforge.net
+W:	http://apps.sourceforge.net/trac/linux-zigbee
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lumag/lowpan.git
+S:	Maintained
+F:	net/ieee802154/
+F:	drivers/ieee801254/
+
 INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
 P:	Mimi Zohar
 M:	zohar@us.ibm.com
-- 
1.6.3.1


  reply	other threads:[~2009-06-05  2:32 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-05  2:29 [PULL REQUEST] IEEE 802.15.4 stack: generic parts v2 Dmitry Eremin-Solenikov
2009-06-05  2:29 ` [PATCH 1/5] Add constants for the ieee 802.15.4 stack Dmitry Eremin-Solenikov
2009-06-05  2:29   ` [PATCH 2/5] net: add IEEE 802.15.4 socket family implementation Dmitry Eremin-Solenikov
2009-06-05  2:29     ` [PATCH 3/5] net: add NL802154 interface for configuration of 802.15.4 devices Dmitry Eremin-Solenikov
2009-06-05  2:29       ` Dmitry Eremin-Solenikov [this message]
2009-06-05  2:29         ` [PATCH 5/5] ieee802154: add simple HardMAC driver sample Dmitry Eremin-Solenikov
2009-06-05 13:18         ` [PATCH 4/5] ieee802154: add documentation about our stack Marcel Holtmann
2009-06-05 13:40           ` Dmitry Eremin-Solenikov
2009-06-05 14:25             ` Marcel Holtmann
2009-06-05 16:00               ` Dmitry Eremin-Solenikov
2009-06-06  7:12               ` Maxim Osipov
2009-06-05  6:52       ` [PATCH 3/5] net: add NL802154 interface for configuration of 802.15.4 devices Johannes Berg
2009-06-05  7:15         ` Dmitry Eremin-Solenikov
2009-06-05  7:54           ` David Miller
2009-06-05  9:12             ` Dmitry Eremin-Solenikov
2009-06-05  9:46               ` Sergey Lapin
2009-06-05 10:45                 ` Dmitry Eremin-Solenikov
2009-06-05 11:51                   ` Jesper Dangaard Brouer
2009-06-05 13:23                   ` Marcel Holtmann
2009-06-05 13:27                     ` Dmitry Eremin-Solenikov
2009-06-06  0:58                   ` David Miller
2009-06-06  7:06                     ` Dmitry Eremin-Solenikov
2009-06-07  1:18 [PATCH 0/5] IEEE 802.15.4 stack: generic parts v3 Sergey Lapin
2009-06-07  1:18 ` [PATCH 1/5] Add constants for the ieee 802.15.4 stack Sergey Lapin
2009-06-07  1:18   ` [PATCH 2/5] net: add IEEE 802.15.4 socket family implementation Sergey Lapin
2009-06-07  1:18     ` [PATCH 3/5] net: add NL802154 interface for configuration of 802.15.4 devices Sergey Lapin
2009-06-07  1:18       ` [PATCH 4/5] ieee802154: add documentation about our stack Sergey Lapin
2009-06-08 22:18 [PULL REQUEST] IEEE 802.15.4 stack: generic parts v4 Sergey Lapin
2009-06-08 22:18 ` [PATCH 1/5] Add constants for the ieee 802.15.4 stack Sergey Lapin
2009-06-08 22:18   ` [PATCH 2/5] net: add IEEE 802.15.4 socket family implementation Sergey Lapin
2009-06-08 22:18     ` [PATCH 3/5] net: add NL802154 interface for configuration of 802.15.4 devices Sergey Lapin
2009-06-08 22:18       ` [PATCH 4/5] ieee802154: add documentation about our stack Sergey Lapin

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=1244168990-28355-5-git-send-email-dbaryshkov@gmail.com \
    --to=dbaryshkov@gmail.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    --cc=slapin@ossfans.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).