The branch, pu/nonblock_ioctl has been deleted
was b91c9ae8842ff42ec2428d4f665274942db2528d
-----------------------------------------------------------------------
b91c9ae8842ff42ec2428d4f665274942db2528d batmand: Use non-blocking ioctl to fix FTBFS with linux >= 2.6.35
-----------------------------------------------------------------------
--
batmand
The branch, pu/makefile_cleanup has been deleted
was f01a18bc0af95af0fb48cf408fe73dceb2024289
-----------------------------------------------------------------------
f01a18bc0af95af0fb48cf408fe73dceb2024289 batmand: Remove wrong information about daemon size reduction
-----------------------------------------------------------------------
--
batmand
The branch, pu/linux3 has been deleted
was 6ae84a5e2de629d8788ea7a051007adf5e58a105
-----------------------------------------------------------------------
6ae84a5e2de629d8788ea7a051007adf5e58a105 batmand: Fix build of batgat module with linux 3.0
-----------------------------------------------------------------------
--
batmand
The following commit has been merged in the pu/makefile_cleanup branch:
commit be46dabff125d4486439268313fccc3d22ce88f7
Author: Sven Eckelmann <sven(a)narfation.org>
Date: Tue Jul 5 10:54:59 2011 +0200
vis: Replace version info instead of appending them
The version number of vis can get revision numbers added. This is useful to
give hints about the revision of a distribution package and the used patchset
or the commit which was used to build it. The prepended source number or branch
name doesn't add any additional information which would help to identify
problems and can therefore be omitted.
Signed-off-by: Sven Eckelmann <sven(a)narfation.org>
diff --git a/Makefile b/Makefile
index 745b6e3..1804155 100755
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ OBJ = allocate.o hash.o list-batman.o vis.o udp_server.o
# vis flags and options
CFLAGS += -pedantic -Wall -W -std=gnu99 -MD
-CPPFLAGS += -DDEBUG_MALLOC -DMEMORY_USAGE -DREVISION_VERSION=$(REVISION_VERSION)
+CPPFLAGS += -DDEBUG_MALLOC -DMEMORY_USAGE
LDLIBS += -lpthread
# disable verbose output
@@ -50,8 +50,12 @@ PREFIX = /usr/local
SBINDIR = $(PREFIX)/sbin
# try to generate revision
-REVISION = $(shell if [ -d .git ]; then echo $$(git describe --always --dirty 2> /dev/null || echo "[unknown]"); fi)
-REVISION_VERSION=\"\ $(REVISION)\"
+REVISION= $(shell if [ -d .git ]; then \
+ echo $$(git describe --always --dirty --match "v*" |sed 's/^v//' 2> /dev/null || echo "[unknown]"); \
+ fi)
+ifneq ($(REVISION),)
+CPPFLAGS += -DSOURCE_VERSION=\"$(REVISION)\"
+endif
# default target
all: $(BINARY_NAME)
diff --git a/vis.c b/vis.c
index a17e192..181d76a 100644
--- a/vis.c
+++ b/vis.c
@@ -901,7 +901,7 @@ int main( int argc, char **argv ) {
}
- debug_output("B.A.T.M.A.N. visualisation server %s%s successfully started ... \n", SOURCE_VERSION, (strlen("REVISION_VERSION") > 3 ? REVISION_VERSION : ""));
+ debug_output("B.A.T.M.A.N. visualisation server %s successfully started ... \n", SOURCE_VERSION);
pthread_create( &udp_server_thread, NULL, &udp_server, NULL );
diff --git a/vis.h b/vis.h
index 9f26ee6..74a3bd8 100644
--- a/vis.h
+++ b/vis.h
@@ -38,8 +38,9 @@
#include "allocate.h"
#include "list-batman.h"
-#define SOURCE_VERSION "0.4-alpha" //put exactly one distinct word inside the string like "0.3-pre-alpha" or "0.3-rc1" or "0.3"
-
+#ifndef SOURCE_VERSION
+#define SOURCE_VERSION "0.4"
+#endif
#define MAXCHAR 4096
@@ -49,10 +50,6 @@
#define ADDR_STR_LEN 16
-#ifndef REVISION_VERSION
-#define REVISION_VERSION "0"
-#endif
-
--
vis
The following commit has been merged in the maint branch:
commit db10af5245b41fac9e8bebb0cc90c07d02aa557c
Author: Antonio Quartulli <ordex(a)autistici.org>
Date: Sun Dec 4 22:38:27 2011 +0100
batman-adv: delete global entry in case of roaming
When receiving a DEL change for a client due to a roaming event (change is
marked with TT_CLIENT_ROAM), each node has to check if the client roamed
to itself or somewhere else.
In the latter case the global entry is kept to avoid having no route at all
otherwise we can safely delete the global entry
Signed-off-by: Antonio Quartulli <ordex(a)autistici.org>
diff --git a/translation-table.c b/translation-table.c
index c46b140..5f09a57 100644
--- a/translation-table.c
+++ b/translation-table.c
@@ -696,6 +696,7 @@ void tt_global_del(struct bat_priv *bat_priv,
const char *message, bool roaming)
{
struct tt_global_entry *tt_global_entry = NULL;
+ struct tt_local_entry *tt_local_entry = NULL;
tt_global_entry = tt_global_hash_find(bat_priv, addr);
if (!tt_global_entry)
@@ -703,15 +704,29 @@ void tt_global_del(struct bat_priv *bat_priv,
if (tt_global_entry->orig_node == orig_node) {
if (roaming) {
- tt_global_entry->flags |= TT_CLIENT_ROAM;
- tt_global_entry->roam_at = jiffies;
- goto out;
+ /* if we are deleting a global entry due to a roam
+ * event, there are two possibilities:
+ * 1) the client roamed from node A to node B => we mark
+ * it with TT_CLIENT_ROAM, we start a timer and we
+ * wait for node B to claim it. In case of timeout
+ * the entry is purged.
+ * 2) the client roamed to us => we can directly delete
+ * the global entry, since it is useless now. */
+ tt_local_entry = tt_local_hash_find(bat_priv,
+ tt_global_entry->addr);
+ if (!tt_local_entry) {
+ tt_global_entry->flags |= TT_CLIENT_ROAM;
+ tt_global_entry->roam_at = jiffies;
+ goto out;
+ }
}
_tt_global_del(bat_priv, tt_global_entry, message);
}
out:
if (tt_global_entry)
tt_global_entry_free_ref(tt_global_entry);
+ if (tt_local_entry)
+ tt_local_entry_free_ref(tt_local_entry);
}
void tt_global_del_orig(struct bat_priv *bat_priv,
--
batman-adv
The following commit has been merged in the maint branch:
commit 913c412bd4320bfe3b1acfaa467e07e87bb41789
Author: Antonio Quartulli <ordex(a)autistici.org>
Date: Sun Dec 4 12:26:50 2011 +0100
batman-adv: in case of roaming mark the client with TT_CLIENT_ROAM
In case of a client roaming from node A to node B, the latter have to mark the
corresponding global entry with TT_CLIENT_ROAM (instead of TT_CLIENT_PENDING).
Marking a global entry with TT_CLIENT_PENDING will end up in keeping such entry
forever (because this flag is only meant to be used with local entries and it is
never checked on global ones).
In the worst case (all the clients roaming to the same node A) the local and the
global table will contain exactly the same clients. Batman-adv will continue to
work, but the memory usage is duplicated.
Signed-off-by: Antonio Quartulli <ordex(a)autistici.org>
diff --git a/translation-table.c b/translation-table.c
index c7aafc7..c46b140 100644
--- a/translation-table.c
+++ b/translation-table.c
@@ -245,9 +245,11 @@ void tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
if (tt_global_entry) {
/* This node is probably going to update its tt table */
tt_global_entry->orig_node->tt_poss_change = true;
- /* The global entry has to be marked as PENDING and has to be
+ /* The global entry has to be marked as ROAMING and has to be
* kept for consistency purpose */
- tt_global_entry->flags |= TT_CLIENT_PENDING;
+ tt_global_entry->flags |= TT_CLIENT_ROAM;
+ tt_global_entry->roam_at = jiffies;
+
send_roam_adv(bat_priv, tt_global_entry->addr,
tt_global_entry->orig_node);
}
--
batman-adv
The following commit has been merged in the next branch:
commit 8dd0e9973429c80f52483e8045862f61a74b6fd6
Author: Antonio Quartulli <ordex(a)autistici.org>
Date: Fri Dec 2 17:38:52 2011 +0100
batman-adv: format multi-line if in the correct way
in an multi-line if statement leading edges should line up to the opening
parenthesis
Reported-by: David Miller <davem(a)davemloft.net>
Signed-off-by: Antonio Quartulli <ordex(a)autistici.org>
diff --git a/routing.c b/routing.c
index ef24a72..773e606 100644
--- a/routing.c
+++ b/routing.c
@@ -627,8 +627,7 @@ int recv_tt_query(struct sk_buff *skb, struct hard_iface *recv_if)
/* Ensure we have all the claimed data */
if (unlikely(skb_headlen(skb) <
- sizeof(struct tt_query_packet) +
- tt_len))
+ sizeof(struct tt_query_packet) + tt_len))
goto out;
handle_tt_response(bat_priv, tt_query);
--
batman-adv