Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de7de576 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'ieee802154-for-davem-2018-08-06' of...

Merge branch 'ieee802154-for-davem-2018-08-06' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next



Stefan Schmidt says:

====================
pull-request: ieee802154-next 2018-08-06

An update from ieee802154 for *net-next*

Romuald added a socket option to get the LQI value of the received datagram.
Alexander added a new hardware simulation driver modelled after hwsim of the
wireless people. It allows runtime configuration for new nodes and edges over a
netlink interface (a config utlity is making its way into wpan-tools).
We also have three fixes in here. One from Colin which is more of a cleanup and
two from Alex fixing tailroom and single frame space problems.
I would normally put the last two into my fixes tree, but given we are already
in -rc8 I simply put them here and added a cc: stable to them.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 70837ffe be10d5d1
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -115,3 +115,14 @@ config IEEE802154_MCR20A

	  This driver can also be built as a module. To do so, say M here.
	  the module will be called 'mcr20a'.

config IEEE802154_HWSIM
	depends on IEEE802154_DRIVERS && MAC802154
	tristate "Simulated radio testing tool for mac802154"
	---help---
	  This driver is a developer testing tool that can be used to test
	  IEEE 802.15.4 networking stack (mac802154) functionality. This is not
	  needed for normal wpan usage and is only for testing.

	  This driver can also be built as a module. To do so say M here.
	  The module will be called 'mac802154_hwsim'.
+1 −0
Original line number Diff line number Diff line
@@ -7,3 +7,4 @@ obj-$(CONFIG_IEEE802154_ATUSB) += atusb.o
obj-$(CONFIG_IEEE802154_ADF7242) += adf7242.o
obj-$(CONFIG_IEEE802154_CA8210) += ca8210.o
obj-$(CONFIG_IEEE802154_MCR20A) += mcr20a.o
obj-$(CONFIG_IEEE802154_HWSIM) += mac802154_hwsim.o
+3 −0
Original line number Diff line number Diff line
@@ -254,6 +254,9 @@ static __init int fakelb_init_module(void)
{
	ieee802154fake_dev = platform_device_register_simple(
			     "ieee802154fakelb", -1, NULL, 0);

	pr_warn("fakelb driver is marked as deprecated, please use mac802154_hwsim!\n");

	return platform_driver_register(&ieee802154fake_driver);
}

+919 −0

File added.

Preview size limit exceeded, changes collapsed.

+73 −0
Original line number Diff line number Diff line
#ifndef __MAC802154_HWSIM_H
#define __MAC802154_HWSIM_H

/* mac802154 hwsim netlink commands
 *
 * @MAC802154_HWSIM_CMD_UNSPEC: unspecified command to catch error
 * @MAC802154_HWSIM_CMD_GET_RADIO: fetch information about existing radios
 * @MAC802154_HWSIM_CMD_SET_RADIO: change radio parameters during runtime
 * @MAC802154_HWSIM_CMD_NEW_RADIO: create a new radio with the given parameters
 *	returns the radio ID (>= 0) or negative on errors, if successful
 *	then multicast the result
 * @MAC802154_HWSIM_CMD_DEL_RADIO: destroy a radio, reply is multicasted
 * @MAC802154_HWSIM_CMD_GET_EDGE: fetch information about existing edges
 * @MAC802154_HWSIM_CMD_SET_EDGE: change edge parameters during runtime
 * @MAC802154_HWSIM_CMD_DEL_EDGE: delete edges between radios
 * @MAC802154_HWSIM_CMD_NEW_EDGE: create a new edge between two radios
 * @__MAC802154_HWSIM_CMD_MAX: enum limit
 */
enum {
	MAC802154_HWSIM_CMD_UNSPEC,

	MAC802154_HWSIM_CMD_GET_RADIO,
	MAC802154_HWSIM_CMD_SET_RADIO,
	MAC802154_HWSIM_CMD_NEW_RADIO,
	MAC802154_HWSIM_CMD_DEL_RADIO,

	MAC802154_HWSIM_CMD_GET_EDGE,
	MAC802154_HWSIM_CMD_SET_EDGE,
	MAC802154_HWSIM_CMD_DEL_EDGE,
	MAC802154_HWSIM_CMD_NEW_EDGE,

	__MAC802154_HWSIM_CMD_MAX,
};

#define MAC802154_HWSIM_CMD_MAX (__MAC802154_HWSIM_MAX - 1)

/* mac802154 hwsim netlink attributes
 *
 * @MAC802154_HWSIM_ATTR_UNSPEC: unspecified attribute to catch error
 * @MAC802154_HWSIM_ATTR_RADIO_ID: u32 attribute to identify the radio
 * @MAC802154_HWSIM_ATTR_EDGE: nested attribute of edges
 * @MAC802154_HWSIM_ATTR_EDGES: list if nested attributes which contains the
 *	edge information according the radio id
 * @__MAC802154_HWSIM_ATTR_MAX: enum limit
 */
enum {
	MAC802154_HWSIM_ATTR_UNSPEC,
	MAC802154_HWSIM_ATTR_RADIO_ID,
	MAC802154_HWSIM_ATTR_RADIO_EDGE,
	MAC802154_HWSIM_ATTR_RADIO_EDGES,
	__MAC802154_HWSIM_ATTR_MAX,
};

#define MAC802154_HWSIM_ATTR_MAX (__MAC802154_HWSIM_ATTR_MAX - 1)

/* mac802154 hwsim edge netlink attributes
 *
 * @MAC802154_HWSIM_EDGE_ATTR_UNSPEC: unspecified attribute to catch error
 * @MAC802154_HWSIM_EDGE_ATTR_ENDPOINT_ID: radio id where the edge points to
 * @MAC802154_HWSIM_EDGE_ATTR_LQI: LQI value which the endpoint radio will
 *	receive for this edge
 * @__MAC802154_HWSIM_ATTR_MAX: enum limit
 */
enum {
	MAC802154_HWSIM_EDGE_ATTR_UNSPEC,
	MAC802154_HWSIM_EDGE_ATTR_ENDPOINT_ID,
	MAC802154_HWSIM_EDGE_ATTR_LQI,
	__MAC802154_HWSIM_EDGE_ATTR_MAX,
};

#define MAC802154_HWSIM_EDGE_ATTR_MAX (__MAC802154_HWSIM_EDGE_ATTR_MAX - 1)

#endif /* __MAC802154_HWSIM_H */
Loading