Ufo | 1 Aug 18:05 2015
Picon

old batman-adv within 15.05 brunch?

is there a reason for staying with batman-adv 2014 for openwrt 15.05?

our current freifunk leipzig running batman-adv 2015.0 and it seems to work

https://github.com/openwrt-routing/packages/tree/master/batman-adv

vs.

https://github.com/openwrt-routing/packages/tree/for-15.05/batman-adv

--

-- 
---
Freifunk Leipzig http://leipzig.freifunk.net

Def | 27 Jul 11:58 2015
Picon

[PATCH maint] batman-adv: Fix batadv_compare_tt function

batadv_compare_tt have to check vid.

Signed-off-by: Def <def@...>
---
 translation-table.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/translation-table.c b/translation-table.c
index d73b103..d16433a 100644
--- a/translation-table.c
+++ b/translation-table.c
 <at>  <at>  -45,13 +45,16  <at>  <at>  static void batadv_tt_global_del(struct batadv_priv *bat_priv,
 				 unsigned short vid, const char *message,
 				 bool roaming);

-/* returns 1 if they are the same mac addr */
+/* returns 1 if they are the same mac addr and vid */
 static int batadv_compare_tt(const struct hlist_node *node, const void *data2)
 {
 	const void *data1 = container_of(node, struct batadv_tt_common_entry,
 					 hash_entry);

-	return batadv_compare_eth(data1, data2);
+	struct batadv_tt_common_entry* tt1 = data1;
+	struct batadv_tt_common_entry* tt2 = data2;
+
+	return (tt1->vid == tt2->vid) && batadv_compare_eth(data1, data2);
 }

 /**
(Continue reading)

Sven Eckelmann | 23 Jul 19:12 2015

Patches for Linux net.git/net-next.git

Hi,

there are some patches in maint (7ad001a18d1a6e2fd19969fdd671efe99d75920f) 
which should have been sent to upstream. I have taken them and 
rebased/squashed all patches on top of net.git 
(c5dfd654d0ec0a28fe81e7bd4d4fd984a9855e09). The commit messages were adjusted 
(upstream commit ids, minor changes after squashing a patch, ...) and sent 
through sparse + checkpatch.

Antonio Quartulli (1):
      batman-adv: avoid DAT to mess up LAN state

Linus L├╝ssing (6):
      batman-adv: Make DAT capability changes atomic
      batman-adv: Make NC capability changes atomic
      batman-adv: Make TT capability changes atomic
      batman-adv: Make MCAST capability changes atomic
      batman-adv: Fix potential synchronization issues in mcast tvlv handler
      batman-adv: Fix potentially broken skb network header access

Marek Lindner (3):
      batman-adv: fix kernel crash due to missing NULL checks
      batman-adv: protect tt_local_entry from concurrent delete events
      batman-adv: protect tt request from double deletion

Ruben Wisniewski (1):
      batman-adv: Avoid u32 overflow during gateway select

Simon Wunderlich (2):
      batman-adv: initialize up/down values when adding a gateway
(Continue reading)

Sven Eckelmann | 22 Jul 20:01 2015

Re: Recover in case of node fail

Don't contact me directly about batman-adv. At least Cc 
b.a.t.m.a.n@...

On Wednesday 22 July 2015 18:56:41 Carlos Meralto wrote:
[...]
> And with this command i can ping at layer 3. It is not possible in
> batman-adv? I want to measure the recovery time and so I'm doing a
> continuous
> ping. With batctl -p it is possible?

This was not what I said. ICMP ping should work perfectly fine. I just 
suggested that you try `batctl -R` for debugging so you can see the hops
batman-adv uses during a batman-adv native ping.

Kind regards,
	Sven
Berat | 22 Jul 16:59 2015

encapsulated ethernet frame format

Hi,

I was trying to understand how batman-adv encapsulates ethernet frames.
Batman dissector of wireshark, shows an ethernet II section, then a
batman section, then again an ethernet II section. Is this
rappresentation respects the original capsulated header format? I
couldn't find a scheme that shows fields of an encapsulated header in
the documentation. So with wireshark, it tells me something like that:

-----------------------------------------------------------------------
Dst.Mac|Src.Mac|Type|Packt Type|Version|TTL|Seq.No|Dst.Mac|Src.Mac|Type
-----------------------------------------------------------------------
\___________________/\____________________________/\__________________/
   First Ethernet 	   Batman Section	     Second Ethernet
    II Section  					II Section

Why there are two times destination and source mac addresses? I want to
retrieve mac addresses of originators of packets by working on raw
packet data. But i'm a little bit confused with this scheme. Sorry if
it's a banal question, i don't have much experience with networking.
Thanks for any help.
Attachment (0x9763E522.asc): application/pgp-keys, 13 KiB
Carlos Meralto | 22 Jul 16:26 2015
Picon

Recover in case of node fail

Hi guys,

I'm trying to make a study of various protocols for WMN and one of
them is BATMAN. One the tests is the time to recovery in case of node
fail.

I have a topology with 4 routers with 2 possible paths:
A-B-C
A-D-C

For the test i'm doing a continuous ping from A to C (level 3 ping)
and shut down the router that forward the message (i.e B or C). In
this test BATMAN can't recover the PING. But when i cancel the ping
and check the Originators table (batctl o) the route is refreshed. And
when i try to ping again it works.

Is any limitation in BATMAN for recovery in a continuous PING?
Has anyone done this type of test and values obtained?

Thanks in advance.

Best Regards

Simon Wunderlich | 21 Jul 18:04 2015
Picon

[PATCHv3] batman-adv: remove obsolete deleted attribute for gateway node

From: Simon Wunderlich <simon@...>

With rcu, the gateway node deleted attribute is not needed anymore. In
fact, it may delay the free of the gateway node and its referenced
structures. Therefore remove it altogether and simplify purging as well.

Signed-off-by: Simon Wunderlich <simon@...>
---
Changes to PATCHv2:
 * use hlist_del_init_rcu() instead of looping through the list
 * rename batadv_gw_node_purge() to batadv_gw_node_free() and remove
   obsolete mesh state check

Changes to PATCH:
 * iterator through list to remove the element when deleting to
   avoid possible double list remove
---
 net/batman-adv/gateway_client.c | 51 +++++++++++------------------------------
 net/batman-adv/gateway_client.h |  2 +-
 net/batman-adv/main.c           |  2 +-
 net/batman-adv/originator.c     |  1 -
 net/batman-adv/types.h          |  2 --
 5 files changed, 16 insertions(+), 42 deletions(-)

diff --git a/net/batman-adv/gateway_client.c b/net/batman-adv/gateway_client.c
index d7ca214..94e129f 100644
--- a/net/batman-adv/gateway_client.c
+++ b/net/batman-adv/gateway_client.c
 <at>  <at>  -161,9 +161,6  <at>  <at>  batadv_gw_get_best_gw_node(struct batadv_priv *bat_priv)

(Continue reading)

Sven Eckelmann | 17 Jul 10:03 2015

[PATCH v2 1/2] batman-adv: Fix conditional statements indentation

commit 29b9256e6631 ("batman-adv: consider outgoing interface in OGM
sending") incorrectly indented the interface check code.

Signed-off-by: Sven Eckelmann <sven@...>
---
v2: Change commit message to new git commit description style

 net/batman-adv/bat_iv_ogm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index df54118..5c12200 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
 <at>  <at>  -968,7 +968,7  <at>  <at>  static void batadv_iv_ogm_schedule(struct batadv_hard_iface *hard_iface)
 	rcu_read_lock();
 	list_for_each_entry_rcu(tmp_hard_iface, &batadv_hardif_list, list) {
 		if (tmp_hard_iface->soft_iface != hard_iface->soft_iface)
-				continue;
+			continue;
 		batadv_iv_ogm_queue_add(bat_priv, *ogm_buff,
 					*ogm_buff_len, hard_iface,
 					tmp_hard_iface, 1, send_time);
--

-- 
2.1.4

Sven Eckelmann | 17 Jul 09:39 2015

[PATCH 1/2] batman-adv: Fix conditional statements indentation

29b9256e6631 ("batman-adv: consider outgoing interface in OGM sending")
incorrectly indented the interface check code.

Signed-off-by: Sven Eckelmann <sven@...>
---
 net/batman-adv/bat_iv_ogm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index df54118..5c12200 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
 <at>  <at>  -968,7 +968,7  <at>  <at>  static void batadv_iv_ogm_schedule(struct batadv_hard_iface *hard_iface)
 	rcu_read_lock();
 	list_for_each_entry_rcu(tmp_hard_iface, &batadv_hardif_list, list) {
 		if (tmp_hard_iface->soft_iface != hard_iface->soft_iface)
-				continue;
+			continue;
 		batadv_iv_ogm_queue_add(bat_priv, *ogm_buff,
 					*ogm_buff_len, hard_iface,
 					tmp_hard_iface, 1, send_time);
--

-- 
2.1.4

Sven Eckelmann | 14 Jul 21:57 2015

[RFC 1/2] batman-adv: Drop support for Linux < 3.2

The Linux Kernel 2.6.32 is reaching its end of life [1] after over 5 years.
Instead it is recommended to use at least kernel 3.2 which is also already
over 3 years old. All older kernels (v2.6.32 - v3.1) should therefore be
dropped to reduce the support overhead.

[1] https://lkml.org/lkml/2015/6/3/740

Signed-off-by: Sven Eckelmann <sven@...>
---
 README.external                    |  2 +-
 compat-include/linux/atomic.h      | 29 ---------------
 compat-include/linux/bug.h         | 38 --------------------
 compat-include/linux/compiler.h    | 40 ---------------------
 compat-include/linux/if_vlan.h     | 15 ++------
 compat-include/linux/kconfig.h     | 42 ----------------------
 compat-include/linux/kernel.h      | 29 ---------------
 compat-include/linux/lockdep.h     | 33 -----------------
 compat-include/linux/moduleparam.h | 72 --------------------------------------
 compat-include/linux/netdevice.h   | 55 -----------------------------
 compat-include/linux/percpu.h      | 48 -------------------------
 compat-include/linux/printk.h      | 39 ---------------------
 compat-include/linux/rculist.h     | 10 ------
 compat-include/linux/rcupdate.h    | 54 ----------------------------
 compat-include/linux/skbuff.h      | 29 ---------------
 compat.h                           | 55 ++---------------------------
 16 files changed, 5 insertions(+), 585 deletions(-)
 delete mode 100644 compat-include/linux/atomic.h
 delete mode 100644 compat-include/linux/bug.h
 delete mode 100644 compat-include/linux/compiler.h
 delete mode 100644 compat-include/linux/kconfig.h
(Continue reading)

Patrick Bosch | 13 Jul 18:53 2015
Picon

Re: Batman advanced receiving packets on bat0 with same source and destination address and performance issues

Hi Simon

I hope I can make it a bit clearer and not more confusing. ;)
I just saw that my drawing looks different in the mail then what is
intended. It seems that the Linksys router and the gateway are
connected via WiFi, which is not the case. The client and gateway are
connected via WiFi.

The Linksys router serves as a DHCP server. There are cables from the
router to the gateway and to the client. Both are connected to the
main port of the Nanostation. The gateway/client notation means the
batman-adv gateway feature notation.
The gateway has one Vlan in the switch configuration, defined for both
ports. So main port and secondary port are reached by eth0.1. This
interface is bridged with the bat0 interface.
This is what I found on both, the OpenWRT page and batman-adv page as
a standard configuration if I want to add the ethernet ports to the
mesh.
The client has two Vlans, one for each port. Eth0.2 is the main port
and eth0.1 is the secondary port. The secondary port is bridged to the
bat0 interface and the main port is not. This seems to be the problem.
When I tcpdump on the main port (eth0.2), I can see the batman-adv ARP
replies broadcasting, which I would not expect to see as this
interface is not bridged to bat0. What I would expect is nothing from
batman-adv at all. The broadcast is every 10 seconds.
I continuously ping both devices from my laptop that is connected to
the client. For both devices, pings are lost. For the gateway more
than for the client. For the client it is usually 1-3 and for the
gateway from 1 up to 10-15. This does not happen regularly. It ranges
from around 30 to 120 seconds. When I lose pings, the SSH session is
(Continue reading)


Gmane