Skip to contentSkip to conversation

batman-adv not selecting a gateway when using "client 1" through uci config

B.A.T.M.A.N. Nicolás Echániz 2 participants 4 messages Jul 20, 2012 – Jul 23, 2012

lore
Share & tools
lore
#0 lore raw

Hi everyone,

I've been experimenting with gateway selection in QuintanaLibre. I have a very bad gateway that I want to work as a last resort gateway when the other is down, so I tried changing to gw_mode client 1 and used some unreal values for the Up/Down speeds to "force" the selection.

Anyway, this is all well, the good gateway gets selected from almost all the mesh, but the problem is that when I updated the client routers configuration using uci to make it permanent, I stumbled with this strange result that you can see here:

http://pastebin.com/pEhcq2TW

there's no gateway being selected until I manually run:

# batctl gw_mode client 1
(which was te current mode anyway)
on each client.

In fact, connected computers are not being served DHCP offers because of this.

Is this some known behavior or just something I overlooked?

Thanks as ever for your help with batman-adv, which here at the far south we are loving every day more as little mesh clouds keep spawning around us :)

Cheers,
NicoEchániz

#1 lore raw
Quoted 9 lines · On Friday, July 20, 2012 04:24:11 Nicolás Echániz wrote:

there's no gateway being selected until I manually run:

# batctl gw_mode client 1
(which was te current mode anyway)
on each client.

In fact, connected computers are not being served DHCP offers because of this.

Is this some known behavior or just something I overlooked?

In fact you managed to uncover a regression that was overlooked for quite some time. Guess gw selection class 1 is rarely used. :-)

Can you apply the attached patch and verify that it fixes the problem ? Here in my test setup it does.

Regards,
Marek

From 0a29f3a348c68f375585e25153da0f0a061fd71d Mon Sep 17 00:00:00 2001
From: Marek Lindner <[email protected]>
Date: Sun, 22 Jul 2012 13:04:48 +0200
Subject: [PATCH] batman-adv: select an internet gateway if none was chosen
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is a regression introduced by: 6a17ecc4603be7f065c38b288d038a0082bbf21d

---
 gateway_client.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
gateway_client.c +3 -3
index 47f7186..dace001 100644
@@ -197,11 +197,11 @@ void gw_election(struct bat_priv *bat_priv)
 	if (atomic_read(&bat_priv->gw_mode) != GW_MODE_CLIENT)
 		goto out;
 
-	if (!atomic_dec_not_zero(&bat_priv->gw_reselect))
-		goto out;
-
 	curr_gw = gw_get_selected_gw_node(bat_priv);
 
+	if (!atomic_dec_not_zero(&bat_priv->gw_reselect) && curr_gw)
+		goto out;
+
 	next_gw = gw_get_best_gw_node(bat_priv);
 
 	if (curr_gw == next_gw)
Signature · 1 line
1.7.9.1
#2 lore raw
Quoted 9 lines · Marek Lindner
Quoted 8 lines · On Friday, July 20, 2012 04:24:11 Nicolás Echániz wrote:

there's no gateway being selected until I manually run:

# batctl gw_mode client 1
(which was te current mode anyway)
on each client.

In fact, connected computers are not being served DHCP offers because of this.

Quoted 7 lines
Quoted 1 line

Is this some known behavior or just something I overlooked?

In fact you managed to uncover a regression that was overlooked for quite some time. Guess gw selection class 1 is rarely used. :-)

Can you apply the attached patch and verify that it fixes the problem ? Here in my test setup it does.

Marek patch applied (thanks Guido) and verified.
gw_mode client 1 is now properly selecting a gateway when set in the config.

thanks for your prompt reply :)

cheers,
NicoEchániz

#3 lore raw
Quoted 9 lines · On Monday, July 23, 2012 11:02:49 Nicolás Echániz wrote:
Quoted 9 lines
Quoted 1 line

Is this some known behavior or just something I overlooked?

In fact you managed to uncover a regression that was overlooked for quite some time. Guess gw selection class 1 is rarely used. :-)

Quoted 6 lines
Quoted 2 lines

Can you apply the attached patch and verify that it fixes the problem ? Here in my test setup it does.

Marek patch applied (thanks Guido) and verified.
gw_mode client 1 is now properly selecting a gateway when set in the config.

Thanks for testing the patch. I updated the OpenWrt package and will provide a patch that goes into the next release.

Cheers,
Marek