mac802154: slave interfaces declaration
authoralex.bluesman.smirnov@gmail.com <alex.bluesman.smirnov@gmail.com>
Tue, 15 May 2012 20:50:24 +0000 (20:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 May 2012 19:17:01 +0000 (15:17 -0400)
Slaves represent typical network interfaces available from userspace.
Each ieee802154 device/transceiver may have several slaves and able
to be associated with several networks at the same time. So this
patch adds structure for slaves declaration.

Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mac802154/mac802154.h

index 4f2d97506c6a58e9d6362d4f20deb0ca3ac2451a..d53b86c75d53a7fa60f905fdcf466d9e73ee3e20 100644 (file)
@@ -58,6 +58,34 @@ struct mac802154_priv {
 #define        MAC802154_DEVICE_STOPPED        0x00
 #define MAC802154_DEVICE_RUN           0x01
 
+/* Slave interface definition.
+ *
+ * Slaves represent typical network interfaces available from userspace.
+ * Each ieee802154 device/transceiver may have several slaves and able
+ * to be associated with several networks at the same time.
+ */
+struct mac802154_sub_if_data {
+       struct list_head list; /* the ieee802154_priv->slaves list */
+
+       struct mac802154_priv *hw;
+       struct net_device *dev;
+
+       int type;
+
+       spinlock_t mib_lock;
+
+       __le16 pan_id;
+       __le16 short_addr;
+
+       u8 chan;
+       u8 page;
+
+       /* MAC BSN field */
+       u8 bsn;
+       /* MAC DSN field */
+       u8 dsn;
+};
+
 #define mac802154_to_priv(_hw) container_of(_hw, struct mac802154_priv, hw)
 
 #define MAC802154_MAX_XMIT_ATTEMPTS    3