From patchwork Sat Mar 10 22:17:50 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Lindner X-Patchwork-Id: 1620 Return-Path: Received: from nm4.bullet.mail.ukl.yahoo.com (nm4.bullet.mail.ukl.yahoo.com [217.146.182.225]) by open-mesh.org (Postfix) with SMTP id A913160085E for ; Sat, 10 Mar 2012 23:18:31 +0100 (CET) Authentication-Results: open-mesh.org; dkim=pass (1024-bit key) header.i=@yahoo.de; dkim-adsp=none Received: from [217.146.183.211] by nm4.bullet.mail.ukl.yahoo.com with NNFMP; 10 Mar 2012 22:18:31 -0000 Received: from [217.146.182.74] by tm4.bullet.mail.ukl.yahoo.com with NNFMP; 10 Mar 2012 22:18:31 -0000 Received: from [127.0.0.1] by smtp105.mail.ukl.yahoo.com with NNFMP; 10 Mar 2012 22:18:31 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s1024; t=1331417911; bh=uFKtjTsHZXIy0WW1Ud8kIFo534w9CCSr2LGcQdgPz2E=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer:In-Reply-To:References; b=laTQoFKbpTPXgx99is+ISB6JXhtPLua3dyhunA6zVovKsV7LeSNOwXZw6bAwLhyRsLRmw0KGgO6jQ76tn9usz9GDIRnIx4wYcJxUgbnNA97hxbZcbB6AOnXQ8bS9m+N39pfsZmWdD/foEEpU57SeGwyEgYIOV5+c9v2UW+OVky8= X-Yahoo-Newman-Id: 452992.77691.bm@smtp105.mail.ukl.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: PcodCvgVM1kRREHYx8Pg.H0E0blU1wCOqYmTs8Fx_BK_Qpa XHcNSyzeyyqQmf3vAk9zE_G1ai0X3_8ClwJ7p8wkVawNLhhZ6s0Rq6hgr8bJ 9py7YHE1FT5tdwifio.SVwQ7v3r6hykzICn0qu8upOcNjeEUdNOb2Ndh.2Y0 QoOy8j.g9oFsm_XvkQasWKDXjtY.cE62zAuR9F4kE532uOjKiNMeeVt_u7CC G.1eXiTSvqjlE5eg8C8PSpOnUlpmVeQPQMGa4j_JENe1yLV7od2MYNQTjgtG W34AVFMHPIZ.l_3vGuOMnCiSulkVviBJ7VXViRfJCmlgLkeQQzA8_iw.hQ2X 8v60lVj4eSdWM1jTKe.v7C90qmAm4rKMLkCHiAVm13tHQMw6sFwS_6DHa09C uC__B X-Yahoo-SMTP: tW.h3tiswBBMXO2coYcbPigGD5Lt6zY_.Zc- Received: from localhost (lindner_marek@119.236.110.45 with plain) by smtp105.mail.ukl.yahoo.com with SMTP; 10 Mar 2012 14:18:30 -0800 PST From: Marek Lindner To: b.a.t.m.a.n@lists.open-mesh.org Date: Sun, 11 Mar 2012 06:17:50 +0800 Message-Id: <1331417873-19354-2-git-send-email-lindner_marek@yahoo.de> X-Mailer: git-send-email 1.7.9.1 In-Reply-To: <1331417873-19354-1-git-send-email-lindner_marek@yahoo.de> References: <1331417873-19354-1-git-send-email-lindner_marek@yahoo.de> Cc: Marek Lindner Subject: [B.A.T.M.A.N.] [PATCH 2/5] batman-adv: refactoring API: find generalized name for bat_ogm_update_mac callback X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.13 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: Sat, 10 Mar 2012 22:18:31 -0000 Signed-off-by: Marek Lindner --- bat_iv_ogm.c | 18 +++++++++--------- hard-interface.c | 4 ++-- main.c | 2 +- types.h | 5 +++-- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/bat_iv_ogm.c b/bat_iv_ogm.c index 819ae49..1e92e38 100644 --- a/bat_iv_ogm.c +++ b/bat_iv_ogm.c @@ -93,24 +93,24 @@ static void bat_iv_ogm_iface_disable(struct hard_iface *hard_iface) hard_iface->packet_buff = NULL; } -static void bat_iv_ogm_primary_iface_set(struct hard_iface *hard_iface) +static void bat_iv_ogm_iface_update_mac(struct hard_iface *hard_iface) { struct batman_ogm_packet *batman_ogm_packet; batman_ogm_packet = (struct batman_ogm_packet *)hard_iface->packet_buff; - batman_ogm_packet->flags = PRIMARIES_FIRST_HOP; - batman_ogm_packet->header.ttl = TTL; + memcpy(batman_ogm_packet->orig, + hard_iface->net_dev->dev_addr, ETH_ALEN); + memcpy(batman_ogm_packet->prev_sender, + hard_iface->net_dev->dev_addr, ETH_ALEN); } -static void bat_iv_ogm_update_mac(struct hard_iface *hard_iface) +static void bat_iv_ogm_primary_iface_set(struct hard_iface *hard_iface) { struct batman_ogm_packet *batman_ogm_packet; batman_ogm_packet = (struct batman_ogm_packet *)hard_iface->packet_buff; - memcpy(batman_ogm_packet->orig, - hard_iface->net_dev->dev_addr, ETH_ALEN); - memcpy(batman_ogm_packet->prev_sender, - hard_iface->net_dev->dev_addr, ETH_ALEN); + batman_ogm_packet->flags = PRIMARIES_FIRST_HOP; + batman_ogm_packet->header.ttl = TTL; } /* when do we schedule our own ogm to be sent */ @@ -1235,8 +1235,8 @@ static struct bat_algo_ops batman_iv __read_mostly = { .name = "BATMAN IV", .bat_iface_enable = bat_iv_ogm_iface_enable, .bat_iface_disable = bat_iv_ogm_iface_disable, + .bat_iface_update_mac = bat_iv_ogm_iface_update_mac, .bat_primary_iface_set = bat_iv_ogm_primary_iface_set, - .bat_ogm_update_mac = bat_iv_ogm_update_mac, .bat_ogm_schedule = bat_iv_ogm_schedule, .bat_ogm_emit = bat_iv_ogm_emit, }; diff --git a/hard-interface.c b/hard-interface.c index b49bf0d..daa6adc 100644 --- a/hard-interface.c +++ b/hard-interface.c @@ -231,7 +231,7 @@ static void hardif_activate_interface(struct hard_iface *hard_iface) bat_priv = netdev_priv(hard_iface->soft_iface); - bat_priv->bat_algo_ops->bat_ogm_update_mac(hard_iface); + bat_priv->bat_algo_ops->bat_iface_update_mac(hard_iface); hard_iface->if_status = IF_TO_BE_ACTIVATED; /** @@ -527,7 +527,7 @@ static int hard_if_event(struct notifier_block *this, check_known_mac_addr(hard_iface->net_dev); bat_priv = netdev_priv(hard_iface->soft_iface); - bat_priv->bat_algo_ops->bat_ogm_update_mac(hard_iface); + bat_priv->bat_algo_ops->bat_iface_update_mac(hard_iface); primary_if = primary_if_get_selected(bat_priv); if (!primary_if) diff --git a/main.c b/main.c index 04658e0..75938fb 100644 --- a/main.c +++ b/main.c @@ -326,8 +326,8 @@ int bat_algo_register(struct bat_algo_ops *bat_algo_ops) /* all algorithms must implement all ops (for now) */ if (!bat_algo_ops->bat_iface_enable || !bat_algo_ops->bat_iface_disable || + !bat_algo_ops->bat_iface_update_mac || !bat_algo_ops->bat_primary_iface_set || - !bat_algo_ops->bat_ogm_update_mac || !bat_algo_ops->bat_ogm_schedule || !bat_algo_ops->bat_ogm_emit) { pr_info("Routing algo '%s' does not implement required ops\n", diff --git a/types.h b/types.h index 5ca9b58..04d6cf5 100644 --- a/types.h +++ b/types.h @@ -398,10 +398,11 @@ struct bat_algo_ops { int (*bat_iface_enable)(struct hard_iface *hard_iface); /* de-init routing info when hard-interface is disabled */ void (*bat_iface_disable)(struct hard_iface *hard_iface); + /* (re-)init mac addresses of the protocol information + * belonging to this hard-interface */ + void (*bat_iface_update_mac)(struct hard_iface *hard_iface); /* called when primary interface is selected / changed */ void (*bat_primary_iface_set)(struct hard_iface *hard_iface); - /* init mac addresses of the OGM belonging to this hard-interface */ - void (*bat_ogm_update_mac)(struct hard_iface *hard_iface); /* prepare a new outgoing OGM for the send queue */ void (*bat_ogm_schedule)(struct hard_iface *hard_iface, int tt_num_changes);