diff options
author | Alexander Aring <alex.aring@gmail.com> | 2014-11-02 01:44:54 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-11-03 16:27:51 -0500 |
commit | 98a18b6ffc79baa69f4a0d1bae58faf2a8aef4c8 (patch) | |
tree | 13cb21dc5f8b459341b8068051d3b34f1e8f2a59 | |
parent | a736abc1ac09b824387fb75b2aa7887c6e3ed68a (diff) |
netdevice: add ieee802154_ptr to net_device
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>
-rw-r--r-- | include/linux/netdevice.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 74fd5d37f15a..c9bcf33efb47 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -57,6 +57,8 @@ struct device; | |||
57 | struct phy_device; | 57 | struct phy_device; |
58 | /* 802.11 specific */ | 58 | /* 802.11 specific */ |
59 | struct wireless_dev; | 59 | struct wireless_dev; |
60 | /* 802.15.4 specific */ | ||
61 | struct wpan_dev; | ||
60 | 62 | ||
61 | void netdev_set_default_ethtool_ops(struct net_device *dev, | 63 | void netdev_set_default_ethtool_ops(struct net_device *dev, |
62 | const struct ethtool_ops *ops); | 64 | const struct ethtool_ops *ops); |
@@ -1572,6 +1574,7 @@ struct net_device { | |||
1572 | struct inet6_dev __rcu *ip6_ptr; | 1574 | struct inet6_dev __rcu *ip6_ptr; |
1573 | void *ax25_ptr; | 1575 | void *ax25_ptr; |
1574 | struct wireless_dev *ieee80211_ptr; | 1576 | struct wireless_dev *ieee80211_ptr; |
1577 | struct wpan_dev *ieee802154_ptr; | ||
1575 | 1578 | ||
1576 | /* | 1579 | /* |
1577 | * Cache lines mostly used on receive path (including eth_type_trans()) | 1580 | * Cache lines mostly used on receive path (including eth_type_trans()) |