All of lore.kernel.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] pull request: batman-adv 20160109
@ 2016-01-09 13:20 Antonio Quartulli
  2016-01-09 13:20 ` [PATCH 01/16] batman-adv: Start new development cycle Antonio Quartulli
                   ` (24 more replies)
  0 siblings, 25 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n

Hello David,

here you have a late batch of patches intended for net-next.

Most of the changes are about kerneldoc and other minor cleanups
introduced by Sven Eckelmann and Marek Lindner.

Other than those you have the number of BLA wait periods increased
to 6 to reduce the probability of temporary LAN loops by Simon
Wunderlich.

Several useless NULL checks have been removed by Markus Elfring in
order to make the code simpler and slimmer.

Another change by Simon Wunderlich makes sure that the function
consuming the value written in a sysfs file is executed only when
such value was really changed to a new value.


Please pull or let me know of any problem!
Thanks a lot,
	Antonio


The following changes since commit d86cdfcd5d7e1179e695977b7088882822f365c4:

  Merge branch 'r8152-adjustments' (2016-01-08 21:57:26 -0500)

are available in the git repository at:

  git://git.open-mesh.org/linux-merge.git tags/batman-adv-for-davem

for you to fetch changes up to ed21d170e878b6b067a3216040b7b935c8007196:

  batman-adv: Add kerneldoc for batadv_neigh_node::refcount (2016-01-09 20:56:00 +0800)

----------------------------------------------------------------
Included changes:
- increase internal module version
- increase BLA wait periods to 6
- purge BLA backbone table when it is disabled
- make sure post function is invoked only if sysfs value is changed
- simplify code by removing useless NULL checks
- various corrections to existing kerneldoc
- minor cleanups

----------------------------------------------------------------
Marek Lindner (1):
      batman-adv: remove leftovers of unused BATADV_PRIMARIES_FIRST_HOP flag

Markus Elfring (4):
      batman-adv: Delete unnecessary checks before the function call "kfree_skb"
      batman-adv: Less checks in batadv_tvlv_unicast_send()
      batman-adv: Delete an unnecessary check before the function call "batadv_softif_vlan_free_ref"
      batman-adv: Split a condition check

Simon Wunderlich (4):
      batman-adv: Start new development cycle
      batman-adv: purge bridge loop avoidance when its disabled
      batman-adv: increase BLA wait periods to 6
      batman-adv: only call post function if something changed

Sven Eckelmann (7):
      batman-adv: Fix lockdep annotation of batadv_tlv_container_remove
      batman-adv: Add function to convert string to batadv throughput
      batman-adv: Change ifconfig examples to iproute2
      batman-adv: Fix kernel-doc parsing of main structs
      batman-adv: Fix kerneldoc member names in for main structs
      batman-adv: Remove kerneldoc for missing struct members
      batman-adv: Add kerneldoc for batadv_neigh_node::refcount

 Documentation/networking/batman-adv.txt |   9 ++-
 net/batman-adv/bat_iv_ogm.c             |   3 -
 net/batman-adv/bridge_loop_avoidance.c  |  20 ++++++
 net/batman-adv/bridge_loop_avoidance.h  |   2 +
 net/batman-adv/gateway_common.c         | 117 +++++++++++++-------------------
 net/batman-adv/main.c                   |  17 ++---
 net/batman-adv/main.h                   |   4 +-
 net/batman-adv/network-coding.c         |   4 +-
 net/batman-adv/packet.h                 |   3 +-
 net/batman-adv/send.c                   |   3 +-
 net/batman-adv/sysfs.c                  |  16 +++--
 net/batman-adv/translation-table.c      |   8 ++-
 net/batman-adv/types.h                  |  32 +++++----
 13 files changed, 122 insertions(+), 116 deletions(-)

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [PATCH 01/16] batman-adv: Start new development cycle
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Simon Wunderlich, Antonio Quartulli

From: Simon Wunderlich <sw@simonwunderlich.de>

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index ebd8af0a1eb0..da9f16c6829b 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -24,7 +24,7 @@
 #define BATADV_DRIVER_DEVICE "batman-adv"
 
 #ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2015.2"
+#define BATADV_SOURCE_VERSION "2016.0"
 #endif
 
 /* B.A.T.M.A.N. parameters */
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 01/16] batman-adv: Start new development cycle
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
  2016-01-09 13:20 ` [PATCH 01/16] batman-adv: Start new development cycle Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 02/16] batman-adv: Fix lockdep annotation of batadv_tlv_container_remove Antonio Quartulli
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Antonio Quartulli

From: Simon Wunderlich <sw@simonwunderlich.de>

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index ebd8af0a1eb0..da9f16c6829b 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -24,7 +24,7 @@
 #define BATADV_DRIVER_DEVICE "batman-adv"
 
 #ifndef BATADV_SOURCE_VERSION
-#define BATADV_SOURCE_VERSION "2015.2"
+#define BATADV_SOURCE_VERSION "2016.0"
 #endif
 
 /* B.A.T.M.A.N. parameters */
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 02/16] batman-adv: Fix lockdep annotation of batadv_tlv_container_remove
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (2 preceding siblings ...)
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 02/16] batman-adv: Fix lockdep annotation of batadv_tlv_container_remove Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Sven Eckelmann, Marek Lindner, Antonio Quartulli

From: Sven Eckelmann <sven@open-mesh.com>

The function handles tlv containers and not tlv handlers. Thus the
lockdep_assert_held has to check for the container_list lock.

Fixes: 2c72d655b044 ("batman-adv: Annotate deleting functions with external lock via lockdep")
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 5dbcb2e2b497..95fd418e9567 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -747,7 +747,7 @@ static u16 batadv_tvlv_container_list_size(struct batadv_priv *bat_priv)
 static void batadv_tvlv_container_remove(struct batadv_priv *bat_priv,
 					 struct batadv_tvlv_container *tvlv)
 {
-	lockdep_assert_held(&bat_priv->tvlv.handler_list_lock);
+	lockdep_assert_held(&bat_priv->tvlv.container_list_lock);
 
 	if (!tvlv)
 		return;
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 02/16] batman-adv: Fix lockdep annotation of batadv_tlv_container_remove
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
  2016-01-09 13:20 ` [PATCH 01/16] batman-adv: Start new development cycle Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` Antonio Quartulli
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner, Sven Eckelmann

From: Sven Eckelmann <sven@open-mesh.com>

The function handles tlv containers and not tlv handlers. Thus the
lockdep_assert_held has to check for the container_list lock.

Fixes: 2c72d655b044 ("batman-adv: Annotate deleting functions with external lock via lockdep")
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 5dbcb2e2b497..95fd418e9567 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -747,7 +747,7 @@ static u16 batadv_tvlv_container_list_size(struct batadv_priv *bat_priv)
 static void batadv_tvlv_container_remove(struct batadv_priv *bat_priv,
 					 struct batadv_tvlv_container *tvlv)
 {
-	lockdep_assert_held(&bat_priv->tvlv.handler_list_lock);
+	lockdep_assert_held(&bat_priv->tvlv.container_list_lock);
 
 	if (!tvlv)
 		return;
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 03/16] batman-adv: remove leftovers of unused BATADV_PRIMARIES_FIRST_HOP flag
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20   ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                     ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner, Antonio Quartulli

From: Marek Lindner <mareklindner@neomailbox.ch>

Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/bat_iv_ogm.c | 3 ---
 net/batman-adv/packet.h     | 3 +--
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index 5677169c1b98..246702486228 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -361,7 +361,6 @@ batadv_iv_ogm_primary_iface_set(struct batadv_hard_iface *hard_iface)
 	unsigned char *ogm_buff = hard_iface->bat_iv.ogm_buff;
 
 	batadv_ogm_packet = (struct batadv_ogm_packet *)ogm_buff;
-	batadv_ogm_packet->flags = BATADV_PRIMARIES_FIRST_HOP;
 	batadv_ogm_packet->ttl = BATADV_TTL;
 }
 
@@ -842,8 +841,6 @@ static void batadv_iv_ogm_forward(struct batadv_orig_node *orig_node,
 		   "Forwarding packet: tq: %i, ttl: %i\n",
 		   batadv_ogm_packet->tq, batadv_ogm_packet->ttl);
 
-	/* switch of primaries first hop flag when forwarding */
-	batadv_ogm_packet->flags &= ~BATADV_PRIMARIES_FIRST_HOP;
 	if (is_single_hop_neigh)
 		batadv_ogm_packet->flags |= BATADV_DIRECTLINK;
 	else
diff --git a/net/batman-adv/packet.h b/net/batman-adv/packet.h
index 11f996b39fef..0558e3237e0e 100644
--- a/net/batman-adv/packet.h
+++ b/net/batman-adv/packet.h
@@ -72,8 +72,7 @@ enum batadv_subtype {
  * enum batadv_iv_flags - flags used in B.A.T.M.A.N. IV OGM packets
  * @BATADV_NOT_BEST_NEXT_HOP: flag is set when ogm packet is forwarded and was
  *     previously received from someone else than the best neighbor.
- * @BATADV_PRIMARIES_FIRST_HOP: flag is set when the primary interface address
- *     is used, and the packet travels its first hop.
+ * @BATADV_PRIMARIES_FIRST_HOP: flag unused.
  * @BATADV_DIRECTLINK: flag is for the first hop or if rebroadcasted from a
  *     one hop neighbor on the interface where it was originally received.
  */
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 03/16] batman-adv: remove leftovers of unused BATADV_PRIMARIES_FIRST_HOP flag
@ 2016-01-09 13:20   ` Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Marek Lindner <mareklindner@neomailbox.ch>

Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/bat_iv_ogm.c | 3 ---
 net/batman-adv/packet.h     | 3 +--
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index 5677169c1b98..246702486228 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -361,7 +361,6 @@ batadv_iv_ogm_primary_iface_set(struct batadv_hard_iface *hard_iface)
 	unsigned char *ogm_buff = hard_iface->bat_iv.ogm_buff;
 
 	batadv_ogm_packet = (struct batadv_ogm_packet *)ogm_buff;
-	batadv_ogm_packet->flags = BATADV_PRIMARIES_FIRST_HOP;
 	batadv_ogm_packet->ttl = BATADV_TTL;
 }
 
@@ -842,8 +841,6 @@ static void batadv_iv_ogm_forward(struct batadv_orig_node *orig_node,
 		   "Forwarding packet: tq: %i, ttl: %i\n",
 		   batadv_ogm_packet->tq, batadv_ogm_packet->ttl);
 
-	/* switch of primaries first hop flag when forwarding */
-	batadv_ogm_packet->flags &= ~BATADV_PRIMARIES_FIRST_HOP;
 	if (is_single_hop_neigh)
 		batadv_ogm_packet->flags |= BATADV_DIRECTLINK;
 	else
diff --git a/net/batman-adv/packet.h b/net/batman-adv/packet.h
index 11f996b39fef..0558e3237e0e 100644
--- a/net/batman-adv/packet.h
+++ b/net/batman-adv/packet.h
@@ -72,8 +72,7 @@ enum batadv_subtype {
  * enum batadv_iv_flags - flags used in B.A.T.M.A.N. IV OGM packets
  * @BATADV_NOT_BEST_NEXT_HOP: flag is set when ogm packet is forwarded and was
  *     previously received from someone else than the best neighbor.
- * @BATADV_PRIMARIES_FIRST_HOP: flag is set when the primary interface address
- *     is used, and the packet travels its first hop.
+ * @BATADV_PRIMARIES_FIRST_HOP: flag unused.
  * @BATADV_DIRECTLINK: flag is for the first hop or if rebroadcasted from a
  *     one hop neighbor on the interface where it was originally received.
  */
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 04/16] batman-adv: purge bridge loop avoidance when its disabled
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20   ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                     ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Simon Wunderlich, Marek Lindner, Antonio Quartulli

From: Simon Wunderlich <simon@open-mesh.com>

When bridge loop avoidance is disabled through sysfs, the internal
datastructures are not disabled, but only BLA operations are disabled.
To be sure that they are removed, purge the data immediately. That is
especially useful if a firmwares network state is changed, and the BLA
wait periods should restart on the new network.

Signed-off-by: Simon Wunderlich <simon@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/bridge_loop_avoidance.c | 20 ++++++++++++++++++++
 net/batman-adv/bridge_loop_avoidance.h |  2 ++
 net/batman-adv/sysfs.c                 |  4 +++-
 3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c
index 99dcae316ec8..d5d71ac96c8a 100644
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -1168,6 +1168,26 @@ void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
 	}
 }
 
+/**
+ * batadv_bla_status_update - purge bla interfaces if necessary
+ * @net_dev: the soft interface net device
+ */
+void batadv_bla_status_update(struct net_device *net_dev)
+{
+	struct batadv_priv *bat_priv = netdev_priv(net_dev);
+	struct batadv_hard_iface *primary_if;
+
+	primary_if = batadv_primary_if_get_selected(bat_priv);
+	if (!primary_if)
+		return;
+
+	/* this function already purges everything when bla is disabled,
+	 * so just call that one.
+	 */
+	batadv_bla_update_orig_address(bat_priv, primary_if, primary_if);
+	batadv_hardif_free_ref(primary_if);
+}
+
 /* periodic work to do:
  *  * purge structures when they are too old
  *  * send announcements
diff --git a/net/batman-adv/bridge_loop_avoidance.h b/net/batman-adv/bridge_loop_avoidance.h
index 025152b34282..7ea199b8b5ab 100644
--- a/net/batman-adv/bridge_loop_avoidance.h
+++ b/net/batman-adv/bridge_loop_avoidance.h
@@ -22,6 +22,7 @@
 
 #include <linux/types.h>
 
+struct net_device;
 struct seq_file;
 struct sk_buff;
 
@@ -42,6 +43,7 @@ int batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv,
 void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
 				    struct batadv_hard_iface *primary_if,
 				    struct batadv_hard_iface *oldif);
+void batadv_bla_status_update(struct net_device *net_dev);
 int batadv_bla_init(struct batadv_priv *bat_priv);
 void batadv_bla_free(struct batadv_priv *bat_priv);
 
diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c
index 9de3c8804ff4..48e2aaddda49 100644
--- a/net/batman-adv/sysfs.c
+++ b/net/batman-adv/sysfs.c
@@ -40,6 +40,7 @@
 #include "distributed-arp-table.h"
 #include "gateway_client.h"
 #include "gateway_common.h"
+#include "bridge_loop_avoidance.h"
 #include "hard-interface.h"
 #include "network-coding.h"
 #include "packet.h"
@@ -549,7 +550,8 @@ static ssize_t batadv_store_isolation_mark(struct kobject *kobj,
 BATADV_ATTR_SIF_BOOL(aggregated_ogms, S_IRUGO | S_IWUSR, NULL);
 BATADV_ATTR_SIF_BOOL(bonding, S_IRUGO | S_IWUSR, NULL);
 #ifdef CONFIG_BATMAN_ADV_BLA
-BATADV_ATTR_SIF_BOOL(bridge_loop_avoidance, S_IRUGO | S_IWUSR, NULL);
+BATADV_ATTR_SIF_BOOL(bridge_loop_avoidance, S_IRUGO | S_IWUSR,
+		     batadv_bla_status_update);
 #endif
 #ifdef CONFIG_BATMAN_ADV_DAT
 BATADV_ATTR_SIF_BOOL(distributed_arp_table, S_IRUGO | S_IWUSR,
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 04/16] batman-adv: purge bridge loop avoidance when its disabled
@ 2016-01-09 13:20   ` Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, Simon Wunderlich, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Simon Wunderlich <simon@open-mesh.com>

When bridge loop avoidance is disabled through sysfs, the internal
datastructures are not disabled, but only BLA operations are disabled.
To be sure that they are removed, purge the data immediately. That is
especially useful if a firmwares network state is changed, and the BLA
wait periods should restart on the new network.

Signed-off-by: Simon Wunderlich <simon@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/bridge_loop_avoidance.c | 20 ++++++++++++++++++++
 net/batman-adv/bridge_loop_avoidance.h |  2 ++
 net/batman-adv/sysfs.c                 |  4 +++-
 3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c
index 99dcae316ec8..d5d71ac96c8a 100644
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -1168,6 +1168,26 @@ void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
 	}
 }
 
+/**
+ * batadv_bla_status_update - purge bla interfaces if necessary
+ * @net_dev: the soft interface net device
+ */
+void batadv_bla_status_update(struct net_device *net_dev)
+{
+	struct batadv_priv *bat_priv = netdev_priv(net_dev);
+	struct batadv_hard_iface *primary_if;
+
+	primary_if = batadv_primary_if_get_selected(bat_priv);
+	if (!primary_if)
+		return;
+
+	/* this function already purges everything when bla is disabled,
+	 * so just call that one.
+	 */
+	batadv_bla_update_orig_address(bat_priv, primary_if, primary_if);
+	batadv_hardif_free_ref(primary_if);
+}
+
 /* periodic work to do:
  *  * purge structures when they are too old
  *  * send announcements
diff --git a/net/batman-adv/bridge_loop_avoidance.h b/net/batman-adv/bridge_loop_avoidance.h
index 025152b34282..7ea199b8b5ab 100644
--- a/net/batman-adv/bridge_loop_avoidance.h
+++ b/net/batman-adv/bridge_loop_avoidance.h
@@ -22,6 +22,7 @@
 
 #include <linux/types.h>
 
+struct net_device;
 struct seq_file;
 struct sk_buff;
 
@@ -42,6 +43,7 @@ int batadv_bla_check_bcast_duplist(struct batadv_priv *bat_priv,
 void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
 				    struct batadv_hard_iface *primary_if,
 				    struct batadv_hard_iface *oldif);
+void batadv_bla_status_update(struct net_device *net_dev);
 int batadv_bla_init(struct batadv_priv *bat_priv);
 void batadv_bla_free(struct batadv_priv *bat_priv);
 
diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c
index 9de3c8804ff4..48e2aaddda49 100644
--- a/net/batman-adv/sysfs.c
+++ b/net/batman-adv/sysfs.c
@@ -40,6 +40,7 @@
 #include "distributed-arp-table.h"
 #include "gateway_client.h"
 #include "gateway_common.h"
+#include "bridge_loop_avoidance.h"
 #include "hard-interface.h"
 #include "network-coding.h"
 #include "packet.h"
@@ -549,7 +550,8 @@ static ssize_t batadv_store_isolation_mark(struct kobject *kobj,
 BATADV_ATTR_SIF_BOOL(aggregated_ogms, S_IRUGO | S_IWUSR, NULL);
 BATADV_ATTR_SIF_BOOL(bonding, S_IRUGO | S_IWUSR, NULL);
 #ifdef CONFIG_BATMAN_ADV_BLA
-BATADV_ATTR_SIF_BOOL(bridge_loop_avoidance, S_IRUGO | S_IWUSR, NULL);
+BATADV_ATTR_SIF_BOOL(bridge_loop_avoidance, S_IRUGO | S_IWUSR,
+		     batadv_bla_status_update);
 #endif
 #ifdef CONFIG_BATMAN_ADV_DAT
 BATADV_ATTR_SIF_BOOL(distributed_arp_table, S_IRUGO | S_IWUSR,
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 05/16] batman-adv: increase BLA wait periods to 6
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20   ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                     ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Simon Wunderlich, Marek Lindner, Antonio Quartulli

From: Simon Wunderlich <simon@open-mesh.com>

If networks take a long time to come up, e.g. due to lossy links, then
the bridge loop avoidance wait time to suppress broadcasts may not wait
long enough and detect a backbone before the mesh is brought up.
Increasing the wait period further to 60 seconds makes this scenario
less likely.

Signed-off-by: Simon Wunderlich <simon@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index da9f16c6829b..9dbd9107e7e1 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -109,7 +109,7 @@
 #define BATADV_MAX_AGGREGATION_MS 100
 
 #define BATADV_BLA_PERIOD_LENGTH	10000	/* 10 seconds */
-#define BATADV_BLA_BACKBONE_TIMEOUT	(BATADV_BLA_PERIOD_LENGTH * 3)
+#define BATADV_BLA_BACKBONE_TIMEOUT	(BATADV_BLA_PERIOD_LENGTH * 6)
 #define BATADV_BLA_CLAIM_TIMEOUT	(BATADV_BLA_PERIOD_LENGTH * 10)
 #define BATADV_BLA_WAIT_PERIODS		3
 
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 05/16] batman-adv: increase BLA wait periods to 6
@ 2016-01-09 13:20   ` Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, Simon Wunderlich, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Simon Wunderlich <simon@open-mesh.com>

If networks take a long time to come up, e.g. due to lossy links, then
the bridge loop avoidance wait time to suppress broadcasts may not wait
long enough and detect a backbone before the mesh is brought up.
Increasing the wait period further to 60 seconds makes this scenario
less likely.

Signed-off-by: Simon Wunderlich <simon@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index da9f16c6829b..9dbd9107e7e1 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -109,7 +109,7 @@
 #define BATADV_MAX_AGGREGATION_MS 100
 
 #define BATADV_BLA_PERIOD_LENGTH	10000	/* 10 seconds */
-#define BATADV_BLA_BACKBONE_TIMEOUT	(BATADV_BLA_PERIOD_LENGTH * 3)
+#define BATADV_BLA_BACKBONE_TIMEOUT	(BATADV_BLA_PERIOD_LENGTH * 6)
 #define BATADV_BLA_CLAIM_TIMEOUT	(BATADV_BLA_PERIOD_LENGTH * 10)
 #define BATADV_BLA_WAIT_PERIODS		3
 
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 06/16] batman-adv: only call post function if something changed
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20   ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                     ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Simon Wunderlich, Marek Lindner, Antonio Quartulli

From: Simon Wunderlich <simon@open-mesh.com>

Currently, the post function is also called on errors or if there were
no changes, which is redundant for the functions currently using these
facilities.

Signed-off-by: Simon Wunderlich <simon@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/sysfs.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c
index 48e2aaddda49..fe87777fda8a 100644
--- a/net/batman-adv/sysfs.c
+++ b/net/batman-adv/sysfs.c
@@ -242,10 +242,13 @@ ssize_t batadv_show_vlan_##_name(struct kobject *kobj,			\
 
 static int batadv_store_bool_attr(char *buff, size_t count,
 				  struct net_device *net_dev,
-				  const char *attr_name, atomic_t *attr)
+				  const char *attr_name, atomic_t *attr,
+				  bool *changed)
 {
 	int enabled = -1;
 
+	*changed = false;
+
 	if (buff[count - 1] == '\n')
 		buff[count - 1] = '\0';
 
@@ -272,6 +275,8 @@ static int batadv_store_bool_attr(char *buff, size_t count,
 		    atomic_read(attr) == 1 ? "enabled" : "disabled",
 		    enabled == 1 ? "enabled" : "disabled");
 
+	*changed = true;
+
 	atomic_set(attr, (unsigned int)enabled);
 	return count;
 }
@@ -282,11 +287,12 @@ __batadv_store_bool_attr(char *buff, size_t count,
 			 struct attribute *attr,
 			 atomic_t *attr_store, struct net_device *net_dev)
 {
+	bool changed;
 	int ret;
 
 	ret = batadv_store_bool_attr(buff, count, net_dev, attr->name,
-				     attr_store);
-	if (post_func && ret)
+				     attr_store, &changed);
+	if (post_func && changed)
 		post_func(net_dev);
 
 	return ret;
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 06/16] batman-adv: only call post function if something changed
@ 2016-01-09 13:20   ` Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, Simon Wunderlich, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Simon Wunderlich <simon@open-mesh.com>

Currently, the post function is also called on errors or if there were
no changes, which is redundant for the functions currently using these
facilities.

Signed-off-by: Simon Wunderlich <simon@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/sysfs.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c
index 48e2aaddda49..fe87777fda8a 100644
--- a/net/batman-adv/sysfs.c
+++ b/net/batman-adv/sysfs.c
@@ -242,10 +242,13 @@ ssize_t batadv_show_vlan_##_name(struct kobject *kobj,			\
 
 static int batadv_store_bool_attr(char *buff, size_t count,
 				  struct net_device *net_dev,
-				  const char *attr_name, atomic_t *attr)
+				  const char *attr_name, atomic_t *attr,
+				  bool *changed)
 {
 	int enabled = -1;
 
+	*changed = false;
+
 	if (buff[count - 1] == '\n')
 		buff[count - 1] = '\0';
 
@@ -272,6 +275,8 @@ static int batadv_store_bool_attr(char *buff, size_t count,
 		    atomic_read(attr) == 1 ? "enabled" : "disabled",
 		    enabled == 1 ? "enabled" : "disabled");
 
+	*changed = true;
+
 	atomic_set(attr, (unsigned int)enabled);
 	return count;
 }
@@ -282,11 +287,12 @@ __batadv_store_bool_attr(char *buff, size_t count,
 			 struct attribute *attr,
 			 atomic_t *attr_store, struct net_device *net_dev)
 {
+	bool changed;
 	int ret;
 
 	ret = batadv_store_bool_attr(buff, count, net_dev, attr->name,
-				     attr_store);
-	if (post_func && ret)
+				     attr_store, &changed);
+	if (post_func && changed)
 		post_func(net_dev);
 
 	return ret;
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 07/16] batman-adv: Add function to convert string to batadv throughput
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20   ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                     ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Sven Eckelmann, Sven Eckelmann,
	Marek Lindner, Antonio Quartulli

From: Sven Eckelmann <sven@narfation.org>

The code to convert the throughput information from a string to the
batman-adv internal (100Kibit/s) representation is duplicated in
batadv_parse_gw_bandwidth. Move this functionality to its own function
batadv_parse_throughput to reduce the code complexity.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/gateway_common.c | 121 +++++++++++++++++-----------------------
 1 file changed, 51 insertions(+), 70 deletions(-)

diff --git a/net/batman-adv/gateway_common.c b/net/batman-adv/gateway_common.c
index 0cb5e6b6f6d4..b51bface8bdd 100644
--- a/net/batman-adv/gateway_common.c
+++ b/net/batman-adv/gateway_common.c
@@ -31,27 +31,23 @@
 #include "packet.h"
 
 /**
- * batadv_parse_gw_bandwidth - parse supplied string buffer to extract download
- *  and upload bandwidth information
+ * batadv_parse_throughput - parse supplied string buffer to extract throughput
+ *  information
  * @net_dev: the soft interface net device
  * @buff: string buffer to parse
- * @down: pointer holding the returned download bandwidth information
- * @up: pointer holding the returned upload bandwidth information
+ * @description: text shown when throughput string cannot be parsed
+ * @throughput: pointer holding the returned throughput information
  *
  * Returns false on parse error and true otherwise.
  */
-static bool batadv_parse_gw_bandwidth(struct net_device *net_dev, char *buff,
-				      u32 *down, u32 *up)
+static bool batadv_parse_throughput(struct net_device *net_dev, char *buff,
+				    const char *description, u32 *throughput)
 {
 	enum batadv_bandwidth_units bw_unit_type = BATADV_BW_UNIT_KBIT;
-	char *slash_ptr, *tmp_ptr;
-	u64 ldown, lup;
+	u64 lthroughput;
+	char *tmp_ptr;
 	int ret;
 
-	slash_ptr = strchr(buff, '/');
-	if (slash_ptr)
-		*slash_ptr = 0;
-
 	if (strlen(buff) > 4) {
 		tmp_ptr = buff + strlen(buff) - 4;
 
@@ -63,90 +59,75 @@ static bool batadv_parse_gw_bandwidth(struct net_device *net_dev, char *buff,
 			*tmp_ptr = '\0';
 	}
 
-	ret = kstrtou64(buff, 10, &ldown);
+	ret = kstrtou64(buff, 10, &lthroughput);
 	if (ret) {
 		batadv_err(net_dev,
-			   "Download speed of gateway mode invalid: %s\n",
-			   buff);
+			   "Invalid throughput speed for %s: %s\n",
+			   description, buff);
 		return false;
 	}
 
 	switch (bw_unit_type) {
 	case BATADV_BW_UNIT_MBIT:
 		/* prevent overflow */
-		if (U64_MAX / 10 < ldown) {
+		if (U64_MAX / 10 < lthroughput) {
 			batadv_err(net_dev,
-				   "Download speed of gateway mode too large: %s\n",
-				   buff);
+				   "Throughput speed for %s too large: %s\n",
+				   description, buff);
 			return false;
 		}
 
-		ldown *= 10;
+		lthroughput *= 10;
 		break;
 	case BATADV_BW_UNIT_KBIT:
 	default:
-		ldown = div_u64(ldown, 100);
+		lthroughput = div_u64(lthroughput, 100);
 		break;
 	}
 
-	if (U32_MAX < ldown) {
+	if (lthroughput > U32_MAX) {
 		batadv_err(net_dev,
-			   "Download speed of gateway mode too large: %s\n",
-			   buff);
+			   "Throughput speed for %s too large: %s\n",
+			   description, buff);
 		return false;
 	}
 
-	*down = ldown;
+	*throughput = lthroughput;
+
+	return true;
+}
+
+/**
+ * batadv_parse_gw_bandwidth - parse supplied string buffer to extract download
+ *  and upload bandwidth information
+ * @net_dev: the soft interface net device
+ * @buff: string buffer to parse
+ * @down: pointer holding the returned download bandwidth information
+ * @up: pointer holding the returned upload bandwidth information
+ *
+ * Return: false on parse error and true otherwise.
+ */
+static bool batadv_parse_gw_bandwidth(struct net_device *net_dev, char *buff,
+				      u32 *down, u32 *up)
+{
+	char *slash_ptr;
+	bool ret;
+
+	slash_ptr = strchr(buff, '/');
+	if (slash_ptr)
+		*slash_ptr = 0;
+
+	ret = batadv_parse_throughput(net_dev, buff, "download gateway speed",
+				      down);
+	if (!ret)
+		return false;
 
 	/* we also got some upload info */
 	if (slash_ptr) {
-		bw_unit_type = BATADV_BW_UNIT_KBIT;
-
-		if (strlen(slash_ptr + 1) > 4) {
-			tmp_ptr = slash_ptr + 1 - 4 + strlen(slash_ptr + 1);
-
-			if (strncasecmp(tmp_ptr, "mbit", 4) == 0)
-				bw_unit_type = BATADV_BW_UNIT_MBIT;
-
-			if ((strncasecmp(tmp_ptr, "kbit", 4) == 0) ||
-			    (bw_unit_type == BATADV_BW_UNIT_MBIT))
-				*tmp_ptr = '\0';
-		}
-
-		ret = kstrtou64(slash_ptr + 1, 10, &lup);
-		if (ret) {
-			batadv_err(net_dev,
-				   "Upload speed of gateway mode invalid: %s\n",
-				   slash_ptr + 1);
+		ret = batadv_parse_throughput(net_dev, slash_ptr + 1,
+					      "upload gateway speed", up);
+		if (!ret)
 			return false;
-		}
-
-		switch (bw_unit_type) {
-		case BATADV_BW_UNIT_MBIT:
-			/* prevent overflow */
-			if (U64_MAX / 10 < lup) {
-				batadv_err(net_dev,
-					   "Upload speed of gateway mode too large: %s\n",
-					   slash_ptr + 1);
-				return false;
-			}
-
-			lup *= 10;
-			break;
-		case BATADV_BW_UNIT_KBIT:
-		default:
-			lup = div_u64(lup, 100);
-			break;
-		}
-
-		if (U32_MAX < lup) {
-			batadv_err(net_dev,
-				   "Upload speed of gateway mode too large: %s\n",
-				   slash_ptr + 1);
-			return false;
-		}
-
-		*up = lup;
 	}
 
 	return true;
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 07/16] batman-adv: Add function to convert string to batadv throughput
@ 2016-01-09 13:20   ` Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: Sven Eckelmann, Marek Lindner, netdev, b.a.t.m.a.n, Antonio Quartulli

From: Sven Eckelmann <sven@narfation.org>

The code to convert the throughput information from a string to the
batman-adv internal (100Kibit/s) representation is duplicated in
batadv_parse_gw_bandwidth. Move this functionality to its own function
batadv_parse_throughput to reduce the code complexity.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/gateway_common.c | 121 +++++++++++++++++-----------------------
 1 file changed, 51 insertions(+), 70 deletions(-)

diff --git a/net/batman-adv/gateway_common.c b/net/batman-adv/gateway_common.c
index 0cb5e6b6f6d4..b51bface8bdd 100644
--- a/net/batman-adv/gateway_common.c
+++ b/net/batman-adv/gateway_common.c
@@ -31,27 +31,23 @@
 #include "packet.h"
 
 /**
- * batadv_parse_gw_bandwidth - parse supplied string buffer to extract download
- *  and upload bandwidth information
+ * batadv_parse_throughput - parse supplied string buffer to extract throughput
+ *  information
  * @net_dev: the soft interface net device
  * @buff: string buffer to parse
- * @down: pointer holding the returned download bandwidth information
- * @up: pointer holding the returned upload bandwidth information
+ * @description: text shown when throughput string cannot be parsed
+ * @throughput: pointer holding the returned throughput information
  *
  * Returns false on parse error and true otherwise.
  */
-static bool batadv_parse_gw_bandwidth(struct net_device *net_dev, char *buff,
-				      u32 *down, u32 *up)
+static bool batadv_parse_throughput(struct net_device *net_dev, char *buff,
+				    const char *description, u32 *throughput)
 {
 	enum batadv_bandwidth_units bw_unit_type = BATADV_BW_UNIT_KBIT;
-	char *slash_ptr, *tmp_ptr;
-	u64 ldown, lup;
+	u64 lthroughput;
+	char *tmp_ptr;
 	int ret;
 
-	slash_ptr = strchr(buff, '/');
-	if (slash_ptr)
-		*slash_ptr = 0;
-
 	if (strlen(buff) > 4) {
 		tmp_ptr = buff + strlen(buff) - 4;
 
@@ -63,90 +59,75 @@ static bool batadv_parse_gw_bandwidth(struct net_device *net_dev, char *buff,
 			*tmp_ptr = '\0';
 	}
 
-	ret = kstrtou64(buff, 10, &ldown);
+	ret = kstrtou64(buff, 10, &lthroughput);
 	if (ret) {
 		batadv_err(net_dev,
-			   "Download speed of gateway mode invalid: %s\n",
-			   buff);
+			   "Invalid throughput speed for %s: %s\n",
+			   description, buff);
 		return false;
 	}
 
 	switch (bw_unit_type) {
 	case BATADV_BW_UNIT_MBIT:
 		/* prevent overflow */
-		if (U64_MAX / 10 < ldown) {
+		if (U64_MAX / 10 < lthroughput) {
 			batadv_err(net_dev,
-				   "Download speed of gateway mode too large: %s\n",
-				   buff);
+				   "Throughput speed for %s too large: %s\n",
+				   description, buff);
 			return false;
 		}
 
-		ldown *= 10;
+		lthroughput *= 10;
 		break;
 	case BATADV_BW_UNIT_KBIT:
 	default:
-		ldown = div_u64(ldown, 100);
+		lthroughput = div_u64(lthroughput, 100);
 		break;
 	}
 
-	if (U32_MAX < ldown) {
+	if (lthroughput > U32_MAX) {
 		batadv_err(net_dev,
-			   "Download speed of gateway mode too large: %s\n",
-			   buff);
+			   "Throughput speed for %s too large: %s\n",
+			   description, buff);
 		return false;
 	}
 
-	*down = ldown;
+	*throughput = lthroughput;
+
+	return true;
+}
+
+/**
+ * batadv_parse_gw_bandwidth - parse supplied string buffer to extract download
+ *  and upload bandwidth information
+ * @net_dev: the soft interface net device
+ * @buff: string buffer to parse
+ * @down: pointer holding the returned download bandwidth information
+ * @up: pointer holding the returned upload bandwidth information
+ *
+ * Return: false on parse error and true otherwise.
+ */
+static bool batadv_parse_gw_bandwidth(struct net_device *net_dev, char *buff,
+				      u32 *down, u32 *up)
+{
+	char *slash_ptr;
+	bool ret;
+
+	slash_ptr = strchr(buff, '/');
+	if (slash_ptr)
+		*slash_ptr = 0;
+
+	ret = batadv_parse_throughput(net_dev, buff, "download gateway speed",
+				      down);
+	if (!ret)
+		return false;
 
 	/* we also got some upload info */
 	if (slash_ptr) {
-		bw_unit_type = BATADV_BW_UNIT_KBIT;
-
-		if (strlen(slash_ptr + 1) > 4) {
-			tmp_ptr = slash_ptr + 1 - 4 + strlen(slash_ptr + 1);
-
-			if (strncasecmp(tmp_ptr, "mbit", 4) == 0)
-				bw_unit_type = BATADV_BW_UNIT_MBIT;
-
-			if ((strncasecmp(tmp_ptr, "kbit", 4) == 0) ||
-			    (bw_unit_type == BATADV_BW_UNIT_MBIT))
-				*tmp_ptr = '\0';
-		}
-
-		ret = kstrtou64(slash_ptr + 1, 10, &lup);
-		if (ret) {
-			batadv_err(net_dev,
-				   "Upload speed of gateway mode invalid: %s\n",
-				   slash_ptr + 1);
+		ret = batadv_parse_throughput(net_dev, slash_ptr + 1,
+					      "upload gateway speed", up);
+		if (!ret)
 			return false;
-		}
-
-		switch (bw_unit_type) {
-		case BATADV_BW_UNIT_MBIT:
-			/* prevent overflow */
-			if (U64_MAX / 10 < lup) {
-				batadv_err(net_dev,
-					   "Upload speed of gateway mode too large: %s\n",
-					   slash_ptr + 1);
-				return false;
-			}
-
-			lup *= 10;
-			break;
-		case BATADV_BW_UNIT_KBIT:
-		default:
-			lup = div_u64(lup, 100);
-			break;
-		}
-
-		if (U32_MAX < lup) {
-			batadv_err(net_dev,
-				   "Upload speed of gateway mode too large: %s\n",
-				   slash_ptr + 1);
-			return false;
-		}
-
-		*up = lup;
 	}
 
 	return true;
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 08/16] batman-adv: Delete unnecessary checks before the function call "kfree_skb"
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20   ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                     ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Markus Elfring, Marek Lindner, Antonio Quartulli

From: Markus Elfring <elfring@users.sourceforge.net>

The kfree_skb() function tests whether its argument is NULL and then
returns immediately. Thus the test around the calls is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.c           | 2 +-
 net/batman-adv/network-coding.c | 4 +---
 net/batman-adv/send.c           | 3 +--
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 95fd418e9567..5b678f3471fc 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -1184,7 +1184,7 @@ void batadv_tvlv_unicast_send(struct batadv_priv *bat_priv, u8 *src,
 		ret = true;
 
 out:
-	if (skb && !ret)
+	if (!ret)
 		kfree_skb(skb);
 	if (orig_node)
 		batadv_orig_node_free_ref(orig_node);
diff --git a/net/batman-adv/network-coding.c b/net/batman-adv/network-coding.c
index f5276be2c77c..c98b0ab85449 100644
--- a/net/batman-adv/network-coding.c
+++ b/net/batman-adv/network-coding.c
@@ -244,9 +244,7 @@ static void batadv_nc_path_free_ref(struct batadv_nc_path *nc_path)
  */
 static void batadv_nc_packet_free(struct batadv_nc_packet *nc_packet)
 {
-	if (nc_packet->skb)
-		kfree_skb(nc_packet->skb);
-
+	kfree_skb(nc_packet->skb);
 	batadv_nc_path_free_ref(nc_packet->nc_path);
 	kfree(nc_packet);
 }
diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c
index f664324805eb..782fa33ec296 100644
--- a/net/batman-adv/send.c
+++ b/net/batman-adv/send.c
@@ -407,8 +407,7 @@ void batadv_schedule_bat_ogm(struct batadv_hard_iface *hard_iface)
 
 static void batadv_forw_packet_free(struct batadv_forw_packet *forw_packet)
 {
-	if (forw_packet->skb)
-		kfree_skb(forw_packet->skb);
+	kfree_skb(forw_packet->skb);
 	if (forw_packet->if_incoming)
 		batadv_hardif_free_ref(forw_packet->if_incoming);
 	if (forw_packet->if_outgoing)
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 08/16] batman-adv: Delete unnecessary checks before the function call "kfree_skb"
@ 2016-01-09 13:20   ` Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Markus Elfring, Marek Lindner

From: Markus Elfring <elfring@users.sourceforge.net>

The kfree_skb() function tests whether its argument is NULL and then
returns immediately. Thus the test around the calls is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.c           | 2 +-
 net/batman-adv/network-coding.c | 4 +---
 net/batman-adv/send.c           | 3 +--
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 95fd418e9567..5b678f3471fc 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -1184,7 +1184,7 @@ void batadv_tvlv_unicast_send(struct batadv_priv *bat_priv, u8 *src,
 		ret = true;
 
 out:
-	if (skb && !ret)
+	if (!ret)
 		kfree_skb(skb);
 	if (orig_node)
 		batadv_orig_node_free_ref(orig_node);
diff --git a/net/batman-adv/network-coding.c b/net/batman-adv/network-coding.c
index f5276be2c77c..c98b0ab85449 100644
--- a/net/batman-adv/network-coding.c
+++ b/net/batman-adv/network-coding.c
@@ -244,9 +244,7 @@ static void batadv_nc_path_free_ref(struct batadv_nc_path *nc_path)
  */
 static void batadv_nc_packet_free(struct batadv_nc_packet *nc_packet)
 {
-	if (nc_packet->skb)
-		kfree_skb(nc_packet->skb);
-
+	kfree_skb(nc_packet->skb);
 	batadv_nc_path_free_ref(nc_packet->nc_path);
 	kfree(nc_packet);
 }
diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c
index f664324805eb..782fa33ec296 100644
--- a/net/batman-adv/send.c
+++ b/net/batman-adv/send.c
@@ -407,8 +407,7 @@ void batadv_schedule_bat_ogm(struct batadv_hard_iface *hard_iface)
 
 static void batadv_forw_packet_free(struct batadv_forw_packet *forw_packet)
 {
-	if (forw_packet->skb)
-		kfree_skb(forw_packet->skb);
+	kfree_skb(forw_packet->skb);
 	if (forw_packet->if_incoming)
 		batadv_hardif_free_ref(forw_packet->if_incoming);
 	if (forw_packet->if_outgoing)
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 09/16] batman-adv: Less checks in batadv_tvlv_unicast_send()
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20   ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                     ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Markus Elfring, Marek Lindner, Antonio Quartulli

From: Markus Elfring <elfring@users.sourceforge.net>

* Let us return directly if a call of the batadv_orig_hash_find() function
  returned a null pointer.

* Omit the initialisation for the variable "skb" at the beginning.

* Replace an assignment by a call of the kfree_skb() function
  and delete the affected variable "ret" then.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 5b678f3471fc..4b5d61fbadb1 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -1143,15 +1143,14 @@ void batadv_tvlv_unicast_send(struct batadv_priv *bat_priv, u8 *src,
 	struct batadv_unicast_tvlv_packet *unicast_tvlv_packet;
 	struct batadv_tvlv_hdr *tvlv_hdr;
 	struct batadv_orig_node *orig_node;
-	struct sk_buff *skb = NULL;
+	struct sk_buff *skb;
 	unsigned char *tvlv_buff;
 	unsigned int tvlv_len;
 	ssize_t hdr_len = sizeof(*unicast_tvlv_packet);
-	bool ret = false;
 
 	orig_node = batadv_orig_hash_find(bat_priv, dst);
 	if (!orig_node)
-		goto out;
+		return;
 
 	tvlv_len = sizeof(*tvlv_hdr) + tvlv_value_len;
 
@@ -1180,14 +1179,10 @@ void batadv_tvlv_unicast_send(struct batadv_priv *bat_priv, u8 *src,
 	tvlv_buff += sizeof(*tvlv_hdr);
 	memcpy(tvlv_buff, tvlv_value, tvlv_value_len);
 
-	if (batadv_send_skb_to_orig(skb, orig_node, NULL) != NET_XMIT_DROP)
-		ret = true;
-
-out:
-	if (!ret)
+	if (batadv_send_skb_to_orig(skb, orig_node, NULL) == NET_XMIT_DROP)
 		kfree_skb(skb);
-	if (orig_node)
-		batadv_orig_node_free_ref(orig_node);
+out:
+	batadv_orig_node_free_ref(orig_node);
 }
 
 /**
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 09/16] batman-adv: Less checks in batadv_tvlv_unicast_send()
@ 2016-01-09 13:20   ` Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Markus Elfring, Marek Lindner

From: Markus Elfring <elfring@users.sourceforge.net>

* Let us return directly if a call of the batadv_orig_hash_find() function
  returned a null pointer.

* Omit the initialisation for the variable "skb" at the beginning.

* Replace an assignment by a call of the kfree_skb() function
  and delete the affected variable "ret" then.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/main.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 5b678f3471fc..4b5d61fbadb1 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -1143,15 +1143,14 @@ void batadv_tvlv_unicast_send(struct batadv_priv *bat_priv, u8 *src,
 	struct batadv_unicast_tvlv_packet *unicast_tvlv_packet;
 	struct batadv_tvlv_hdr *tvlv_hdr;
 	struct batadv_orig_node *orig_node;
-	struct sk_buff *skb = NULL;
+	struct sk_buff *skb;
 	unsigned char *tvlv_buff;
 	unsigned int tvlv_len;
 	ssize_t hdr_len = sizeof(*unicast_tvlv_packet);
-	bool ret = false;
 
 	orig_node = batadv_orig_hash_find(bat_priv, dst);
 	if (!orig_node)
-		goto out;
+		return;
 
 	tvlv_len = sizeof(*tvlv_hdr) + tvlv_value_len;
 
@@ -1180,14 +1179,10 @@ void batadv_tvlv_unicast_send(struct batadv_priv *bat_priv, u8 *src,
 	tvlv_buff += sizeof(*tvlv_hdr);
 	memcpy(tvlv_buff, tvlv_value, tvlv_value_len);
 
-	if (batadv_send_skb_to_orig(skb, orig_node, NULL) != NET_XMIT_DROP)
-		ret = true;
-
-out:
-	if (!ret)
+	if (batadv_send_skb_to_orig(skb, orig_node, NULL) == NET_XMIT_DROP)
 		kfree_skb(skb);
-	if (orig_node)
-		batadv_orig_node_free_ref(orig_node);
+out:
+	batadv_orig_node_free_ref(orig_node);
 }
 
 /**
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 10/16] batman-adv: Delete an unnecessary check before the function call "batadv_softif_vlan_free_ref"
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (10 preceding siblings ...)
  2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                   ` (12 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Markus Elfring, Marek Lindner, Antonio Quartulli

From: Markus Elfring <elfring@users.sourceforge.net>

The batadv_softif_vlan_free_ref() function tests whether its argument is NULL
and then returns immediately. Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/translation-table.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index ec67deff1621..5852fda9f175 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -3356,8 +3356,7 @@ bool batadv_is_ap_isolated(struct batadv_priv *bat_priv, u8 *src, u8 *dst,
 	ret = true;
 
 out:
-	if (vlan)
-		batadv_softif_vlan_free_ref(vlan);
+	batadv_softif_vlan_free_ref(vlan);
 	if (tt_global_entry)
 		batadv_tt_global_entry_free_ref(tt_global_entry);
 	if (tt_local_entry)
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 10/16] batman-adv: Delete an unnecessary check before the function call "batadv_softif_vlan_free_ref"
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (11 preceding siblings ...)
  2016-01-09 13:20 ` [PATCH 10/16] batman-adv: Delete an unnecessary check before the function call "batadv_softif_vlan_free_ref" Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Markus Elfring, Marek Lindner

From: Markus Elfring <elfring@users.sourceforge.net>

The batadv_softif_vlan_free_ref() function tests whether its argument is NULL
and then returns immediately. Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/translation-table.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index ec67deff1621..5852fda9f175 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -3356,8 +3356,7 @@ bool batadv_is_ap_isolated(struct batadv_priv *bat_priv, u8 *src, u8 *dst,
 	ret = true;
 
 out:
-	if (vlan)
-		batadv_softif_vlan_free_ref(vlan);
+	batadv_softif_vlan_free_ref(vlan);
 	if (tt_global_entry)
 		batadv_tt_global_entry_free_ref(tt_global_entry);
 	if (tt_local_entry)
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 11/16] batman-adv: Split a condition check
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-09 13:20   ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                     ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Markus Elfring, Marek Lindner, Antonio Quartulli

From: Markus Elfring <elfring@users.sourceforge.net>

Let us split a check for a condition at the beginning of the
batadv_is_ap_isolated() function so that a direct return can be performed
in this function if the variable "vlan" contained a null pointer.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/translation-table.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 5852fda9f175..a22080c53401 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -3339,7 +3339,10 @@ bool batadv_is_ap_isolated(struct batadv_priv *bat_priv, u8 *src, u8 *dst,
 	bool ret = false;
 
 	vlan = batadv_softif_vlan_get(bat_priv, vid);
-	if (!vlan || !atomic_read(&vlan->ap_isolation))
+	if (!vlan)
+		return false;
+
+	if (!atomic_read(&vlan->ap_isolation))
 		goto out;
 
 	tt_local_entry = batadv_tt_local_hash_find(bat_priv, dst, vid);
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 11/16] batman-adv: Split a condition check
@ 2016-01-09 13:20   ` Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Markus Elfring, Marek Lindner

From: Markus Elfring <elfring@users.sourceforge.net>

Let us split a check for a condition at the beginning of the
batadv_is_ap_isolated() function so that a direct return can be performed
in this function if the variable "vlan" contained a null pointer.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/translation-table.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 5852fda9f175..a22080c53401 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -3339,7 +3339,10 @@ bool batadv_is_ap_isolated(struct batadv_priv *bat_priv, u8 *src, u8 *dst,
 	bool ret = false;
 
 	vlan = batadv_softif_vlan_get(bat_priv, vid);
-	if (!vlan || !atomic_read(&vlan->ap_isolation))
+	if (!vlan)
+		return false;
+
+	if (!atomic_read(&vlan->ap_isolation))
 		goto out;
 
 	tt_local_entry = batadv_tt_local_hash_find(bat_priv, dst, vid);
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 12/16] batman-adv: Change ifconfig examples to iproute2
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (14 preceding siblings ...)
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 12/16] batman-adv: Change ifconfig examples to iproute2 Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 13/16] batman-adv: Fix kernel-doc parsing of main structs Antonio Quartulli
                   ` (8 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Sven Eckelmann, Marek Lindner, Antonio Quartulli

From: Sven Eckelmann <sven@narfation.org>

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 Documentation/networking/batman-adv.txt | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/Documentation/networking/batman-adv.txt b/Documentation/networking/batman-adv.txt
index 58e49042fc20..ff23b755f5e4 100644
--- a/Documentation/networking/batman-adv.txt
+++ b/Documentation/networking/batman-adv.txt
@@ -115,14 +115,17 @@ The "bat0" interface can be used like any  other  regular  inter-
 face.  It needs an IP address which can be either statically con-
 figured or dynamically (by using DHCP or similar services):
 
-# NodeA: ifconfig bat0 192.168.0.1
-# NodeB: ifconfig bat0 192.168.0.2
+# NodeA: ip link set up dev bat0
+# NodeA: ip addr add 192.168.0.1/24 dev bat0
+
+# NodeB: ip link set up dev bat0
+# NodeB: ip addr add 192.168.0.2/24 dev bat0
 # NodeB: ping 192.168.0.1
 
 Note:  In  order to avoid problems remove all IP addresses previ-
 ously assigned to interfaces now used by batman advanced, e.g.
 
-# ifconfig eth0 0.0.0.0
+# ip addr flush dev eth0
 
 
 LOGGING/DEBUGGING
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 12/16] batman-adv: Change ifconfig examples to iproute2
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (13 preceding siblings ...)
  2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` Antonio Quartulli
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Sven Eckelmann <sven@narfation.org>

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 Documentation/networking/batman-adv.txt | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/Documentation/networking/batman-adv.txt b/Documentation/networking/batman-adv.txt
index 58e49042fc20..ff23b755f5e4 100644
--- a/Documentation/networking/batman-adv.txt
+++ b/Documentation/networking/batman-adv.txt
@@ -115,14 +115,17 @@ The "bat0" interface can be used like any  other  regular  inter-
 face.  It needs an IP address which can be either statically con-
 figured or dynamically (by using DHCP or similar services):
 
-# NodeA: ifconfig bat0 192.168.0.1
-# NodeB: ifconfig bat0 192.168.0.2
+# NodeA: ip link set up dev bat0
+# NodeA: ip addr add 192.168.0.1/24 dev bat0
+
+# NodeB: ip link set up dev bat0
+# NodeB: ip addr add 192.168.0.2/24 dev bat0
 # NodeB: ping 192.168.0.1
 
 Note:  In  order to avoid problems remove all IP addresses previ-
 ously assigned to interfaces now used by batman advanced, e.g.
 
-# ifconfig eth0 0.0.0.0
+# ip addr flush dev eth0
 
 
 LOGGING/DEBUGGING
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 13/16] batman-adv: Fix kernel-doc parsing of main structs
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (16 preceding siblings ...)
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 13/16] batman-adv: Fix kernel-doc parsing of main structs Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 14/16] batman-adv: Fix kerneldoc member names in for " Antonio Quartulli
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Sven Eckelmann, Marek Lindner, Antonio Quartulli

From: Sven Eckelmann <sven@narfation.org>

kernel-doc is not able to skip an #ifdef between the kernel documentation
block and the start of the struct. Moving the #ifdef before the kernel doc
block avoids this problem

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/types.h | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 7c386dbb75f0..876ac336c61e 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -423,13 +423,14 @@ struct batadv_neigh_ifinfo {
 	struct rcu_head rcu;
 };
 
+#ifdef CONFIG_BATMAN_ADV_BLA
+
 /**
  * struct batadv_bcast_duplist_entry - structure for LAN broadcast suppression
  * @orig[ETH_ALEN]: mac address of orig node orginating the broadcast
  * @crc: crc32 checksum of broadcast payload
  * @entrytime: time when the broadcast packet was received
  */
-#ifdef CONFIG_BATMAN_ADV_BLA
 struct batadv_bcast_duplist_entry {
 	u8 orig[ETH_ALEN];
 	__be32 crc;
@@ -571,6 +572,8 @@ struct batadv_priv_tt {
 	struct delayed_work work;
 };
 
+#ifdef CONFIG_BATMAN_ADV_BLA
+
 /**
  * struct batadv_priv_bla - per mesh interface bridge loope avoidance data
  * @num_requests; number of bla requests in flight
@@ -583,7 +586,6 @@ struct batadv_priv_tt {
  * @claim_dest: local claim data (e.g. claim group)
  * @work: work queue callback item for cleanups & bla announcements
  */
-#ifdef CONFIG_BATMAN_ADV_BLA
 struct batadv_priv_bla {
 	atomic_t num_requests;
 	struct batadv_hashtable *claim_hash;
@@ -597,6 +599,8 @@ struct batadv_priv_bla {
 };
 #endif
 
+#ifdef CONFIG_BATMAN_ADV_DEBUG
+
 /**
  * struct batadv_priv_debug_log - debug logging data
  * @log_buff: buffer holding the logs (ring bufer)
@@ -605,7 +609,6 @@ struct batadv_priv_bla {
  * @lock: lock protecting log_buff, log_start & log_end
  * @queue_wait: log reader's wait queue
  */
-#ifdef CONFIG_BATMAN_ADV_DEBUG
 struct batadv_priv_debug_log {
 	char log_buff[BATADV_LOG_BUF_LEN];
 	unsigned long log_start;
@@ -647,13 +650,14 @@ struct batadv_priv_tvlv {
 	spinlock_t handler_list_lock; /* protects handler_list */
 };
 
+#ifdef CONFIG_BATMAN_ADV_DAT
+
 /**
  * struct batadv_priv_dat - per mesh interface DAT private data
  * @addr: node DAT address
  * @hash: hashtable representing the local ARP cache
  * @work: work queue callback item for cache purging
  */
-#ifdef CONFIG_BATMAN_ADV_DAT
 struct batadv_priv_dat {
 	batadv_dat_addr_t addr;
 	struct batadv_hashtable *hash;
@@ -893,6 +897,8 @@ struct batadv_socket_packet {
 	u8 icmp_packet[BATADV_ICMP_MAX_PACKET_SIZE];
 };
 
+#ifdef CONFIG_BATMAN_ADV_BLA
+
 /**
  * struct batadv_bla_backbone_gw - batman-adv gateway bridged into the LAN
  * @orig: originator address of backbone node (mac address of primary iface)
@@ -910,7 +916,6 @@ struct batadv_socket_packet {
  * @refcount: number of contexts the object is used
  * @rcu: struct used for freeing in an RCU-safe manner
  */
-#ifdef CONFIG_BATMAN_ADV_BLA
 struct batadv_bla_backbone_gw {
 	u8 orig[ETH_ALEN];
 	unsigned short vid;
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 13/16] batman-adv: Fix kernel-doc parsing of main structs
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (15 preceding siblings ...)
  2016-01-09 13:20 ` Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` Antonio Quartulli
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Sven Eckelmann <sven@narfation.org>

kernel-doc is not able to skip an #ifdef between the kernel documentation
block and the start of the struct. Moving the #ifdef before the kernel doc
block avoids this problem

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/types.h | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 7c386dbb75f0..876ac336c61e 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -423,13 +423,14 @@ struct batadv_neigh_ifinfo {
 	struct rcu_head rcu;
 };
 
+#ifdef CONFIG_BATMAN_ADV_BLA
+
 /**
  * struct batadv_bcast_duplist_entry - structure for LAN broadcast suppression
  * @orig[ETH_ALEN]: mac address of orig node orginating the broadcast
  * @crc: crc32 checksum of broadcast payload
  * @entrytime: time when the broadcast packet was received
  */
-#ifdef CONFIG_BATMAN_ADV_BLA
 struct batadv_bcast_duplist_entry {
 	u8 orig[ETH_ALEN];
 	__be32 crc;
@@ -571,6 +572,8 @@ struct batadv_priv_tt {
 	struct delayed_work work;
 };
 
+#ifdef CONFIG_BATMAN_ADV_BLA
+
 /**
  * struct batadv_priv_bla - per mesh interface bridge loope avoidance data
  * @num_requests; number of bla requests in flight
@@ -583,7 +586,6 @@ struct batadv_priv_tt {
  * @claim_dest: local claim data (e.g. claim group)
  * @work: work queue callback item for cleanups & bla announcements
  */
-#ifdef CONFIG_BATMAN_ADV_BLA
 struct batadv_priv_bla {
 	atomic_t num_requests;
 	struct batadv_hashtable *claim_hash;
@@ -597,6 +599,8 @@ struct batadv_priv_bla {
 };
 #endif
 
+#ifdef CONFIG_BATMAN_ADV_DEBUG
+
 /**
  * struct batadv_priv_debug_log - debug logging data
  * @log_buff: buffer holding the logs (ring bufer)
@@ -605,7 +609,6 @@ struct batadv_priv_bla {
  * @lock: lock protecting log_buff, log_start & log_end
  * @queue_wait: log reader's wait queue
  */
-#ifdef CONFIG_BATMAN_ADV_DEBUG
 struct batadv_priv_debug_log {
 	char log_buff[BATADV_LOG_BUF_LEN];
 	unsigned long log_start;
@@ -647,13 +650,14 @@ struct batadv_priv_tvlv {
 	spinlock_t handler_list_lock; /* protects handler_list */
 };
 
+#ifdef CONFIG_BATMAN_ADV_DAT
+
 /**
  * struct batadv_priv_dat - per mesh interface DAT private data
  * @addr: node DAT address
  * @hash: hashtable representing the local ARP cache
  * @work: work queue callback item for cache purging
  */
-#ifdef CONFIG_BATMAN_ADV_DAT
 struct batadv_priv_dat {
 	batadv_dat_addr_t addr;
 	struct batadv_hashtable *hash;
@@ -893,6 +897,8 @@ struct batadv_socket_packet {
 	u8 icmp_packet[BATADV_ICMP_MAX_PACKET_SIZE];
 };
 
+#ifdef CONFIG_BATMAN_ADV_BLA
+
 /**
  * struct batadv_bla_backbone_gw - batman-adv gateway bridged into the LAN
  * @orig: originator address of backbone node (mac address of primary iface)
@@ -910,7 +916,6 @@ struct batadv_socket_packet {
  * @refcount: number of contexts the object is used
  * @rcu: struct used for freeing in an RCU-safe manner
  */
-#ifdef CONFIG_BATMAN_ADV_BLA
 struct batadv_bla_backbone_gw {
 	u8 orig[ETH_ALEN];
 	unsigned short vid;
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 14/16] batman-adv: Fix kerneldoc member names in for main structs
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (18 preceding siblings ...)
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 14/16] batman-adv: Fix kerneldoc member names in for " Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 15/16] batman-adv: Remove kerneldoc for missing struct members Antonio Quartulli
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Sven Eckelmann, Marek Lindner, Antonio Quartulli

From: Sven Eckelmann <sven@narfation.org>

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/types.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 876ac336c61e..d93501edb987 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -223,12 +223,12 @@ struct batadv_orig_bat_iv {
  * @orig: originator ethernet address
  * @ifinfo_list: list for routers per outgoing interface
  * @last_bonding_candidate: pointer to last ifinfo of last used router
- * @batadv_dat_addr_t:  address of the orig node in the distributed hash
+ * @dat_addr: address of the orig node in the distributed hash
  * @last_seen: time when last packet from this node was received
  * @bcast_seqno_reset: time when the broadcast seqno window was reset
  * @mcast_handler_lock: synchronizes mcast-capability and -flag changes
  * @mcast_flags: multicast flags announced by the orig node
- * @mcast_want_all_unsnoop_node: a list node for the
+ * @mcast_want_all_unsnoopables_node: a list node for the
  *  mcast.want_all_unsnoopables list
  * @mcast_want_all_ipv4_node: a list node for the mcast.want_all_ipv4 list
  * @mcast_want_all_ipv6_node: a list node for the mcast.want_all_ipv6 list
@@ -427,7 +427,7 @@ struct batadv_neigh_ifinfo {
 
 /**
  * struct batadv_bcast_duplist_entry - structure for LAN broadcast suppression
- * @orig[ETH_ALEN]: mac address of orig node orginating the broadcast
+ * @orig: mac address of orig node orginating the broadcast
  * @crc: crc32 checksum of broadcast payload
  * @entrytime: time when the broadcast packet was received
  */
@@ -576,7 +576,7 @@ struct batadv_priv_tt {
 
 /**
  * struct batadv_priv_bla - per mesh interface bridge loope avoidance data
- * @num_requests; number of bla requests in flight
+ * @num_requests: number of bla requests in flight
  * @claim_hash: hash table containing mesh nodes this host has claimed
  * @backbone_hash: hash table containing all detected backbone gateways
  * @bcast_duplist: recently received broadcast packets array (for broadcast
@@ -799,7 +799,7 @@ struct batadv_softif_vlan {
  * @dat: distributed arp table data
  * @mcast: multicast data
  * @network_coding: bool indicating whether network coding is enabled
- * @batadv_priv_nc: network coding data
+ * @nc: network coding data
  */
 struct batadv_priv {
 	atomic_t mesh_state;
@@ -934,7 +934,7 @@ struct batadv_bla_backbone_gw {
  * struct batadv_bla_claim - claimed non-mesh client structure
  * @addr: mac address of claimed non-mesh client
  * @vid: vlan id this client was detected on
- * @batadv_bla_backbone_gw: pointer to backbone gw claiming this client
+ * @backbone_gw: pointer to backbone gw claiming this client
  * @lasttime: last time we heard of claim (locals only)
  * @hash_entry: hlist node for batadv_priv_bla::claim_hash
  * @refcount: number of contexts the object is used
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 14/16] batman-adv: Fix kerneldoc member names in for main structs
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (17 preceding siblings ...)
  2016-01-09 13:20 ` Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` Antonio Quartulli
                   ` (5 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Sven Eckelmann <sven@narfation.org>

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/types.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 876ac336c61e..d93501edb987 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -223,12 +223,12 @@ struct batadv_orig_bat_iv {
  * @orig: originator ethernet address
  * @ifinfo_list: list for routers per outgoing interface
  * @last_bonding_candidate: pointer to last ifinfo of last used router
- * @batadv_dat_addr_t:  address of the orig node in the distributed hash
+ * @dat_addr: address of the orig node in the distributed hash
  * @last_seen: time when last packet from this node was received
  * @bcast_seqno_reset: time when the broadcast seqno window was reset
  * @mcast_handler_lock: synchronizes mcast-capability and -flag changes
  * @mcast_flags: multicast flags announced by the orig node
- * @mcast_want_all_unsnoop_node: a list node for the
+ * @mcast_want_all_unsnoopables_node: a list node for the
  *  mcast.want_all_unsnoopables list
  * @mcast_want_all_ipv4_node: a list node for the mcast.want_all_ipv4 list
  * @mcast_want_all_ipv6_node: a list node for the mcast.want_all_ipv6 list
@@ -427,7 +427,7 @@ struct batadv_neigh_ifinfo {
 
 /**
  * struct batadv_bcast_duplist_entry - structure for LAN broadcast suppression
- * @orig[ETH_ALEN]: mac address of orig node orginating the broadcast
+ * @orig: mac address of orig node orginating the broadcast
  * @crc: crc32 checksum of broadcast payload
  * @entrytime: time when the broadcast packet was received
  */
@@ -576,7 +576,7 @@ struct batadv_priv_tt {
 
 /**
  * struct batadv_priv_bla - per mesh interface bridge loope avoidance data
- * @num_requests; number of bla requests in flight
+ * @num_requests: number of bla requests in flight
  * @claim_hash: hash table containing mesh nodes this host has claimed
  * @backbone_hash: hash table containing all detected backbone gateways
  * @bcast_duplist: recently received broadcast packets array (for broadcast
@@ -799,7 +799,7 @@ struct batadv_softif_vlan {
  * @dat: distributed arp table data
  * @mcast: multicast data
  * @network_coding: bool indicating whether network coding is enabled
- * @batadv_priv_nc: network coding data
+ * @nc: network coding data
  */
 struct batadv_priv {
 	atomic_t mesh_state;
@@ -934,7 +934,7 @@ struct batadv_bla_backbone_gw {
  * struct batadv_bla_claim - claimed non-mesh client structure
  * @addr: mac address of claimed non-mesh client
  * @vid: vlan id this client was detected on
- * @batadv_bla_backbone_gw: pointer to backbone gw claiming this client
+ * @backbone_gw: pointer to backbone gw claiming this client
  * @lasttime: last time we heard of claim (locals only)
  * @hash_entry: hlist node for batadv_priv_bla::claim_hash
  * @refcount: number of contexts the object is used
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 15/16] batman-adv: Remove kerneldoc for missing struct members
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (20 preceding siblings ...)
  2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 15/16] batman-adv: Remove kerneldoc for missing struct members Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` [PATCH 16/16] batman-adv: Add kerneldoc for batadv_neigh_node::refcount Antonio Quartulli
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Sven Eckelmann, Marek Lindner, Antonio Quartulli

From: Sven Eckelmann <sven@narfation.org>

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/types.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index d93501edb987..1a67a1a402f6 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -371,9 +371,7 @@ struct batadv_hardif_neigh_node {
  * @ifinfo_lock: lock protecting private ifinfo members and list
  * @if_incoming: pointer to incoming hard interface
  * @last_seen: when last packet via this neighbor was received
- * @last_ttl: last received ttl from this neigh node
  * @rcu: struct used for freeing in an RCU-safe manner
- * @bat_iv: B.A.T.M.A.N. IV private structure
  */
 struct batadv_neigh_node {
 	struct hlist_node list;
@@ -1257,8 +1255,6 @@ struct batadv_dat_candidate {
  * struct batadv_tvlv_container - container for tvlv appended to OGMs
  * @list: hlist node for batadv_priv_tvlv::container_list
  * @tvlv_hdr: tvlv header information needed to construct the tvlv
- * @value_len: length of the buffer following this struct which contains
- *  the actual tvlv payload
  * @refcount: number of contexts the object is used
  */
 struct batadv_tvlv_container {
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 15/16] batman-adv: Remove kerneldoc for missing struct members
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (19 preceding siblings ...)
  2016-01-09 13:20 ` Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` Antonio Quartulli
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Sven Eckelmann <sven@narfation.org>

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/types.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index d93501edb987..1a67a1a402f6 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -371,9 +371,7 @@ struct batadv_hardif_neigh_node {
  * @ifinfo_lock: lock protecting private ifinfo members and list
  * @if_incoming: pointer to incoming hard interface
  * @last_seen: when last packet via this neighbor was received
- * @last_ttl: last received ttl from this neigh node
  * @rcu: struct used for freeing in an RCU-safe manner
- * @bat_iv: B.A.T.M.A.N. IV private structure
  */
 struct batadv_neigh_node {
 	struct hlist_node list;
@@ -1257,8 +1255,6 @@ struct batadv_dat_candidate {
  * struct batadv_tvlv_container - container for tvlv appended to OGMs
  * @list: hlist node for batadv_priv_tvlv::container_list
  * @tvlv_hdr: tvlv header information needed to construct the tvlv
- * @value_len: length of the buffer following this struct which contains
- *  the actual tvlv payload
  * @refcount: number of contexts the object is used
  */
 struct batadv_tvlv_container {
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [PATCH 16/16] batman-adv: Add kerneldoc for batadv_neigh_node::refcount
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (21 preceding siblings ...)
  2016-01-09 13:20 ` Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
       [not found] ` <1452345621-15908-1-git-send-email-a-2CpIooy/SPIKlTDg6p0iyA@public.gmane.org>
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem
  Cc: netdev, b.a.t.m.a.n, Sven Eckelmann, Marek Lindner, Antonio Quartulli

From: Sven Eckelmann <sven@narfation.org>

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/types.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 1a67a1a402f6..3437b667a2cd 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -371,6 +371,7 @@ struct batadv_hardif_neigh_node {
  * @ifinfo_lock: lock protecting private ifinfo members and list
  * @if_incoming: pointer to incoming hard interface
  * @last_seen: when last packet via this neighbor was received
+ * @refcount: number of contexts the object is used
  * @rcu: struct used for freeing in an RCU-safe manner
  */
 struct batadv_neigh_node {
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [B.A.T.M.A.N.] [PATCH 16/16] batman-adv: Add kerneldoc for batadv_neigh_node::refcount
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
                   ` (22 preceding siblings ...)
  2016-01-09 13:20 ` [PATCH 16/16] batman-adv: Add kerneldoc for batadv_neigh_node::refcount Antonio Quartulli
@ 2016-01-09 13:20 ` Antonio Quartulli
       [not found] ` <1452345621-15908-1-git-send-email-a-2CpIooy/SPIKlTDg6p0iyA@public.gmane.org>
  24 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Antonio Quartulli, Marek Lindner

From: Sven Eckelmann <sven@narfation.org>

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 net/batman-adv/types.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 1a67a1a402f6..3437b667a2cd 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -371,6 +371,7 @@ struct batadv_hardif_neigh_node {
  * @ifinfo_lock: lock protecting private ifinfo members and list
  * @if_incoming: pointer to incoming hard interface
  * @last_seen: when last packet via this neighbor was received
+ * @refcount: number of contexts the object is used
  * @rcu: struct used for freeing in an RCU-safe manner
  */
 struct batadv_neigh_node {
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: pull request: batman-adv 20160109
  2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
@ 2016-01-10  2:49     ` David Miller
  2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
                       ` (23 subsequent siblings)
  24 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2016-01-10  2:49 UTC (permalink / raw)
  To: a
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
	b.a.t.m.a.n-ZwoEplunGu2X36UT3dwllkB+6BGkLq7r

From: Antonio Quartulli <a@unstable.cc>
Date: Sat,  9 Jan 2016 21:20:05 +0800

> here you have a late batch of patches intended for net-next.

Pulled, thanks Antonio.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [B.A.T.M.A.N.] pull request: batman-adv 20160109
@ 2016-01-10  2:49     ` David Miller
  0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2016-01-10  2:49 UTC (permalink / raw)
  To: a; +Cc: netdev, b.a.t.m.a.n

From: Antonio Quartulli <a@unstable.cc>
Date: Sat,  9 Jan 2016 21:20:05 +0800

> here you have a late batch of patches intended for net-next.

Pulled, thanks Antonio.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* pull request: batman-adv 20160109
@ 2016-01-09 13:20 Antonio Quartulli
  0 siblings, 0 replies; 36+ messages in thread
From: Antonio Quartulli @ 2016-01-09 13:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n

Hello David,

here you have a late batch of patches intended for net-next.

Most of the changes are about kerneldoc and other minor cleanups
introduced by Sven Eckelmann and Marek Lindner.

Other than those you have the number of BLA wait periods increased
to 6 to reduce the probability of temporary LAN loops by Simon
Wunderlich.

Several useless NULL checks have been removed by Markus Elfring in
order to make the code simpler and slimmer.

Another change by Simon Wunderlich makes sure that the function
consuming the value written in a sysfs file is executed only when
such value was really changed to a new value.


Please pull or let me know of any problem!
Thanks a lot,
	Antonio


The following changes since commit d86cdfcd5d7e1179e695977b7088882822f365c4:

  Merge branch 'r8152-adjustments' (2016-01-08 21:57:26 -0500)

are available in the git repository at:

  git://git.open-mesh.org/linux-merge.git tags/batman-adv-for-davem

for you to fetch changes up to ed21d170e878b6b067a3216040b7b935c8007196:

  batman-adv: Add kerneldoc for batadv_neigh_node::refcount (2016-01-09 20:56:00 +0800)

----------------------------------------------------------------
Included changes:
- increase internal module version
- increase BLA wait periods to 6
- purge BLA backbone table when it is disabled
- make sure post function is invoked only if sysfs value is changed
- simplify code by removing useless NULL checks
- various corrections to existing kerneldoc
- minor cleanups

----------------------------------------------------------------
Marek Lindner (1):
      batman-adv: remove leftovers of unused BATADV_PRIMARIES_FIRST_HOP flag

Markus Elfring (4):
      batman-adv: Delete unnecessary checks before the function call "kfree_skb"
      batman-adv: Less checks in batadv_tvlv_unicast_send()
      batman-adv: Delete an unnecessary check before the function call "batadv_softif_vlan_free_ref"
      batman-adv: Split a condition check

Simon Wunderlich (4):
      batman-adv: Start new development cycle
      batman-adv: purge bridge loop avoidance when its disabled
      batman-adv: increase BLA wait periods to 6
      batman-adv: only call post function if something changed

Sven Eckelmann (7):
      batman-adv: Fix lockdep annotation of batadv_tlv_container_remove
      batman-adv: Add function to convert string to batadv throughput
      batman-adv: Change ifconfig examples to iproute2
      batman-adv: Fix kernel-doc parsing of main structs
      batman-adv: Fix kerneldoc member names in for main structs
      batman-adv: Remove kerneldoc for missing struct members
      batman-adv: Add kerneldoc for batadv_neigh_node::refcount

 Documentation/networking/batman-adv.txt |   9 ++-
 net/batman-adv/bat_iv_ogm.c             |   3 -
 net/batman-adv/bridge_loop_avoidance.c  |  20 ++++++
 net/batman-adv/bridge_loop_avoidance.h  |   2 +
 net/batman-adv/gateway_common.c         | 117 +++++++++++++-------------------
 net/batman-adv/main.c                   |  17 ++---
 net/batman-adv/main.h                   |   4 +-
 net/batman-adv/network-coding.c         |   4 +-
 net/batman-adv/packet.h                 |   3 +-
 net/batman-adv/send.c                   |   3 +-
 net/batman-adv/sysfs.c                  |  16 +++--
 net/batman-adv/translation-table.c      |   8 ++-
 net/batman-adv/types.h                  |  32 +++++----
 13 files changed, 122 insertions(+), 116 deletions(-)

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2016-01-10  2:49 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-09 13:20 [B.A.T.M.A.N.] pull request: batman-adv 20160109 Antonio Quartulli
2016-01-09 13:20 ` [PATCH 01/16] batman-adv: Start new development cycle Antonio Quartulli
2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 02/16] batman-adv: Fix lockdep annotation of batadv_tlv_container_remove Antonio Quartulli
2016-01-09 13:20 ` Antonio Quartulli
2016-01-09 13:20 ` [PATCH 03/16] batman-adv: remove leftovers of unused BATADV_PRIMARIES_FIRST_HOP flag Antonio Quartulli
2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [PATCH 04/16] batman-adv: purge bridge loop avoidance when its disabled Antonio Quartulli
2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [PATCH 05/16] batman-adv: increase BLA wait periods to 6 Antonio Quartulli
2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [PATCH 06/16] batman-adv: only call post function if something changed Antonio Quartulli
2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [PATCH 07/16] batman-adv: Add function to convert string to batadv throughput Antonio Quartulli
2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [PATCH 08/16] batman-adv: Delete unnecessary checks before the function call "kfree_skb" Antonio Quartulli
2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [PATCH 09/16] batman-adv: Less checks in batadv_tvlv_unicast_send() Antonio Quartulli
2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [PATCH 10/16] batman-adv: Delete an unnecessary check before the function call "batadv_softif_vlan_free_ref" Antonio Quartulli
2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [PATCH 11/16] batman-adv: Split a condition check Antonio Quartulli
2016-01-09 13:20   ` [B.A.T.M.A.N.] " Antonio Quartulli
2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 12/16] batman-adv: Change ifconfig examples to iproute2 Antonio Quartulli
2016-01-09 13:20 ` Antonio Quartulli
2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 13/16] batman-adv: Fix kernel-doc parsing of main structs Antonio Quartulli
2016-01-09 13:20 ` Antonio Quartulli
2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 14/16] batman-adv: Fix kerneldoc member names in for " Antonio Quartulli
2016-01-09 13:20 ` Antonio Quartulli
2016-01-09 13:20 ` [B.A.T.M.A.N.] [PATCH 15/16] batman-adv: Remove kerneldoc for missing struct members Antonio Quartulli
2016-01-09 13:20 ` Antonio Quartulli
2016-01-09 13:20 ` [PATCH 16/16] batman-adv: Add kerneldoc for batadv_neigh_node::refcount Antonio Quartulli
2016-01-09 13:20 ` [B.A.T.M.A.N.] " Antonio Quartulli
     [not found] ` <1452345621-15908-1-git-send-email-a-2CpIooy/SPIKlTDg6p0iyA@public.gmane.org>
2016-01-10  2:49   ` pull request: batman-adv 20160109 David Miller
2016-01-10  2:49     ` [B.A.T.M.A.N.] " David Miller
2016-01-09 13:20 Antonio Quartulli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.