mirror of https://gitee.com/openkylin/linux.git
mac802154: mlme start request
Basic preparations to start the interface. Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
66b69d4d7f
commit
5265f46711
|
@ -25,12 +25,36 @@
|
|||
#include <linux/skbuff.h>
|
||||
#include <linux/if_arp.h>
|
||||
|
||||
#include <net/ieee802154.h>
|
||||
#include <net/ieee802154_netdev.h>
|
||||
#include <net/wpan-phy.h>
|
||||
#include <net/mac802154.h>
|
||||
#include <net/nl802154.h>
|
||||
|
||||
#include "mac802154.h"
|
||||
|
||||
static int mac802154_mlme_start_req(struct net_device *dev,
|
||||
struct ieee802154_addr *addr,
|
||||
u8 channel, u8 page,
|
||||
u8 bcn_ord, u8 sf_ord,
|
||||
u8 pan_coord, u8 blx,
|
||||
u8 coord_realign)
|
||||
{
|
||||
BUG_ON(addr->addr_type != IEEE802154_ADDR_SHORT);
|
||||
|
||||
mac802154_dev_set_pan_id(dev, addr->pan_id);
|
||||
mac802154_dev_set_short_addr(dev, addr->short_addr);
|
||||
mac802154_dev_set_ieee_addr(dev);
|
||||
mac802154_dev_set_page_channel(dev, page, channel);
|
||||
|
||||
/* FIXME: add validation for unused parameters to be sane
|
||||
* for SoftMAC
|
||||
*/
|
||||
ieee802154_nl_start_confirm(dev, IEEE802154_SUCCESS);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct wpan_phy *mac802154_get_phy(const struct net_device *dev)
|
||||
{
|
||||
struct mac802154_sub_if_data *priv = netdev_priv(dev);
|
||||
|
@ -46,4 +70,5 @@ struct ieee802154_reduced_mlme_ops mac802154_mlme_reduced = {
|
|||
|
||||
struct ieee802154_mlme_ops mac802154_mlme_wpan = {
|
||||
.get_phy = mac802154_get_phy,
|
||||
.start_req = mac802154_mlme_start_req,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue