summaryrefslogtreecommitdiff
path: root/include/uapi/linux/batman_adv.h
diff options
context:
space:
mode:
authorSven Eckelmann <sven@narfation.org>2018-11-23 12:14:56 +0100
committerSimon Wunderlich <sw@simonwunderlich.de>2019-02-09 14:28:13 +0100
commit60040513536097584c3d55b39acdfa7080645d80 (patch)
treecc88121c671b91b0a079611a67a43faa2f89d429 /include/uapi/linux/batman_adv.h
parentc4a7a8d9bb8f9e712d0e4c90c3d11b4388b621ba (diff)
downloadlwn-60040513536097584c3d55b39acdfa7080645d80.tar.gz
lwn-60040513536097584c3d55b39acdfa7080645d80.zip
batman-adv: Prepare framework for mesh genl config
The batman-adv configuration interface was implemented solely using sysfs. This approach was condemned by non-batadv developers as "huge mistake". Instead a netlink/genl based implementation was suggested. The main objects for this configuration is the mesh/soft-interface object. Its actual object in memory already contains most of the available configuration settings. The genl interface reflects this by allowing to get/set it using the mesh specific commands. The BATADV_CMD_GET_MESH_INFO (or short version BATADV_CMD_GET_MESH) is reused as get command because it already provides the content of other information from the mesh/soft-interface which are not yet configuration specific. The set command BATADV_CMD_SET_MESH will also notify interested userspace listeners of the "config" mcast group using the BATADV_CMD_SET_MESH command message type that settings might have been changed and what the current values are. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Diffstat (limited to 'include/uapi/linux/batman_adv.h')
-rw-r--r--include/uapi/linux/batman_adv.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/uapi/linux/batman_adv.h b/include/uapi/linux/batman_adv.h
index a28e76a7e0a2..b3394aac9a88 100644
--- a/include/uapi/linux/batman_adv.h
+++ b/include/uapi/linux/batman_adv.h
@@ -27,6 +27,7 @@
#define BATADV_NL_NAME "batadv"
+#define BATADV_NL_MCAST_GROUP_CONFIG "config"
#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter"
/**
@@ -372,10 +373,14 @@ enum batadv_nl_commands {
BATADV_CMD_UNSPEC,
/**
- * @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv
- * device
+ * @BATADV_CMD_GET_MESH: Get attributes from softif/mesh
*/
- BATADV_CMD_GET_MESH_INFO,
+ BATADV_CMD_GET_MESH,
+
+ /**
+ * @BATADV_CMD_GET_MESH_INFO: Alias for @BATADV_CMD_GET_MESH
+ */
+ BATADV_CMD_GET_MESH_INFO = BATADV_CMD_GET_MESH,
/**
* @BATADV_CMD_TP_METER: Start a tp meter session
@@ -443,6 +448,11 @@ enum batadv_nl_commands {
*/
BATADV_CMD_GET_MCAST_FLAGS,
+ /**
+ * @BATADV_CMD_SET_MESH: Set attributes for softif/mesh
+ */
+ BATADV_CMD_SET_MESH,
+
/* add new commands above here */
/**