mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
ieee802154: add documentation about our stack
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> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2c21d11518
commit
02cf228639
2 changed files with 88 additions and 0 deletions
76
Documentation/networking/ieee802154.txt
Normal file
76
Documentation/networking/ieee802154.txt
Normal file
|
@ -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/
|
12
MAINTAINERS
12
MAINTAINERS
|
@ -2819,6 +2819,18 @@ L: linux1394-devel@lists.sourceforge.net
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/ieee1394/raw1394*
|
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)
|
INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
|
||||||
P: Mimi Zohar
|
P: Mimi Zohar
|
||||||
M: zohar@us.ibm.com
|
M: zohar@us.ibm.com
|
||||||
|
|
Loading…
Reference in a new issue