linux integration; annotated tag, batman-adv-fix-for-davem, created. batman-adv-fix-for-davem
by postmaster@open-mesh.org
The annotated tag, batman-adv-fix-for-davem has been created
at 18a5dc5580fa6648a43351f833039754f4d8e48c (tag)
tagging 2d3f6ccc4ea5c74d4b4af1b47c56b4cff4bbfcb7 (commit)
replaces v3.5-rc5
tagged by Antonio Quartulli
on Fri Jul 6 00:09:27 2012 +0200
- Shortlog ------------------------------------------------------------
Included changes:
- fix a bug generated by the wrong interaction between the GW feature and the
Bridge Loop Avoidance
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iEYEABECAAYFAk/2EMQACgkQpGgxIkP9cweoqgCeNGrHU9HxBnKXSylNcqhQBzqr
9jMAni+gJX+lzmrA2j1w/rCaamuNpbJG
=mXZq
-----END PGP SIGNATURE-----
Simon Wunderlich (1):
batman-adv: check incoming packet type for bla
-----------------------------------------------------------------------
--
linux integration
9 years, 11 months
batman-adv; branch, maint, updated. v2012.2.0-4-ge324701
by postmaster@open-mesh.org
The following commit has been merged in the maint branch:
commit e32470167379db2ca7713108f1e917c531426eee
Author: Simon Wunderlich <simon.wunderlich(a)s2003.tu-chemnitz.de>
Date: Wed Jul 4 20:38:19 2012 +0200
batman-adv: check incoming packet type for bla
If the gateway functionality is used, some broadcast packets (DHCP
requests) may be transmitted as unicast packets. As the bridge loop
avoidance code now only considers the payload Ethernet destination,
it may drop the DHCP request for clients which are claimed by other
backbone gateways, because it falsely infers from the broadcast address
that the right backbone gateway should havehandled the broadcast.
Fix this by checking and delegating the batman-adv packet type used
for transmission.
Reported-by: Guido Iribarren <guidoiribarren(a)buenosaireslibre.org>
Signed-off-by: Simon Wunderlich <siwu(a)hrz.tu-chemnitz.de>
diff --git a/bridge_loop_avoidance.c b/bridge_loop_avoidance.c
index 8bf9751..c5863f4 100644
--- a/bridge_loop_avoidance.c
+++ b/bridge_loop_avoidance.c
@@ -1351,6 +1351,7 @@ void bla_free(struct bat_priv *bat_priv)
* @bat_priv: the bat priv with all the soft interface information
* @skb: the frame to be checked
* @vid: the VLAN ID of the frame
+ * @is_bcast: the packet came in a broadcast packet type.
*
* bla_rx avoidance checks if:
* * we have to race for a claim
@@ -1361,7 +1362,8 @@ void bla_free(struct bat_priv *bat_priv)
* process the skb.
*
*/
-int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
+int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid,
+ bool is_bcast)
{
struct ethhdr *ethhdr;
struct claim search_claim, *claim = NULL;
@@ -1380,7 +1382,7 @@ int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
if (unlikely(atomic_read(&bat_priv->bla_num_requests)))
/* don't allow broadcasts while requests are in flight */
- if (is_multicast_ether_addr(ethhdr->h_dest))
+ if (is_multicast_ether_addr(ethhdr->h_dest) && is_bcast)
goto handled;
memcpy(search_claim.addr, ethhdr->h_source, ETH_ALEN);
@@ -1406,8 +1408,13 @@ int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid)
}
/* if it is a broadcast ... */
- if (is_multicast_ether_addr(ethhdr->h_dest)) {
- /* ... drop it. the responsible gateway is in charge. */
+ if (is_multicast_ether_addr(ethhdr->h_dest) && is_bcast) {
+ /* ... drop it. the responsible gateway is in charge.
+ *
+ * We need to check is_bcast because with the gateway
+ * feature, broadcasts (like DHCP requests) may be sent
+ * using a unicast packet type.
+ */
goto handled;
} else {
/* seems the client considers us as its best gateway.
diff --git a/bridge_loop_avoidance.h b/bridge_loop_avoidance.h
index e39f93a..dc5227b 100644
--- a/bridge_loop_avoidance.h
+++ b/bridge_loop_avoidance.h
@@ -23,7 +23,8 @@
#define _NET_BATMAN_ADV_BLA_H_
#ifdef CONFIG_BATMAN_ADV_BLA
-int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
+int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid,
+ bool is_bcast);
int bla_tx(struct bat_priv *bat_priv, struct sk_buff *skb, short vid);
int bla_is_backbone_gw(struct sk_buff *skb,
struct orig_node *orig_node, int hdr_size);
@@ -41,7 +42,7 @@ void bla_free(struct bat_priv *bat_priv);
#else /* ifdef CONFIG_BATMAN_ADV_BLA */
static inline int bla_rx(struct bat_priv *bat_priv, struct sk_buff *skb,
- short vid)
+ short vid, bool is_bcast)
{
return 0;
}
diff --git a/soft-interface.c b/soft-interface.c
index 6e2530b..a0ec0e4 100644
--- a/soft-interface.c
+++ b/soft-interface.c
@@ -256,7 +256,11 @@ void interface_rx(struct net_device *soft_iface,
struct bat_priv *bat_priv = netdev_priv(soft_iface);
struct ethhdr *ethhdr;
struct vlan_ethhdr *vhdr;
+ struct batman_header *batadv_header = (struct batman_header *)skb->data;
short vid __maybe_unused = -1;
+ bool is_bcast;
+
+ is_bcast = (batadv_header->packet_type == BAT_BCAST);
/* check if enough space is available for pulling, and pull */
if (!pskb_may_pull(skb, hdr_size))
@@ -302,7 +306,7 @@ void interface_rx(struct net_device *soft_iface,
/* Let the bridge loop avoidance check the packet. If will
* not handle it, we can safely push it up.
*/
- if (bla_rx(bat_priv, skb, vid))
+ if (bla_rx(bat_priv, skb, vid, is_bcast))
goto out;
netif_rx(skb);
--
batman-adv
9 years, 11 months
batman-adv; branch, master, updated. v2012.2.0-145-gc4499bb
by postmaster@open-mesh.org
The following commit has been merged in the master branch:
commit c4499bbb6f0ff5dea76a409ca30815bef4005be3
Author: Simon Wunderlich <simon.wunderlich(a)s2003.tu-chemnitz.de>
Date: Sun Jul 1 22:51:55 2012 +0200
batman-adv: check batadv_orig_hash_add_if() return code
If this call fails, some of the orig_nodes spaces may have been
resized for the increased number of interface, and some may not.
If we would just continue with the larger number of interfaces,
this would lead to access to not allocated memory later.
We better check the return code, and don't add the interface if
no memory is available. OTOH, keeping some of the orig_nodes
with too much memory allocated should hurt no one (except for
a few too many bytes allocated).
Signed-off-by: Simon Wunderlich <siwu(a)hrz.tu-chemnitz.de>
diff --git a/hard-interface.c b/hard-interface.c
index 282bf6e..2c5a247 100644
--- a/hard-interface.c
+++ b/hard-interface.c
@@ -313,7 +313,13 @@ int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface,
hard_iface->if_num = bat_priv->num_ifaces;
bat_priv->num_ifaces++;
hard_iface->if_status = BATADV_IF_INACTIVE;
- batadv_orig_hash_add_if(hard_iface, bat_priv->num_ifaces);
+ ret = batadv_orig_hash_add_if(hard_iface, bat_priv->num_ifaces);
+ if (ret < 0) {
+ bat_priv->bat_algo_ops->bat_iface_disable(hard_iface);
+ bat_priv->num_ifaces--;
+ hard_iface->if_status = BATADV_IF_NOT_IN_USE;
+ goto err_dev;
+ }
hard_iface->batman_adv_ptype.type = ethertype;
hard_iface->batman_adv_ptype.func = batadv_batman_skb_recv;
--
batman-adv
9 years, 11 months
batman-adv; branch, master, updated. v2012.2.0-144-g60b0fb7
by postmaster@open-mesh.org
The following commit has been merged in the master branch:
commit 60b0fb75df6924e748c9c2910e5d3d17d0f3c502
Author: Antonio Quartulli <ordex(a)autistici.org>
Date: Sun Jul 1 19:07:31 2012 +0200
batman-adv: fix typos in comments
the word millisecond is misspelled in several comments. This patch fixes it.
Signed-off-by: Antonio Quartulli <ordex(a)autistici.org>
diff --git a/main.h b/main.h
index 6dca9c4..0c6903c 100644
--- a/main.h
+++ b/main.h
@@ -41,13 +41,13 @@
* -> TODO: check influence on BATADV_TQ_LOCAL_WINDOW_SIZE
*/
#define BATADV_PURGE_TIMEOUT 200000 /* 200 seconds */
-#define BATADV_TT_LOCAL_TIMEOUT 3600000 /* in miliseconds */
-#define BATADV_TT_CLIENT_ROAM_TIMEOUT 600000 /* in miliseconds */
+#define BATADV_TT_LOCAL_TIMEOUT 3600000 /* in milliseconds */
+#define BATADV_TT_CLIENT_ROAM_TIMEOUT 600000 /* in milliseconds */
/* sliding packet range of received originator messages in sequence numbers
* (should be a multiple of our word size)
*/
#define BATADV_TQ_LOCAL_WINDOW_SIZE 64
-/* miliseconds we have to keep pending tt_req */
+/* milliseconds we have to keep pending tt_req */
#define BATADV_TT_REQUEST_TIMEOUT 3000
#define BATADV_TQ_GLOBAL_WINDOW_SIZE 5
@@ -59,7 +59,7 @@
#define BATADV_TT_OGM_APPEND_MAX 3
/* Time in which a client can roam at most ROAMING_MAX_COUNT times in
- * miliseconds
+ * milliseconds
*/
#define BATADV_ROAMING_MAX_TIME 20000
#define BATADV_ROAMING_MAX_COUNT 5
diff --git a/vis.h b/vis.h
index 84e716e..873282f 100644
--- a/vis.h
+++ b/vis.h
@@ -20,7 +20,7 @@
#ifndef _NET_BATMAN_ADV_VIS_H_
#define _NET_BATMAN_ADV_VIS_H_
-/* timeout of vis packets in miliseconds */
+/* timeout of vis packets in milliseconds */
#define BATADV_VIS_TIMEOUT 200000
int batadv_vis_seq_print_text(struct seq_file *seq, void *offset);
--
batman-adv
9 years, 11 months
batman-adv; branch, master, updated. v2012.2.0-143-gc5eb5bb
by postmaster@open-mesh.org
The following commit has been merged in the master branch:
commit c5eb5bb30321c47d15bd62c0ac83ed2e83150be5
Author: Antonio Quartulli <ordex(a)autistici.org>
Date: Sun Jul 1 14:09:12 2012 +0200
batman-adv: add reference counting for type batadv_tt_orig_list_entry
The batadv_tt_orig_list_entry structure didn't have any refcounting mechanism so
far. This patch introduces it and makes the structure being usable in much more
complex context.
Signed-off-by: Antonio Quartulli <ordex(a)autistici.org>
diff --git a/translation-table.c b/translation-table.c
index a438f4b..38ed753 100644
--- a/translation-table.c
+++ b/translation-table.c
@@ -152,6 +152,8 @@ static void batadv_tt_orig_list_entry_free_rcu(struct rcu_head *rcu)
static void
batadv_tt_orig_list_entry_free_ref(struct batadv_tt_orig_list_entry *orig_entry)
{
+ if (!atomic_dec_and_test(&orig_entry->refcount))
+ return;
/* to avoid race conditions, immediately decrease the tt counter */
atomic_dec(&orig_entry->orig_node->tt_size);
call_rcu(&orig_entry->rcu, batadv_tt_orig_list_entry_free_rcu);
@@ -624,50 +626,82 @@ static void batadv_tt_changes_list_free(struct batadv_priv *bat_priv)
spin_unlock_bh(&bat_priv->tt_changes_list_lock);
}
-/* find out if an orig_node is already in the list of a tt_global_entry.
- * returns 1 if found, 0 otherwise
+/* retrieves the orig_tt_list_entry belonging to orig_node from the
+ * batadv_tt_global_entry list
+ *
+ * returns it with an increased refcounter, NULL if not found
*/
-static bool
-batadv_tt_global_entry_has_orig(const struct batadv_tt_global_entry *entry,
- const struct batadv_orig_node *orig_node)
+static struct batadv_tt_orig_list_entry *
+batadv_tt_global_orig_entry_find(const struct batadv_tt_global_entry *entry,
+ const struct batadv_orig_node *orig_node)
{
- struct batadv_tt_orig_list_entry *tmp_orig_entry;
+ struct batadv_tt_orig_list_entry *tmp_orig_entry, *orig_entry = NULL;
const struct hlist_head *head;
struct hlist_node *node;
- bool found = false;
rcu_read_lock();
head = &entry->orig_list;
hlist_for_each_entry_rcu(tmp_orig_entry, node, head, list) {
- if (tmp_orig_entry->orig_node == orig_node) {
- found = true;
- break;
- }
+ if (tmp_orig_entry->orig_node != orig_node)
+ continue;
+ if (!atomic_inc_not_zero(&tmp_orig_entry->refcount))
+ continue;
+
+ orig_entry = tmp_orig_entry;
+ break;
}
rcu_read_unlock();
+
+ return orig_entry;
+}
+
+/* find out if an orig_node is already in the list of a tt_global_entry.
+ * returns true if found, false otherwise
+ */
+static bool
+batadv_tt_global_entry_has_orig(const struct batadv_tt_global_entry *entry,
+ const struct batadv_orig_node *orig_node)
+{
+ struct batadv_tt_orig_list_entry *orig_entry;
+ bool found = false;
+
+ orig_entry = batadv_tt_global_orig_entry_find(entry, orig_node);
+ if (orig_entry) {
+ found = true;
+ batadv_tt_orig_list_entry_free_ref(orig_entry);
+ }
+
return found;
}
static void
-batadv_tt_global_add_orig_entry(struct batadv_tt_global_entry *tt_global_entry,
+batadv_tt_global_orig_entry_add(struct batadv_tt_global_entry *tt_global,
struct batadv_orig_node *orig_node, int ttvn)
{
struct batadv_tt_orig_list_entry *orig_entry;
+ orig_entry = batadv_tt_global_orig_entry_find(tt_global, orig_node);
+ if (orig_entry)
+ goto out;
+
orig_entry = kzalloc(sizeof(*orig_entry), GFP_ATOMIC);
if (!orig_entry)
- return;
+ goto out;
INIT_HLIST_NODE(&orig_entry->list);
atomic_inc(&orig_node->refcount);
atomic_inc(&orig_node->tt_size);
orig_entry->orig_node = orig_node;
orig_entry->ttvn = ttvn;
+ atomic_set(&orig_entry->refcount, 2);
- spin_lock_bh(&tt_global_entry->list_lock);
+ spin_lock_bh(&tt_global->list_lock);
hlist_add_head_rcu(&orig_entry->list,
- &tt_global_entry->orig_list);
- spin_unlock_bh(&tt_global_entry->list_lock);
+ &tt_global->orig_list);
+ spin_unlock_bh(&tt_global->list_lock);
+out:
+ if (orig_entry)
+ batadv_tt_orig_list_entry_free_ref(orig_entry);
}
/* caller must hold orig_node refcount */
@@ -708,9 +742,6 @@ int batadv_tt_global_add(struct batadv_priv *bat_priv,
batadv_tt_global_entry_free_ref(tt_global_entry);
goto out_remove;
}
-
- batadv_tt_global_add_orig_entry(tt_global_entry, orig_node,
- ttvn);
} else {
/* there is already a global entry, use this one. */
@@ -727,11 +758,9 @@ int batadv_tt_global_add(struct batadv_priv *bat_priv,
tt_global_entry->roam_at = 0;
}
- if (!batadv_tt_global_entry_has_orig(tt_global_entry,
- orig_node))
- batadv_tt_global_add_orig_entry(tt_global_entry,
- orig_node, ttvn);
}
+ /* add the new orig_entry (if needed) */
+ batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn);
batadv_dbg(BATADV_DBG_TT, bat_priv,
"Creating new global tt entry: %pM (via %pM)\n",
diff --git a/types.h b/types.h
index 64b4317..82b97c3 100644
--- a/types.h
+++ b/types.h
@@ -281,6 +281,7 @@ struct batadv_tt_global_entry {
struct batadv_tt_orig_list_entry {
struct batadv_orig_node *orig_node;
uint8_t ttvn;
+ atomic_t refcount;
struct rcu_head rcu;
struct hlist_node list;
};
--
batman-adv
9 years, 11 months
batctl; branch, master, updated. v2012.2.0-26-gdc51362
by postmaster@open-mesh.org
The following commit has been merged in the master branch:
commit dc51362eed29cbd4b68d81e1ea38269db319da0a
Author: Marek Lindner <lindner_marek(a)yahoo.de>
Date: Sun Jul 1 13:36:39 2012 +0200
batctl: more detailed error messages when file can't be opened
Signed-off-by: Marek Lindner <lindner_marek(a)yahoo.de>
diff --git a/functions.c b/functions.c
index d08c7a0..c78e408 100644
--- a/functions.c
+++ b/functions.c
@@ -36,15 +36,18 @@
#include "functions.h"
#include "bat-hosts.h"
#include "sys.h"
+#include "debug.h"
static struct timeval start_time;
static char *host_name;
char *line_ptr = NULL;
-const char *sysfs_compile_out_param[] = {
+const char *fs_compile_out_param[] = {
SYS_LOG,
SYS_LOG_LEVEL,
batctl_settings[BATCTL_SETTINGS_BLA].sysfs_name,
+ batctl_debug_tables[BATCTL_TABLE_BLA_CLAIMS].debugfs_name,
+ batctl_debug_tables[BATCTL_TABLE_BLA_BACKBONES].debugfs_name,
NULL,
};
@@ -114,23 +117,42 @@ int file_exists(const char *fpath)
return stat(fpath, &st) == 0;
}
-static int check_sys_dir(char *dir)
+static void file_open_problem_dbg(char *dir, char *fname, char *full_path)
{
+ const char **ptr;
struct stat st;
- if (stat("/sys/", &st) != 0) {
- printf("Error - the folder '/sys/' was not found on the system\n");
- printf("Please make sure that the sys filesystem is properly mounted\n");
- return EXIT_FAILURE;
+ if (strstr(dir, "/sys/")) {
+ if (stat("/sys/", &st) != 0) {
+ printf("Error - the folder '/sys/' was not found on the system\n");
+ printf("Please make sure that the sys filesystem is properly mounted\n");
+ return;
+ }
+ }
+
+ if (!file_exists(module_ver_path)) {
+ printf("Error - batman-adv module has not been loaded\n");
+ return;
+ }
+
+ if (!file_exists(dir)) {
+ printf("Error - mesh has not been enabled yet\n");
+ printf("Activate your mesh by adding interfaces to batman-adv\n");
+ return;
}
- if (stat(dir, &st) == 0)
- return EXIT_SUCCESS;
+ for (ptr = fs_compile_out_param; *ptr; ptr++) {
+ if (strcmp(*ptr, fname) != 0)
+ continue;
+
+ break;
+ }
- printf("Error - the folder '%s' was not found within the sys filesystem\n", dir);
- printf("Please make sure that the batman-adv kernel module is loaded and\n");
- printf("that you have activated your mesh by adding interfaces to batman-adv\n");
- return EXIT_FAILURE;
+ printf("Error - can't open file '%s': %s\n", full_path, strerror(errno));
+ if (*ptr) {
+ printf("The option you called seems not to be compiled into your batman-adv kernel module.\n");
+ printf("Consult the README if you wish to learn more about compiling options into batman-adv.\n");
+ }
}
int read_file(char *dir, char *fname, int read_opt,
@@ -140,7 +162,6 @@ int read_file(char *dir, char *fname, int read_opt,
struct bat_host *bat_host;
int res = EXIT_FAILURE;
float last_seen;
- const char **ptr;
char full_path[500], *buff_ptr, *space_ptr, extra_char;
size_t len = 0;
FILE *fp = NULL;
@@ -148,11 +169,6 @@ int read_file(char *dir, char *fname, int read_opt,
if (read_opt & USE_BAT_HOSTS)
bat_hosts_init(read_opt);
- if (strstr(dir, "/sys/")) {
- if (check_sys_dir(dir) != EXIT_SUCCESS)
- goto out;
- }
-
strncpy(full_path, dir, strlen(dir));
full_path[strlen(dir)] = '\0';
strncat(full_path, fname, sizeof(full_path) - strlen(full_path));
@@ -161,20 +177,8 @@ open:
fp = fopen(full_path, "r");
if (!fp) {
- if (!(read_opt & SILENCE_ERRORS)) {
- for (ptr = sysfs_compile_out_param; *ptr; ptr++) {
- if (strcmp(*ptr, fname) != 0)
- continue;
-
- break;
- }
-
- printf("Error - can't open file '%s': %s\n", full_path, strerror(errno));
- if (*ptr) {
- printf("The option you called seems not to be compiled into your batman-adv kernel module.\n");
- printf("Consult the README if you wish to learn more about compiling options into batman-adv.\n");
- }
- }
+ if (!(read_opt & SILENCE_ERRORS))
+ file_open_problem_dbg(dir, fname, full_path);
goto out;
}
@@ -285,11 +289,6 @@ int write_file(char *dir, char *fname, char *arg1, char *arg2)
char full_path[500];
ssize_t write_len;
- if (strstr(dir, "/sys/")) {
- if (check_sys_dir(dir) != EXIT_SUCCESS)
- goto out;
- }
-
strncpy(full_path, dir, strlen(dir));
full_path[strlen(dir)] = '\0';
strncat(full_path, fname, sizeof(full_path) - strlen(full_path));
@@ -297,7 +296,7 @@ int write_file(char *dir, char *fname, char *arg1, char *arg2)
fd = open(full_path, O_WRONLY);
if (fd < 0) {
- printf("Error - can't open file '%s': %s\n", full_path, strerror(errno));
+ file_open_problem_dbg(dir, fname, full_path);
goto out;
}
diff --git a/sys.c b/sys.c
index 5b728a8..9787875 100644
--- a/sys.c
+++ b/sys.c
@@ -109,6 +109,11 @@ static int print_interfaces(char *mesh_iface)
char *path_buff;
int res;
+ if (!file_exists(module_ver_path)) {
+ printf("Error - batman-adv module has not been loaded\n");
+ goto err;
+ }
+
path_buff = malloc(PATH_BUFF_LEN);
if (!path_buff) {
printf("Error - could not allocate path buffer: out of memory ?\n");
@@ -191,6 +196,12 @@ int interface(char *mesh_iface, int argc, char **argv)
goto err;
}
+ if (argc == 2) {
+ printf("Error - missing interface name(s) after '%s'\n", argv[1]);
+ interface_usage();
+ goto err;
+ }
+
path_buff = malloc(PATH_BUFF_LEN);
if (!path_buff) {
printf("Error - could not allocate path buffer: out of memory ?\n");
--
batctl
9 years, 11 months
batman-adv; branch, master, updated. v2012.2.0-142-g130b9be
by postmaster@open-mesh.org
The following commit has been merged in the master branch:
commit 130b9bebcbb6909f16a7152724e89db219f85abd
Author: Jonathan Corbet <corbet(a)lwn.net>
Date: Sat Jun 30 10:49:13 2012 -0600
batman-adv: remove a misleading comment
As much as I'm happy to see LWN links sprinkled through the kernel by the
dozen, this one in particular reflects a very old state of reality; the
associated comment is now incorrect. So just delete it.
Signed-off-by: Jonathan Corbet <corbet(a)lwn.net>
diff --git a/main.c b/main.c
index 13c88b2..2a1f243 100644
--- a/main.c
+++ b/main.c
@@ -58,9 +58,6 @@ static int __init batadv_init(void)
batadv_iv_init();
- /* the name should not be longer than 10 chars - see
- * http://lwn.net/Articles/23634/
- */
batadv_event_workqueue = create_singlethread_workqueue("bat_events");
if (!batadv_event_workqueue)
--
batman-adv
9 years, 11 months
linux integration; annotated tag, batman-adv-for-davem, updated. batman-adv-for-davem
by postmaster@open-mesh.org
The annotated tag, batman-adv-for-davem has been updated
to 4a63f494162704fe11cbcf8bd27f1a49cdc59adf (tag)
from c9641e9563f778dd4adce8a20a4a4c2f51acad52 (which is now obsolete)
tagging 162d549c6905485262635fe594db337efb2828b5 (commit)
replaces v3.5-rc4
tagged by Antonio Quartulli
on Mon Jul 2 01:32:28 2012 +0200
- Shortlog ------------------------------------------------------------
Included changes:
- The last batch of patches aimed to clean the batman-adv namespace
- a couple of style fixes
- a fix for the ethtool support
- a fix to prevent sending unicast packets with an uninitialised header
field
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iEYEABECAAYFAk/w3hYACgkQpGgxIkP9cwfnbACeIMwib/b1Vi0Fc8IpHlXlBv1N
+xwAoIyt8bNqui7bot/+BbVYTwPpR+uy
=KzmF
-----END PGP SIGNATURE-----
Al Viro (5):
batman-adv: get rid of pointless cast in memcpy()
batman-adv: trivial endianness annotations
batman-adv: keep batman_ogm_packet ->seqno net-endian all along
batman-adv: don't bother flipping ->tt_data
batman-adv: don't bother flipping ->tt_crc
Antonio Quartulli (9):
batman-adv: fix skb->data assignment
batman-adv: convert bat_priv->tt_crc from atomic_t to uint16_t
batman-adv: use DBG_ALL in log_level sysfs definition
batman-adv: fix skb->data assignment
batman-adv: fix race condition in TT full-table replacement
batman-adv: fix condition in AP isolation
batman-adv: fix global TT entry deletion
batman-adv: clear ADD+DEL (and viceversa) events in the same orig-interval
batman-adv: beautify tt_global_add() argument list
David S. Miller (2):
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge
Marek Lindner (7):
batman-adv: avoid characters requiring shell escapes in protocol names
batman-adv: ignore trailing CR when comparing protocol names
batman-adv: return added entries instead of number of possibly added entries
batman-adv: turn tt commit code into routing protocol agnostic API
batman-adv: only store changed gw_bandwidth values
batman-adv: only drop packets of known wifi clients
batman-adv: fix counter summary length
Martin Hundebøll (1):
batman-adv: Add get_ethtool_stats() support
Matthias Schiffer (2):
batman-adv: fix visualization output without neighbors on the primary interface
batman-adv: fix locking in hash_add()
Sven Eckelmann (74):
batman-adv: update internal version number
batman-adv: Initialize lockdep class keys for hashes
batman-adv: Return error codes instead of -1 on failures
batman-adv: Prefix bat_algo non-static functions with batadv_
batman-adv: Prefix bat_debugfs non-static functions with batadv_
batman-adv: Prefix bat_sysfs non-static functions with batadv_
batman-adv: Prefix bitarray non-static functions with batadv_
batman-adv: Prefix bridge_loop_avoidance non-static functions with batadv_
batman-adv: Prefix gateway-client non-static functions with batadv_
batman-adv: Prefix gateway-common non-static functions with batadv_
batman-adv: Prefix hard-interface non-static functions with batadv_
batman-adv: Prefix hash non-static functions with batadv_
batman-adv: Prefix icmp-socket non-static functions with batadv_
batman-adv: Prefix originator non-static functions with batadv_
batman-adv: Prefix ring_buffer non-static functions with batadv_
batman-adv: Prefix routing non-static functions with batadv_
batman-adv: Prefix send non-static functions with batadv_
batman-adv: Prefix soft-interface non-static functions with batadv_
batman-adv: Prefix translation-table non-static functions with batadv_
batman-adv: Prefix unicast non-static functions with batadv_
batman-adv: Prefix vis non-static functions with batadv_
batman-adv: Prefix main non-static functions with batadv_
batman-adv: Reformat multiline comments to consistent style
batman-adv: Prefix bat_debugfs local static functions with batadv_
batman-adv: Prefix bitarray static inline functions with batadv_
batman-adv: Prefix hard-interface static inline functions with batadv_
batman-adv: Prefix hash static inline functions with batadv_
batman-adv: Prefix originator static inline functions with batadv_
batman-adv: Prefix unicast static inline functions with batadv_
batman-adv: Prefix main static inline functions with batadv_
batman-adv: Prefix bat_iv_ogm local static functions with batadv_
batman-adv: Prefix bat_sysfs local static functions with batadv_
batman-adv: Prefix bridge_loop_avoidance local static functions with batadv_
batman-adv: Prefix gateway_client local static functions with batadv_
batman-adv: Prefix gateway_common local static functions with batadv_
batman-adv: Prefix hard-interface local static functions with batadv_
batman-adv: Prefix hash local static functions with batadv_
batman-adv: Prefix icmp_socket local static functions with batadv_
batman-adv: Prefix originator local static functions with batadv_
batman-adv: Prefix routing local static functions with batadv_
batman-adv: Prefix send local static functions with batadv_
batman-adv: Prefix soft-interface local static functions with batadv_
batman-adv: Prefix translation-table local static functions with batadv_
batman-adv: Prefix unicast local static functions with batadv_
batman-adv: Prefix vis local static functions with batadv_
batman-adv: Prefix main local static functions with batadv_
batman-adv: Prefix remaining function like macros with batadv_
batman-adv: Directly print to seq_file in vis
batman-adv: Prefix local defines with BATADV_
batman-adv: Prefix debugfs defines with BATADV_
batman-adv: Prefix sysfs defines with BATADV_
batman-adv: Prefix bridge_loop_avoidance defines with BATADV_
batman-adv: Prefix gateway defines with BATADV_
batman-adv: Prefix icmp_socket defines with BATADV_
batman-adv: Prefix packet defines with BATADV_
batman-adv: Prefix types defines with BATADV_
batman-adv: Prefix unicast defines with BATADV_
batman-adv: Prefix vis defines with BATADV_
batman-adv: Prefix main defines with BATADV_
batman-adv: Prefix gateway enum with BATADV_
batman-adv: Prefix hard-interface enum with BATADV_
batman-adv: Prefix types enum with BATADV_
batman-adv: Prefix packet enum with BATADV_
batman-adv: Prefix main enum with BATADV_
batman-adv: Prefix local debugfs structs with batadv_
batman-adv: Prefix hash struct and typedef with batadv_
batman-adv: Prefix local sysfs struct with batadv_
batman-adv: Prefix packet structs with batadv_
batman-adv: Prefix types structs with batadv_
batman-adv: Transform BATADV_LOG_BUFF(idx) into function
batman-adv: Remove bat_ prefix from bat_{debugfs, sysfs}.{c, h}
batman-adv: Remove space before semicolon
batman-adv: Fix alignment after opened parentheses
batman-adv: Don't leak information through uninitialized packet fields
-----------------------------------------------------------------------
--
linux integration
9 years, 12 months
linux integration; annotated tag, v3.5-rc5, created. v3.5-rc5
by postmaster@open-mesh.org
The annotated tag, v3.5-rc5 has been created
at b26e78e3ef49a32fe2267fb194d740cabec35b78 (tag)
tagging 6887a4131da3adaab011613776d865f4bcfb5678 (commit)
replaces v3.5-rc4
tagged by Linus Torvalds
on Sat Jun 30 16:09:16 2012 -0700
- Shortlog ------------------------------------------------------------
Linux 3.5-rc5
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
iQEcBAABAgAGBQJP74cgAAoJEHm+PkMAQRiG1mMH/A1uPaF6CZhyaDHRYAdlxzIl
OQ5FJNlX1vzPZg6VLiNi4KxcbfgVrVSU6oghD6ASmoWje7PkhbzzoJVeUu9DYbbQ
oz/IXJi/SqYMhbZvqZ4DsCY25sZNWsWfeabs38hil9BEaxj6xOqF1iR0RUrvcRoP
K6kyYUNk2C7q8w/ouco5kmIcEWf6xD4bJWInyL5r/VGpRnNeZewFfsHoZ8tUWxwA
ndsD45njKqnSHfBTipkVMXanHZQC0rpwLi+Rxv/+yBlQdDFVxD+RFrjLmV98XKLb
dFZzV9WiuiMM1qnwiolQYMNUT8ZJYLzy04duG8wGqwzh5rWo3tv+01wAbAtTFvg=
=4UfY
-----END PGP SIGNATURE-----
Antonio Quartulli (2):
batman-adv: fix skb->data assignment
batman-adv: fix race condition in TT full-table replacement
Marek Lindner (1):
batman-adv: only drop packets of known wifi clients
-----------------------------------------------------------------------
--
linux integration
9 years, 12 months