Zaki | 17 Sep 09:04 2014
Picon

IBSS key in batman-adv

Hi,

I have a short question.  I am using IBSS to create batman-adv mesh
network.  To secure the IBSS, i am using the IBSS key.  I noticed that
when i am on the mesh network, any device that is not having the key
also can ping and iperf to me.  I thought IBSS key is supposed to
allow only legitimate device.  Does anybody know where i do wrong
here?.

Rgds,
Zack.

Antonio Quartulli | 17 Sep 09:01 2014

[PATCH maint] batman-adv: avoid NULL dereferences and clarify if check

Due to a typ0 in an if-condition used in the gateway-client
code it is possible to run in a NULL pointer dereference.

At the same type the same if-condition is not clear.

Fix this by rewriting the if-condition properly.

Introduced by 0853ec7fafe0a195754454832993c6b35e22b842
("batman-adv: tvlv - gateway download/upload bandwidth container")

Signed-off-by: Antonio Quartulli <antonio@...>
Reported-by: David Binderman <dcb314@...>
---
 gateway_client.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gateway_client.c b/gateway_client.c
index bcc3e0c..5f09536 100644
--- a/gateway_client.c
+++ b/gateway_client.c
 <at>  <at>  -811,7 +811,7  <at>  <at>  bool batadv_gw_out_of_range(struct batadv_priv *bat_priv,
 		goto out;

 	gw_node = batadv_gw_node_get(bat_priv, orig_dst_node);
-	if (!gw_node->bandwidth_down == 0)
+	if (!gw_node || (gw_node->bandwidth_down == 0))
 		goto out;

 	switch (atomic_read(&bat_priv->gw_mode)) {
--

-- 
(Continue reading)

Martin Hundebøll | 17 Sep 08:56 2014
Picon

[PATCH maint] batman-adv: clear control block of received socket buffers

Since other network components (and some drivers) uses the control block
provided in skb's, the network coding feature might wrongly assume that
an SKB has been decoded, and thus not try to code it with another packet
again. This happens for instance when batman-adv is running on a bridge device.

Fix this by clearing the control block for every received SKB.

Introduced-by: 3c12de9a5c756b23fe7c9ab332474ece1568914c ("batman-adv: network coding - code and
transmit packets if possible")
Signed-off-by: Martin Hundebøll <martin@...>
---
 main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/main.c b/main.c
index 2cdd25a..61e3ffd 100644
--- a/main.c
+++ b/main.c
 <at>  <at>  -403,6 +403,9  <at>  <at>  int batadv_batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
 		goto err_free;
 	}

+	/* reset control block to avoid left overs from previous users */
+	memset(skb->cb, 0, sizeof(struct batadv_skb_cb));
+
 	/* all receive handlers return whether they received or reused
 	 * the supplied skb. if not, we have to free the skb.
 	 */
--

-- 
2.1.0
(Continue reading)

Martin Hundebøll | 16 Sep 13:19 2014
Picon

[PATCH] batman-adv: clear control block of received socket buffers

Since other network components (and some drivers) uses the control block
provided in skb's, the network coding feature might wrongly assume that
an SKB has been decoded, and thus not try to code it with another packet
again. This happens for instance when batman-adv is running on a bridge device.

Fix this by clearing the control block for every received SKB.

Signed-off-by: Martin Hundebøll <martin@...>
---
 main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/main.c b/main.c
index 2cdd25a..61e3ffd 100644
--- a/main.c
+++ b/main.c
 <at>  <at>  -403,6 +403,9  <at>  <at>  int batadv_batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
 		goto err_free;
 	}

+	/* reset control block to avoid left overs from previous users */
+	memset(skb->cb, 0, sizeof(struct batadv_skb_cb));
+
 	/* all receive handlers return whether they received or reused
 	 * the supplied skb. if not, we have to free the skb.
 	 */
--

-- 
2.1.0

(Continue reading)

Krishnathiepan Rasanayagam | 12 Sep 15:59 2014
Picon

Creating route in batman

hi all,

Is there any way to crate a static route in batman-adv algorithm. Like
telling other nodes to avoid a certain node.

--

-- 
Best regards,
Krishna.

Linus Lüssing | 7 Sep 07:42 2014
Picon

[PATCHv9 0/4] Multicast optimizations for bridges

This patchset enables the usage of the batman-adv multicast optimizations
for scenarios involving bridges on top of e.g. bat0, too.

Along come two more patches adding according debugging facilities
to make it possible for the user to check why the multicast
optimizations might not work ideally to give hints about
what they might change about their topology.

The fourth one alters the forwarding behaviour for IGMP and MLD
reports. For one thing this reduces overhead (especially for IGMPv3/MLDv2
reports). But more importantly this is necessary to make the
optimizations work in bridged scenarios at all. For more details see:
http://www.open-mesh.org/projects/batman-adv/wiki/Multicast-optimizations-listener-reports

Also note, that with PATCH 4/4 multicast optimizations do not build
for kernels < 2.6.35 (net/mld.h didn't exist back then): If there are
actually brave souls out there running such ancient end-of-life kernels,
it is suggested to build batman-adv with the multicast-compile-time option
disabled. Multicast optimizations for bridges does not half any benefits
for kernels < 3.17 anyways.

Cheers, Linus

Changes in v9:
- PATCH 1/4:
* fix: added compat code for pr_warn_once()
* compat fix for bridge export stubs: fixes compile error
  with kernels < 3.16 without bridge (snooping) support
- PATCH 2/4:
* perform updates of variables within bat_priv->mcast.querier_ipv{4,6}
(Continue reading)

Simon Wunderlich | 3 Sep 13:41 2014
Picon

[PATCHv2] alfred: support for changing interfaces

From: Simon Wunderlich <simon@...>

This patch adds support for changing the interface alfreds listens to on
the fly without restarting alfred.

Signed-off-by: Simon Wunderlich <simon@...>

---
Changes to PATCH:
 * fix const warning
---
 alfred.h     |  4 +++-
 client.c     | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
 main.c       | 66 +++++++++++++++++++++++++++++++++++-------------------------
 man/alfred.8 |  3 +++
 packet.h     | 17 ++++++++++++++++
 unix_sock.c  | 38 ++++++++++++++++++++++++++++++++++
 vis/vis.c    |  2 +-
 7 files changed, 155 insertions(+), 29 deletions(-)

diff --git a/alfred.h b/alfred.h
index 35ac4dd..c83f7f0 100644
--- a/alfred.h
+++ b/alfred.h
 <at>  <at>  -86,6 +86,7  <at>  <at>  enum clientmode {
 	CLIENT_REQUEST_DATA,
 	CLIENT_SET_DATA,
 	CLIENT_MODESWITCH,
+	CLIENT_CHANGE_INTERFACE,
 };
(Continue reading)

Antonio Quartulli | 1 Sep 14:37 2014

[PATCH 1/5] batman-adv: checkpatch - else is not generally useful after a break or return

Signed-off-by: Antonio Quartulli <antonio@...>
---
 bitarray.h          | 3 +--
 fragmentation.h     | 3 +--
 network-coding.c    | 3 +--
 translation-table.c | 5 ++---
 4 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/bitarray.h b/bitarray.h
index cc24073..2acaafe 100644
--- a/bitarray.h
+++ b/bitarray.h
 <at>  <at>  -29,8 +29,7  <at>  <at>  static inline int batadv_test_bit(const unsigned long *seq_bits,
 	diff = last_seqno - curr_seqno;
 	if (diff < 0 || diff >= BATADV_TQ_LOCAL_WINDOW_SIZE)
 		return 0;
-	else
-		return test_bit(diff, seq_bits) != 0;
+	return test_bit(diff, seq_bits) != 0;
 }

 /* turn corresponding bit on, so we can remember that we got the packet */
diff --git a/fragmentation.h b/fragmentation.h
index 5d7a0e6..d848cf6 100644
--- a/fragmentation.h
+++ b/fragmentation.h
 <at>  <at>  -41,8 +41,7  <at>  <at>  batadv_frag_check_entry(struct batadv_frag_table_entry *frags_entry)
 	if (!hlist_empty(&frags_entry->head) &&
 	    batadv_has_timed_out(frags_entry->timestamp, BATADV_FRAG_TIMEOUT))
 		return true;
(Continue reading)

Bruno Antunes | 29 Aug 13:00 2014
Picon

Possible regression? Adhoc Mode broken & kernel oops with batman-adv.

Using OpenWrt trunk r42000 on 2 different boards (gw2388-4 & router
station pro) causes kernel oops when restarting the network or wifi.

The setting that causes the oops is connecting in adhoc mode to a
batman-adv mesh network.

As comparison WDS mode works fine for the same boards.

Also Adhoc mode using wpa_supplicant appears to be broken.
With wpa2 security only allows connections at 54 Mbps, removing
security allows for 802.11n rates.

Don't know if the 2 issues are related or not.

Below the kernel oops from the router station.

Regards,
Bruno

root <at> RSPro1:/# wifi
root <at> RSPro1:/# [  182.040000] batman_adv: bat0: Interface deactivated: adhoc0
[  182.050000] batman_adv: bat0: Removing interface: adhoc0
[  182.080000] br-mesh: port 2(bat0) entered disabled state
[  182.080000] device bat0 left promiscuous mode
[  182.090000] br-mesh: port 2(bat0) entered disabled state
[  182.100000] CPU 0 Unable to handle kernel paging request at virtual
address 00000020, epc == 87090884, ra == 870963e8
[  182.110000] Oops[#1]:
[  182.110000] CPU: 0 PID: 6 Comm: kworker/u2:0 Not tainted 3.10.49 #2
[  182.110000] Workqueue: bat_events batadv_softif_vlan_get [batman_adv]
(Continue reading)

Ufo | 27 Aug 15:14 2014
Picon

new alfred packet type *3* for solar tracer charging units

at Solarfestival in Germany we were reverse engineering some solar
tracer charge controllers. so they were part of the local wifi mesh
https://twitter.com/rundfreifunk/status/502788487549288448
https://twitter.com/rundfreifunk/status/503888938973802496
https://twitter.com/rundfreifunk/status/503942726292103168

best way for distributing the detailed data (about local sun impact..)
was alfred. we used nr. 160 but now simon choosed nr. 3 for that.

https://twitter.com/rundfreifunk/status/503548243452899328

so, plug your solar systems into your mesh-nodes!

https://twitter.com/rundfreifunk/status/503875891735560192
https://twitter.com/rundfreifunk/status/504575102965792768

greetings, ufo

p.s.

code: https://gitorious.org/tracertools/pages/Home

p.p.s.

anyone with CRC expierence?? please! we need help with that dump CRC,
please have a look if there is a new idea about used crc

http://pad.freifunk.net/p/solartracer

--

-- 
(Continue reading)

Simon Wunderlich | 25 Aug 19:41 2014
Picon

[PATCH] alfred: support for changing interfaces

From: Simon Wunderlich <simon@...>

This patch adds support for changing the interface alfreds listens to on
the fly without restarting alfred.

Signed-off-by: Simon Wunderlich <simon@...>
---
 alfred.h     |  2 ++
 client.c     | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
 main.c       | 66 +++++++++++++++++++++++++++++++++++-------------------------
 man/alfred.8 |  3 +++
 packet.h     | 17 ++++++++++++++++
 unix_sock.c  | 38 ++++++++++++++++++++++++++++++++++
 vis/vis.c    |  2 +-
 7 files changed, 154 insertions(+), 28 deletions(-)

diff --git a/alfred.h b/alfred.h
index 35ac4dd..f0989ea 100644
--- a/alfred.h
+++ b/alfred.h
 <at>  <at>  -86,6 +86,7  <at>  <at>  enum clientmode {
 	CLIENT_REQUEST_DATA,
 	CLIENT_SET_DATA,
 	CLIENT_MODESWITCH,
+	CLIENT_CHANGE_INTERFACE,
 };

 struct globals {
 <at>  <at>  -125,6 +126,7  <at>  <at>  int set_best_server(struct globals *globals);
 int alfred_client_request_data(struct globals *globals);
(Continue reading)


Gmane