netdevice: add ieee802154_ptr to net_device
authorAlexander Aring <alex.aring@gmail.com>
Sun, 2 Nov 2014 05:44:54 +0000 (06:44 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 3 Nov 2014 21:27:51 +0000 (22:27 +0100)
This patch adds an ieee802154_ptr to the net_device structure.
Furthermore the 802.15.4 subsystem will introduce a nl802154 framework
which is similar like the nl80211 framework and a wpan_dev structure.
The wpan_dev structure will hold additional net_device attributes like
address options which are 802.15.4 specific. In the upcoming nl802154
implementation we will introduce a NL802154_FLAG_NEED_WPAN_DEV like
NL80211_FLAG_NEED_WDEV. For this flag an ieee802154_ptr in net_device is
needed. Additional we can access the wpan_dev attributes in upper layers
like IEEE 802.15.4 6LoWPAN easily. Current solution is a complicated
callback interface and getting these values over subif data structure
in mac802154.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/linux/netdevice.h

index 74fd5d37f15a472239c1c63cebe7ce9e59fc4c90..c9bcf33efb47c6250cf4280e950ae18454138bd5 100644 (file)
@@ -57,6 +57,8 @@ struct device;
 struct phy_device;
 /* 802.11 specific */
 struct wireless_dev;
+/* 802.15.4 specific */
+struct wpan_dev;
 
 void netdev_set_default_ethtool_ops(struct net_device *dev,
                                    const struct ethtool_ops *ops);
@@ -1572,6 +1574,7 @@ struct net_device {
        struct inet6_dev __rcu  *ip6_ptr;
        void                    *ax25_ptr;
        struct wireless_dev     *ieee80211_ptr;
+       struct wpan_dev         *ieee802154_ptr;
 
 /*
  * Cache lines mostly used on receive path (including eth_type_trans())