From patchwork Tue Nov 8 11:34:22 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonio Quartulli X-Patchwork-Id: 1349 Return-Path: Received: from latitanza.investici.org (latitanza.investici.org [82.94.249.234]) by open-mesh.org (Postfix) with ESMTPS id 4C783600850 for ; Tue, 8 Nov 2011 12:34:34 +0100 (CET) Authentication-Results: open-mesh.org; dkim=pass (1024-bit key) header.i=@autistici.org; dkim-adsp=pass Received: from [82.94.249.234] (latitanza [82.94.249.234]) (Authenticated sender: ordex@autistici.org) by localhost (Postfix) with ESMTPSA id A2A5C982BA; Tue, 8 Nov 2011 11:34:33 +0000 (UTC) X-DKIM: Sendmail DKIM Filter v2.8.2 latitanza.investici.org A2A5C982BA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1320752073; bh=MH4dFem5/29jFYNYDqEs5P0gI5a1ZbkOBYlICPwPH74=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=Of85LX+fUOB/0u5vqza9/P/OPZULfhK2QgJ9kwmS0pXzxhcYGxNknRapbOEiRCMsq LaDV56e6ZQoAfuGNPRMIV5Se8b67nO6MaA03NfdQoFVMmma6NEWs6xb3MJuYqR8gw+ Wo9XaAtk7AaOfTyX9hmjpQcjqAcVjd9VI8V2i4rg= From: Antonio Quartulli To: b.a.t.m.a.n@lists.open-mesh.org Date: Tue, 8 Nov 2011 12:34:22 +0100 Message-Id: <1320752062-21776-8-git-send-email-ordex@autistici.org> X-Mailer: git-send-email 1.7.3.4 In-Reply-To: <1320752062-21776-1-git-send-email-ordex@autistici.org> References: <1320752062-21776-1-git-send-email-ordex@autistici.org> Subject: [B.A.T.M.A.N.] [PATCHv2 7/7] batman-adv: add Distributed ARP Table compile option 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: Tue, 08 Nov 2011 11:34:34 -0000 Signed-off-by: Antonio Quartulli --- Makefile.kbuild | 8 +++++++- README | 4 ++++ distributed-arp-table.h | 12 ++++++++++++ 3 files changed, 23 insertions(+), 1 deletions(-) diff --git a/Makefile.kbuild b/Makefile.kbuild index e8861cb..f09004f 100644 --- a/Makefile.kbuild +++ b/Makefile.kbuild @@ -18,6 +18,8 @@ # 02110-1301, USA # +# uncomment the following line to enable the Distributed ARP Table feature +# CONFIG_BATMAN_ADV_DAT=y # openwrt integration @@ -27,6 +29,10 @@ endif # ccflags-y += -DCONFIG_BATMAN_ADV_DEBUG +ifeq ($(CONFIG_BATMAN_ADV_DAT), y) +ccflags-y += -DCONFIG_BATMAN_ADV_DAT +endif + ifneq ($(REVISION),) ccflags-y += -DSOURCE_VERSION=\"$(REVISION)\" endif @@ -36,7 +42,7 @@ batman-adv-y += bat_debugfs.o batman-adv-y += bat_iv_ogm.o batman-adv-y += bat_sysfs.o batman-adv-y += bitarray.o -batman-adv-y += distributed-arp-table.o +batman-adv-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o batman-adv-y += gateway_client.o batman-adv-y += gateway_common.o batman-adv-y += hard-interface.o diff --git a/README b/README index 5ba56b5..1a27f9f 100644 --- a/README +++ b/README @@ -26,6 +26,10 @@ it. If you work on a backport, feel free to contact us. :-) COMPILE ------- +Before compiling you want to have a look at the Makefile.kbuild +file to enable/disable wanted features. Actually there are: +- CONFIG_BATMAN_ADV_DAT enables the Distributed ARP Table + To compile against your currently installed kernel, just type: # make diff --git a/distributed-arp-table.h b/distributed-arp-table.h index d3fb8b1..496b7f3 100644 --- a/distributed-arp-table.h +++ b/distributed-arp-table.h @@ -28,6 +28,8 @@ #define ARP_HW_DST(skb) (ARP_HW_SRC(skb) + ETH_ALEN + 4) #define ARP_IP_DST(skb) (*(uint32_t *)(ARP_HW_SRC(skb) + ETH_ALEN * 2 + 4)) +#ifdef CONFIG_BATMAN_ADV_BAT + uint16_t arp_get_type(struct bat_priv *bat_priv, struct sk_buff *skb); bool arp_snoop_outgoing_request(struct bat_priv *bat_priv, struct sk_buff *skb); @@ -36,6 +38,16 @@ bool arp_snoop_incoming_request(struct bat_priv *bat_priv, bool arp_snoop_outgoing_reply(struct bat_priv *bat_priv, struct sk_buff *skb); bool arp_snoop_incoming_reply(struct bat_priv *bat_priv, struct sk_buff *skb); +#else + +#define arp_get_type(...) (0) +#define arp_snoop_outgoing_request(...) (0) +#define arp_snoop_incoming_request(...) (0) +#define arp_snoop_outgoing_reply(...) +#define arp_snoop_incoming_reply(...) + +#endif + /* hash function to choose an entry in a hash table of given size */ /* hash algorithm from http://en.wikipedia.org/wiki/Hash_table */ static inline uint32_t hash_ipv4(const void *data, uint32_t size)