Saurabh Chakrabarti | 19 Apr 15:37 2014

Mesh network splits when a single node goes down

We have a mesh network running on an adhoc wifi network. All the nodes 
are in static position. The problem is that when one node goes down, the 
mesh breaks and the bat0 interfaces of the nodes are not reachable 
(although, strangely, the nodes are reachable via the wlan0 interfaces). 
Also, the node that has gone down is in one corner of the mesh.

When one of the nodes is down,

linaro <at> raspberry:~$ sudo batctl o
[B.A.T.M.A.N. adv 2014.1.0, MainIF/MAC: wlan0/10:fe:ed:13:f2:10 (bat0 
BATMAN_IV)]
   Originator      last-seen (#/255)           Nexthop [outgoingIF]:   
Potential nexthops ...
10:fe:ed:14:d5:c4    0.090s   (  9) 10:fe:ed:14:d5:c4 [     wlan0]: 
10:fe:ed:14:d5:c4 (  9)
c0:4a:00:19:91:ef    0.610s   (  8) c0:4a:00:19:91:ef [     wlan0]: 
c0:4a:00:19:91:ef (  8)
c0:4a:00:18:db:83    0.410s   ( 10) c0:4a:00:18:db:83 [     wlan0]: 
c0:4a:00:18:db:83 ( 10)
64:70:02:1c:bc:d0    0.090s   (  6) 64:70:02:1c:bc:d0 [     wlan0]: 
64:70:02:1c:bc:d0 (  6)

linaro <at> raspberry:~$ sudo batctl o
[B.A.T.M.A.N. adv 2014.1.0, MainIF/MAC: wlan0/c0:4a:00:18:db:83 (bat0 
BATMAN_IV)]
   Originator      last-seen (#/255)           Nexthop [outgoingIF]:   
Potential nexthops ...
10:fe:ed:14:d5:c4    0.210s   (246) 10:fe:ed:14:d5:c4 [     wlan0]: 
c0:4a:00:19:91:ef (199) 10:fe:ed:14:d5:c4 (246)
c0:4a:00:19:91:ef    0.830s   (226) c0:4a:00:19:91:ef [     wlan0]: 
(Continue reading)

Sven Eckelmann | 17 Apr 13:19 2014

[PATCH 1/2] alfred: Handle EPERM on every sendto

The announcements are currently only sent by alfred instances in master mode.
Slave instances don't announce themself and thus don't detect the broken
socket. To also catch such problems, it is useful to handle the detection of
EPERM during the send in send_alfred_packet which is always called when a
link-local UDP packet is send over the network.

Signed-off-by: Sven Eckelmann <sven@...>
---
 send.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/send.c b/send.c
index 89e9c07..dc0e428 100644
--- a/send.c
+++ b/send.c
 <at>  <at>  -32,7 +32,6  <at>  <at> 

 int announce_master(struct globals *globals)
 {
-	ssize_t ret;
 	struct alfred_announce_master_v0 announcement;

 	if (globals->netsock < 0)
 <at>  <at>  -42,14 +41,8  <at>  <at>  int announce_master(struct globals *globals)
 	announcement.header.version = ALFRED_VERSION;
 	announcement.header.length = htons(0);

-	ret = send_alfred_packet(globals, &in6addr_localmcast, &announcement,
-				 sizeof(announcement));
-	if (ret == -EPERM) {
(Continue reading)

Fabrice Dossin | 12 Apr 23:15 2014
Picon

Re: batctl oops on batctl gateways call

Hi,
I could not reproduce this. I keep you update if I see this again.
Best regards,
Fabrice

On 3 April 2014 10:21, Fabrice Dossin <fabrice.dossin@...> wrote:
> (Sorry, reformatting again, leaving text mode)
>
>
> Hi,
>
> Sorry, my mail client did this behind my  back. I did resend the stack
> here under for readability.
>
> For now, it has append only one time on one node. This particular node
> does not have any other node in his range. I execute a "batctl
> gateways" each 5 minutes for monitoring. I will let you know if it
> appends again today or if I found information for reproducibility.
>
> Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.500226] Unable to handle kernel
> NULL pointer dereference at virtual address 00000022
> Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.508175] pgd = d4918000
> Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.514355] [00000022] *pgd=138f9831,
> *pte=00000000, *ppte=00000000
> Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.521733] Internal error: Oops: 17
> [#5] PREEMPT ARM
> Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.527131] Modules linked in: tun
> ipt_MASQUERADE iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4
> nf_nat nf_conntrack iptable_filter ip_tables x_tables ipv6 bcm2708_rng
> bcm2708_wdog batman_adv(O) rtc_ds1307 qmi_wwan option usb_wwan arc4
(Continue reading)

Gui Iribarren | 8 Apr 19:57 2014
Picon

can batctl ping but not ping in 2014.1.0

Hello again friendly devs,
here we are, after a long "running stable" hiatus, back into the 
bleeding edge for a ride \o/

running a small cloud of recent openwrt trunk (r40361)
(OT: kmod-ath9k is running suprisingly smooth! yay!!)
with kmod-batman-adv - 3.10.34+2014.1.0-2

and, well... i have bat news :P
1) yesterday i saw something vaguely reminiscent to the old OGM starving 
issue: in a line of 4 guinea-pig nodes that flow through a river of 
DeltaLibre, the 4th node would get TQ=1 for the 1st node, and would not 
even ping it (i can't remember the result of batctl ping, maybe it did), 
even though the links were really solid (TQ>220 on every one-hop-link of 
the chain)
(the 3rd node was seeing the 1st with TQ>200, and could batctl ping / 
ping perfectly)
at that point i found out kmod-batman-adv was inadvertently compiled 
without log support :( so that's as much as i can report for now, i'll 
recompile with that enabled and follow up.

2) this morning, in 2-node cloud testbed at home, uptime=22hs, The 
Bizarre Behaviour showed up and is sharing breakfast with me.

    on one side, lying calmly on the floor...

root <at> rockm5:~# batctl o
[B.A.T.M.A.N. adv 2014.1.0, MainIF/MAC: wlan0_adhoc.11/dc:9f:db:9c:37:54 
(bat0 BATMAN_IV)]
   Originator      last-seen (#/255)           Nexthop [outgoingIF]: 
(Continue reading)

Antonio Quartulli | 6 Apr 16:13 2014

[PATCHv3 maint] batman-adv: fix TT VLAN inconsistency on VLAN re-add

From: Antonio Quartulli <antonio@...>

When a VLAN interface (on top of batX) is removed and
re-added within a short timeframe TT does not have enough
time to properly cleanup. This creates an internal TT state
mismatch as the newly created softif_vlan will be
initialized from scratch with a TT client count of zero
(even if TT entries for this VLAN still exist). The
resulting TT messages are bogus due to the counter / tt
client listing mismatch, thus creating inconsistencies on
every node in the network

To fix this issue destroy_vlan() has to not free the VLAN
object immediately but it has to be kept alive until all the
TT entries for this VLAN have been removed. destroy_vlan()
still removes the sysfs folder so that the user has the
feeling that everything went fine.

If the same VLAN is re-added before the old object is free'd,
then the latter is resurrected and re-used.

Implement such behaviour by increasing the reference counter
of a softif_vlan object every time a new local TT entry for
such VLAN is created and remove the object from the list
only when all the TT entries have been destroyed.

Signed-off-by: Antonio Quartulli <antonio@...>
---

Changes since v2:
(Continue reading)

Jan Lühr | 5 Apr 14:21 2014
Picon

DAT (DNT) IPv6?

Hello,

just wondering: Is there a DAT implementation for IPv6?
I distributed neighbor table would certainly be nice :)

Greetz, Jan

martin | 3 Apr 23:27 2014
Picon

Re: Mixing non-B.A.T.M.A.N. systems with batman-adv

Hi Dimar,

Please direct your question to the batman mailing list instead of 
directly to me. That way, you can get help from a lot more people, and 
also get help if I didn't have time to answer...

Nevertheless, I replied inline below.

On 2014-04-03 14:16, Dimar Jaime González Soto wrote:
> Hi Martin,  I need to connect to my mesh network with non b.a.t.m.a.n
> nodes(specifically a tablet).   I followed the instructions
> from http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide
> [1] and I configured a node creating a mesh-bridge interface.  The
> interface, I think, allow the connection through eth0, but the what I
> want is a connection trough the wireless interface, and i don't know
> how to setup the network.

I am a little confused about your current setup. Can you please send us 
(that is the batman mailing: b.a.t.m.a.n@...), the 
following information:

The output of "ip link"
The output of "batctl if"
The output of "brctl show"

That will make it possible for us to give you better information.

Thanks,
Martin

(Continue reading)

Antonio Quartulli | 2 Apr 08:27 2014

[PATCHv3 maint] batctl: tcpdump - fix IP header parsing

From: Antonio Quartulli <antonio@...>

Fix the IP header parsing by properly converting the source
and the destination addresses to strings.
The problem is given by the fact that inet_ntoa() uses a
static buffer to store its result, therefore it cannot be
invoked twice in a row without saving the first outcome.
Moreover inet_ntoa() is deprecated in favor of inet_pton().

Introduced by 35b37756f4a3a230bf7941034d9da178ee5b4948
("add IPv6 support to tcpdump parser")

This patch also slightly beautifies the code.

Signed-off-by: Antonio Quartulli <antonio@...>
---

Change since v2:
- fix commit subject

Change since v1:
- print all errors on stderr

 tcpdump.c | 73 ++++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 42 insertions(+), 31 deletions(-)

diff --git a/tcpdump.c b/tcpdump.c
index e9fac70..94e2a84 100644
--- a/tcpdump.c
+++ b/tcpdump.c
(Continue reading)

Fabrice Dossin | 2 Apr 13:50 2014
Picon

batctl oops on batctl gateways call

Dear all,

Hello.
I am not sure it has been notified so I post this issue here.
It is my first post, so tell me if I do it bad...

I have oops on "batctl gateways" call :

Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.500226] Unable to handle
kernel NULL pointer dereference at virtual address 00000022
Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.508175] pgd = d4918000
Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.514355] [00000022]
*pgd=138f9831, *pte=00000000, *ppte=00000000
Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.521733] Internal error: Oops:
17 [#5] PREEMPT ARM
Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.527131] Modules linked in:
tun ipt_MASQUERADE iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4
nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables ipv6
bcm2708_rng bcm2708_wdog batman_adv(O) rtc_ds1307 qmi_wwan option
usb_wwan arc4 usbserial cdc_wdm rt2800usb rt2800lib rt2x00usb
rt2x00lib mac80211 cfg80211 crc_ccitt sr_mod cdrom leds_gpio led_class
rt5572sta(O) spi_bcm2708 i2c_bcm2708 btusb bluetooth rfkill
Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.544610] CPU: 0 PID: 7261
Comm: batctl Tainted: G      D    O 3.10.30+ #1
Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.550263] task: d49f3180 ti:
d38d0000 task.ti: d38d0000
Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.556017] PC is at
batadv_orig_router_get+0x50/0x9c [batman_adv]
Apr  2 11:45:08 pv2-1dnci kernel: [ 7432.561587] LR is at
batadv_orig_router_get+0x10/0x9c [batman_adv]
(Continue reading)

Antonio Quartulli | 2 Apr 14:40 2014

[PATCH openwrt-routing-feed] batman-adv: add support for the isolation_mark option

From: Antonio Quartulli <antonio@...>

With the introduction of the Extended Isolation component[1]
a new option is required by batman-adv: the isolation_mark.
This patch adds support for it in the configuration file

[1] http://www.open-mesh.org/projects/batman-adv/wiki/Extended-isolation

Signed-off-by: Antonio Quartulli <antonio@...>
---
 batman-adv/files/lib/batman-adv/config.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/batman-adv/files/lib/batman-adv/config.sh b/batman-adv/files/lib/batman-adv/config.sh
index 471c1f2..3b735d5 100644
--- a/batman-adv/files/lib/batman-adv/config.sh
+++ b/batman-adv/files/lib/batman-adv/config.sh
 <at>  <at>  -12,7 +12,7  <at>  <at>  bat_config()
 {
 	local mesh="$1"
 	local aggregated_ogms ap_isolation bonding bridge_loop_avoidance distributed_arp_table fragmentation
-	local gw_bandwidth gw_mode gw_sel_class hop_penalty network_coding log_level orig_interval vis_mode
+	local gw_bandwidth gw_mode gw_sel_class hop_penalty isolation_mark network_coding log_level
orig_interval vis_mode

 	config_get aggregated_ogms "$mesh" aggregated_ogms
 	config_get ap_isolation "$mesh" ap_isolation
 <at>  <at>  -24,6 +24,7  <at>  <at>  bat_config()
 	config_get gw_mode "$mesh" gw_mode
 	config_get gw_sel_class "$mesh" gw_sel_class
(Continue reading)

Ilario Gelmetti | 31 Mar 22:10 2014
Picon

br-lan: received packet on bat0 with own address as source address

Hi all,
I have two devices (Ubiquiti PicoStation M2 and Ubiquiti NanoStation M5)
mounted on the same pole both running libre-mesh [1] firmware
(batman-adv: 2014.1.0) and both attached to a Mikrotik RB250GS gigabit
switch (latest 1.11 firmware, default configuration) which is attached
to my pc [2].
When isolated (turning off the port of the other device via the switch
interface), both Ubiquiti devices doesn't see any other device with
batman neither have any client connected.
Both the devices independently (also when are isolated) print the same
error in dmesg:
br-lan: received packet on bat0 with own address as source address

This error is an indication that batman loop avoidance has some
problems, right?
Obviously loop avoidance is enabled.
# batctl bl
enabled

Various interfaces are bridged, for example in PicoStation I have:
# brctl show
bridge name	bridge id		STP enabled	interfaces
br-lan		7fff.dc9fdb31c136	no		eth0
							bat0
							wlan0_ap

I noticed that I'm not the first to ask here about this message [3][4].
I attach to this email dmesg form both isolated devices,
/etc/config/network, ip a, ifconfig, brctl and info from batctl.
Thanks,
(Continue reading)


Gmane