From patchwork Wed Oct 21 15:26:01 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Eckelmann X-Patchwork-Id: 5169 Return-Path: Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by open-mesh.net (Postfix) with SMTP id B2A5A1543D7 for ; Wed, 21 Oct 2009 16:03:54 +0000 (UTC) Received: (qmail invoked by alias); 21 Oct 2009 15:26:05 -0000 Received: from unknown (EHLO localhost) [89.246.201.200] by mail.gmx.net (mp037) with SMTP; 21 Oct 2009 17:26:05 +0200 X-Authenticated: #15668376 X-Provags-ID: V01U2FsdGVkX1+O1mZkEAWOhsB+LInVtso52KbIs39FRK+R5P5vlI lrBJKOWC8d3Ft9 From: Sven Eckelmann To: b.a.t.m.a.n@lists.open-mesh.net Date: Wed, 21 Oct 2009 17:26:01 +0200 Message-Id: <1256138761-12940-1-git-send-email-sven.eckelmann@gmx.de> X-Mailer: git-send-email 1.6.5 In-Reply-To: <200910211400.55696.sven.eckelmann@gmx.de> References: <200910211400.55696.sven.eckelmann@gmx.de> X-Y-GMX-Trusted: 0 X-FuHaFi: 0.53 Subject: [B.A.T.M.A.N.] [PATCH] Start to send originator messages when interface gets active X-BeenThere: b.a.t.m.a.n@lists.open-mesh.net X-Mailman-Version: 2.1.11 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2009 16:03:54 -0000 The module gets in a inactive state when all interfaces are down. This stops the sending of new packets. When a interface gets activated again it must reactivate the module and then start the sending of new originator messages. Signed-off-by: Sven Eckelmann --- batman-adv-kernelland/hard-interface.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/batman-adv-kernelland/hard-interface.c b/batman-adv-kernelland/hard-interface.c index f04d2db..f954f4e 100644 --- a/batman-adv-kernelland/hard-interface.c +++ b/batman-adv-kernelland/hard-interface.c @@ -425,6 +425,13 @@ static int hard_if_event(struct notifier_block *this, break; case NETDEV_UP: hardif_activate_interface(batman_if); + if ((atomic_read(&module_state) == MODULE_INACTIVE) && + (hardif_get_active_if_num() > 0)) { + activate_module(); + + /* begin sending originator messages on that interface */ + schedule_own_packet(batman_if); + } break; /* NETDEV_CHANGEADDR - mac address change - what are we doing here ? */ default: