summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoralex.bluesman.smirnov@gmail.com <alex.bluesman.smirnov@gmail.com>2012-05-16 00:50:29 +0400
committerDavid S. Miller <davem@davemloft.net>2012-05-16 23:17:08 +0400
commit0606069d9ef538687957d41ed6387d665af7a643 (patch)
treeb0e54cbdddc436a4b8fd48db676c0ab2efd55d6f /include
parent62610ad21870a8cf842d4a48f07c3a964e1d2622 (diff)
downloadlinux-0606069d9ef538687957d41ed6387d665af7a643.tar.xz
mac802154: monitor device support
Support for monitor device intended to capture all the network activity. This interface could be used by networks sniffers and is already supported by WireShark. That's a good test point to check that basic MAC support works. Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/if_arp.h1
-rw-r--r--include/linux/nl802154.h14
-rw-r--r--include/net/wpan-phy.h8
3 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/if_arp.h b/include/linux/if_arp.h
index 3718acf40a09..26cb3c2c5c71 100644
--- a/include/linux/if_arp.h
+++ b/include/linux/if_arp.h
@@ -87,6 +87,7 @@
#define ARPHRD_IEEE80211_PRISM 802 /* IEEE 802.11 + Prism2 header */
#define ARPHRD_IEEE80211_RADIOTAP 803 /* IEEE 802.11 + radiotap header */
#define ARPHRD_IEEE802154 804
+#define ARPHRD_IEEE802154_MONITOR 805 /* IEEE 802.15.4 network monitor */
#define ARPHRD_PHONET 820 /* PhoNet media type */
#define ARPHRD_PHONET_PIPE 821 /* PhoNet pipe header */
diff --git a/include/linux/nl802154.h b/include/linux/nl802154.h
index 2015ad248101..5a3db3aa5f17 100644
--- a/include/linux/nl802154.h
+++ b/include/linux/nl802154.h
@@ -129,6 +129,20 @@ enum {
enum {
__IEEE802154_DEV_INVALID = -1,
+
+ /* TODO:
+ * Nowadays three device types supported by this stack at linux-zigbee
+ * project: WPAN = 0, MONITOR = 1 and SMAC = 2.
+ *
+ * Since this stack implementation exists many years, it's definitely
+ * bad idea to change the assigned values due to they are already used
+ * by third-party userspace software like: iz-tools, wireshark...
+ *
+ * Currently only monitor device is added and initialized by '1' for
+ * compatibility.
+ */
+ IEEE802154_DEV_MONITOR = 1,
+
__IEEE802154_DEV_MAX,
};
diff --git a/include/net/wpan-phy.h b/include/net/wpan-phy.h
index efd6749e392b..b52bda8d13b1 100644
--- a/include/net/wpan-phy.h
+++ b/include/net/wpan-phy.h
@@ -25,6 +25,14 @@
#include <linux/mutex.h>
#include <linux/bug.h>
+/* According to the IEEE 802.15.4 stadard the upper most significant bits of
+ * the 32-bit channel bitmaps shall be used as an integer value to specify 32
+ * possible channel pages. The lower 27 bits of the channel bit map shall be
+ * used as a bit mask to specify channel numbers within a channel page.
+ */
+#define WPAN_NUM_CHANNELS 27
+#define WPAN_NUM_PAGES 32
+
struct wpan_phy {
struct mutex pib_lock;