diff options
author | alex.bluesman.smirnov@gmail.com <alex.bluesman.smirnov@gmail.com> | 2012-06-25 23:24:48 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-26 21:06:11 -0700 |
commit | 32bad7e30f113a8a5cebe4704bf6519ab4383e1b (patch) | |
tree | bc1a806c90bddeda6956ed84f5d76b1206853d04 /net/mac802154/mac802154.h | |
parent | 5ac24979dcb3418a295e11823c1f2506df1d9926 (diff) | |
download | linux-3.10-32bad7e30f113a8a5cebe4704bf6519ab4383e1b.tar.gz linux-3.10-32bad7e30f113a8a5cebe4704bf6519ab4383e1b.tar.bz2 linux-3.10-32bad7e30f113a8a5cebe4704bf6519ab4383e1b.zip |
mac802154: add wpan device-class support
Every real 802.15.4 transceiver, which works with software MAC layer,
can be classified as a wpan device in this stack. So the wpan device
implementation provides missing link in datapath between the device
drivers and the Linux network queue.
According to the IEEE 802.15.4 standard each packet can be one of the
following types:
- beacon
- MAC layer command
- ACK
- data
This patch adds support for the data packet-type only, but this is
enough to perform data transmission and receiving over radio.
Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac802154/mac802154.h')
-rw-r--r-- | net/mac802154/mac802154.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac802154/mac802154.h b/net/mac802154/mac802154.h index 789d9c948ae..c0efcf19a17 100644 --- a/net/mac802154/mac802154.h +++ b/net/mac802154/mac802154.h @@ -93,6 +93,7 @@ struct mac802154_sub_if_data { #define MAC802154_CHAN_NONE (~(u8)0) /* No channel is assigned */ extern struct ieee802154_reduced_mlme_ops mac802154_mlme_reduced; +extern struct ieee802154_mlme_ops mac802154_mlme_wpan; int mac802154_slave_open(struct net_device *dev); int mac802154_slave_close(struct net_device *dev); @@ -100,6 +101,9 @@ int mac802154_slave_close(struct net_device *dev); void mac802154_monitors_rx(struct mac802154_priv *priv, struct sk_buff *skb); void mac802154_monitor_setup(struct net_device *dev); +void mac802154_wpans_rx(struct mac802154_priv *priv, struct sk_buff *skb); +void mac802154_wpan_setup(struct net_device *dev); + netdev_tx_t mac802154_tx(struct mac802154_priv *priv, struct sk_buff *skb, u8 page, u8 chan); |