[v3] batctl: add isolation_mark support
Commit Message
From: Antonio Quartulli <antonio@open-mesh.com>
With this patch it is now possible to set/unset the value
of the isolation_mark used by the Extended Isolation feature
in batman-adv.
Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
---
Change from v2:
- added section in README
Change from v1:
- added section in man page
README | 13 +++++++++++++
man/batctl.8 | 20 ++++++++++++++++++++
sys.c | 9 +++++++--
sys.h | 1 +
4 files changed, 41 insertions(+), 2 deletions(-)
Comments
On Tuesday 25 February 2014 14:59:44 Antonio Quartulli wrote:
> From: Antonio Quartulli <antonio@open-mesh.com>
>
> With this patch it is now possible to set/unset the value
> of the isolation_mark used by the Extended Isolation feature
> in batman-adv.
>
> Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
> ---
>
> Change from v2:
> - added section in README
>
> Change from v1:
> - added section in man page
>
>
> README | 13 +++++++++++++
> man/batctl.8 | 20 ++++++++++++++++++++
> sys.c | 9 +++++++--
> sys.h | 1 +
> 4 files changed, 41 insertions(+), 2 deletions(-)
Applied in revision 6b36552.
Thanks,
Marek
@@ -399,6 +399,19 @@ display or modify the packet aggregation setting
Usage: batctl aggregation|ag [0|1]
+batctl isolation_mark
+=====================
+
+display or modify the isolation mark.
+This value is used by Extended Isolation feature.
+
+Usage: batctl isolation_mark|mark $value[/0x$mask]
+
+Example 1: batctl mark 0x00000001/0xffffffff
+Example 2: batctl mark 0x00040000/0xffff0000
+Example 3: batctl mark 16
+Example 4: batctl mark 0x0f
+
batctl translocal
=================
@@ -151,6 +151,26 @@ least XX TQ better than the currently selected gateway (XX has to be a number be
.RE
.RE
.br
+.IP "\fBisolation_mark\fP|\fBmark\fP"
+If no parameter is given the current isolation mark value is displayed.
+Otherwise the parameter is used to set or unset the isolation mark used by the
+Extended Isolation feature.
+.br
+The input is supposed to be of the form $value/$mask, where $value can be any
+32bit long integer (expressed in decimal or hex base) and $mask is a generic
+bitmask (expressed in hex base) that selects the bits to take into consideration
+from $value. It is also possible to enter the input using only $value and in
+this case the full bitmask is used by default.
+
+.br
+.br
+Example 1: 0x00000001/0xffffffff
+.br
+Example 2: 0x00040000/0xffff0000
+.br
+Example 3: 16 or 0x0F
+.br
+.br
.PP
.I \fBdebug tables:
.IP
@@ -96,8 +96,13 @@ const struct settings_data batctl_settings[BATCTL_SETTINGS_NUM] = {
.opt_short = "nc",
.sysfs_name = "network_coding",
.params = sysfs_param_enable,
- }
-
+ },
+ {
+ .opt_long = "isolation_mark",
+ .opt_short = "mark",
+ .sysfs_name = "isolation_mark",
+ .params = NULL,
+ },
};
static void interface_usage(void)
@@ -46,6 +46,7 @@ enum batctl_settings_list {
BATCTL_SETTINGS_BONDING,
BATCTL_SETTINGS_FRAGMENTATION,
BATCTL_SETTINGS_NETWORK_CODING,
+ BATCTL_SETTINGS_ISOLATION_MARK,
BATCTL_SETTINGS_NUM,
};