forked from Minki/linux
fakelb: allow to run as monitor
For my RIOT-OS in userspace experiments I need to create a fakelb monitor interface. The fakelb doesn't filter anything on L2 and is a purely raw interface. Because nl802154 checks on promiscuous mode which need to supported by creating monitors this patch adds some no-op promiscuous mode setting and the promiscuous flag. Signed-off-by: Alexander Aring <aar@pengutronix.de> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
048e7f7e66
commit
7c2b9bff56
@ -112,6 +112,12 @@ static void fakelb_hw_stop(struct ieee802154_hw *hw)
|
||||
write_unlock_bh(&fakelb_ifup_phys_lock);
|
||||
}
|
||||
|
||||
static int
|
||||
fakelb_set_promiscuous_mode(struct ieee802154_hw *hw, const bool on)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct ieee802154_ops fakelb_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.xmit_async = fakelb_hw_xmit,
|
||||
@ -119,6 +125,7 @@ static const struct ieee802154_ops fakelb_ops = {
|
||||
.set_channel = fakelb_hw_channel,
|
||||
.start = fakelb_hw_start,
|
||||
.stop = fakelb_hw_stop,
|
||||
.set_promiscuous_mode = fakelb_set_promiscuous_mode,
|
||||
};
|
||||
|
||||
/* Number of dummy devices to be set up by this module. */
|
||||
@ -174,6 +181,7 @@ static int fakelb_add_one(struct device *dev)
|
||||
hw->phy->current_channel = 13;
|
||||
phy->channel = hw->phy->current_channel;
|
||||
|
||||
hw->flags = IEEE802154_HW_PROMISCUOUS;
|
||||
hw->parent = dev;
|
||||
|
||||
err = ieee802154_register_hw(hw);
|
||||
|
Loading…
Reference in New Issue
Block a user