[B.A.T.M.A.N.] [PATCH 1/6] batctl: Correct format strings for 8 bit ttl
by Sven Eckelmann
Signed-off-by: Sven Eckelmann <sven.eckelmann(a)gmx.de>
---
batctl/tcpdump.c | 4 ++--
batctl/traceroute.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/batctl/tcpdump.c b/batctl/tcpdump.c
index 0f62e65..8898cf8 100644
--- a/batctl/tcpdump.c
+++ b/batctl/tcpdump.c
@@ -335,7 +335,7 @@ static void dump_batman_ucast(unsigned char *packet_buff, ssize_t buff_len, int
printf("BAT %s > ",
get_name_by_macaddr((struct ether_addr *)ether_header->ether_shost, read_opt));
- printf("%s: UCAST, ttl %hu, ",
+ printf("%s: UCAST, ttl %hhu, ",
get_name_by_macaddr((struct ether_addr *)unicast_packet->dest, read_opt),
unicast_packet->ttl);
@@ -388,7 +388,7 @@ static void dump_batman_frag(unsigned char *packet_buff, ssize_t buff_len, int r
printf("BAT %s > ",
get_name_by_macaddr((struct ether_addr *)unicast_frag_packet->orig, read_opt));
- printf("%s: FRAG, seq %hu, ttl %hu, flags [%c], ",
+ printf("%s: FRAG, seq %hu, ttl %hhu, flags [%c], ",
get_name_by_macaddr((struct ether_addr *)unicast_frag_packet->dest, read_opt),
ntohs(unicast_frag_packet->seqno), unicast_frag_packet->ttl,
(unicast_frag_packet->flags & UNI_FRAG_HEAD ? 'H' : '.'));
diff --git a/batctl/traceroute.c b/batctl/traceroute.c
index dc97a01..0dc796a 100644
--- a/batctl/traceroute.c
+++ b/batctl/traceroute.c
@@ -199,9 +199,9 @@ int traceroute(char *mesh_iface, int argc, char **argv)
}
if (!bat_host)
- printf("%2hu: %s", icmp_packet_out.ttl, (return_mac ? return_mac : "*"));
+ printf("%2hhu: %s", icmp_packet_out.ttl, (return_mac ? return_mac : "*"));
else
- printf("%2hu: %s (%s)", icmp_packet_out.ttl, bat_host->name, return_mac);
+ printf("%2hhu: %s (%s)", icmp_packet_out.ttl, bat_host->name, return_mac);
for (i = 0; i < NUM_PACKETS; i++) {
if (time_delta[i])
--
1.7.2.3
12 years, 3 months
[B.A.T.M.A.N.] [PATCH] batman-adv: Don't call sysfs_del_hardif() in atomic context
by Linus Lüssing
sysfs_del_hardif invokes kobject_put, which might sleep. However, we
are not allowed to sleep during a call_rcu. There is also no need to
do the removal with an atomic call_rcu, as kobject_put only frees the
kobject when there is no more reference to it anyway.
This commit basically revokes 7f32f2e8d97150ba5b80410dda86b01b0879fe8d,
despite not reintroducing the synchronize_rcu, our rcu_barrier should
handle this.
Signed-off-by: Linus Lüssing <linus.luessing(a)web.de>
---
hard-interface.c | 14 +++-----------
1 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/hard-interface.c b/hard-interface.c
index 37f0f8b..5c6ce3f 100644
--- a/hard-interface.c
+++ b/hard-interface.c
@@ -36,16 +36,6 @@
/* protect update critical side of if_list - but not the content */
static DEFINE_SPINLOCK(if_list_lock);
-static void hardif_free_rcu(struct rcu_head *rcu)
-{
- struct batman_if *batman_if;
-
- batman_if = container_of(rcu, struct batman_if, rcu);
- sysfs_del_hardif(&batman_if->hardif_obj);
- dev_put(batman_if->net_dev);
- kref_put(&batman_if->refcount, hardif_free_ref);
-}
-
struct batman_if *get_batman_if_by_netdev(struct net_device *net_dev)
{
struct batman_if *batman_if;
@@ -470,7 +460,9 @@ static void hardif_remove_interface(struct batman_if *batman_if)
/* caller must take if_list_lock */
list_del_rcu(&batman_if->list);
- call_rcu(&batman_if->rcu, hardif_free_rcu);
+ sysfs_del_hardif(&batman_if->hardif_obj);
+ dev_put(batman_if->net_dev);
+ kref_put(&batman_if->refcount, hardif_free_ref);
}
void hardif_remove_interfaces(void)
--
1.7.1
12 years, 3 months
[B.A.T.M.A.N.] batman-adv gateway handling
by Marek Lindner
Hi,
the batman-adv gateway functionality has been available in the trunk for quite
some time but was never able to enter an official release because the sysfs API
did not follow the Linux kernel guidelines.
I wrote a series of patches meant to address these style issues. A
comprehensive documentation of the gateway handling is on my todo list and
will follow shortly.
Regards,
Marek
12 years, 3 months
[B.A.T.M.A.N.] batman-adv multi-hop route
by Xianghua Xiao
I'm trying to test how much bandwidth is left after multi-hops using
dual-radio as the backbone(interface alternating), I have a few nodes
and want to force them cascaded, is there a way to set up 'static hop
route' somehow so the nodes will not take a short-cut, the nodes are
all close-by.
Basically I want to have A->B->C->D->E and avoid A->E or something alike.
thanks,
xianghua
12 years, 3 months
[B.A.T.M.A.N.] "wrong count at exit" after spin_lock/_unlock pair
by Sven Eckelmann
Hi,
I use sparse (cgcc) with different kernel versions to do some quick checks on
the batman-adv kernel module. I noticed that my change from UP to SMP kernel
generated some 'weird' warnings regarding a 'context imbalance' which I
couldn't find, but went away when switching from spin_(un)lock to
spin_(un)lock_bh - something which doesn't make sense in my mind.
I am not quite sure if this is linux-headers or sparse related - so I try to
post it here first. I choose 2.6.32 because it is the latest long stable
kernel and will be used in by Debian Squeeze.
My current test was done like that (on debian squeeze i386):
-----------------------------------------------------------
$ cd $MY_v2.6.32
$ make mrproper
$ make allnoconfig
$ grep -v 'CONFIG_MODULES is not set' .config > .config.tmp; mv .config.tmp \
.config
$ grep -v 'CONFIG_NET is not set' .config > .config.tmp; mv .config.tmp \
.config
$ grep -v 'CONFIG_SMP is not set' .config > .config.tmp; mv .config.tmp \
.config
$ grep -v 'CONFIG_MODULE_UNLOAD is not set' .config > .config.tmp; mv \
.config.tmp .config
$ echo 'CONFIG_MODULES=y' >> .config
$ echo 'CONFIG_NET=y' >> .config
$ echo 'CONFIG_SMP=y' >> .config
$ echo 'CONFIG_MODULE_UNLOAD=y' >> .config
$ echo 'xy'|make menuconfig
$ make prepare
$ make modules
$ mkdir test
$ cd test
$ cat << EOF > Makefile
obj-m += test.o
test-y += main.o
EOF
$ cat << EOF > main.c
#include <linux/module.h>
#include <linux/spinlock.h>
static DEFINE_SPINLOCK(testlock);
static int __init test_init(void)
{
spin_lock(&testlock);
spin_unlock(&testlock);
return 0;
}
static void __exit test_exit(void)
{
}
module_init(test_init);
module_exit(test_exit);
EOF
$ make CC=cgcc -C $MY_v2.6.32/linux-next M=$(pwd) modules
make: Entering directory `$MY_v2.6.32'
CC [M] $MY_v2.6.32/testmodule/main.o
$MY_v2.6.32/test/main.c:6:19: warning: context imbalance in 'test_init' -
wrong count at exit
LD [M] $MY_v2.6.32/test/test.o
Building modules, stage 2.
MODPOST 1 modules
LD [M] $MY_v2.6.32/test/test.ko
make: Leaving directory `$MY_v2.6.32'
-----------------------------------------------------------
The sparse version was v0.4.3. It was obtained from git and and build using
the current Debian squeeze tools provided by build-essential. It was run from
the build dir by specifying it in $PATH
$ export PATH=$MY_SPARSE_CHECKOUT:$PATH
Best regards,
Sven
12 years, 3 months
[B.A.T.M.A.N.] [PATCH] batman-adv: Correct sparse warning about different lock contexts for basic block
by Sven Eckelmann
sparse noticed that if_list_lock is taken in some situations with bottom
halfes disabled in some SMP kernels and that we must always lock it with
spin_lock_bh.
Signed-off-by: Sven Eckelmann <sven.eckelmann(a)gmx.de>
---
batman-adv/hard-interface.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/batman-adv/hard-interface.c b/batman-adv/hard-interface.c
index 37f0f8b..b5514e3 100644
--- a/batman-adv/hard-interface.c
+++ b/batman-adv/hard-interface.c
@@ -441,9 +441,9 @@ static struct batman_if *hardif_add_interface(struct net_device *net_dev)
check_known_mac_addr(batman_if->net_dev->dev_addr);
- spin_lock(&if_list_lock);
+ spin_lock_bh(&if_list_lock);
list_add_tail_rcu(&batman_if->list, &if_list);
- spin_unlock(&if_list_lock);
+ spin_unlock_bh(&if_list_lock);
/* extra reference for return */
kref_get(&batman_if->refcount);
@@ -478,11 +478,11 @@ void hardif_remove_interfaces(void)
struct batman_if *batman_if, *batman_if_tmp;
rtnl_lock();
- spin_lock(&if_list_lock);
+ spin_lock_bh(&if_list_lock);
list_for_each_entry_safe(batman_if, batman_if_tmp, &if_list, list) {
hardif_remove_interface(batman_if);
}
- spin_unlock(&if_list_lock);
+ spin_unlock_bh(&if_list_lock);
rtnl_unlock();
}
@@ -508,9 +508,9 @@ static int hard_if_event(struct notifier_block *this,
hardif_deactivate_interface(batman_if);
break;
case NETDEV_UNREGISTER:
- spin_lock(&if_list_lock);
+ spin_lock_bh(&if_list_lock);
hardif_remove_interface(batman_if);
- spin_unlock(&if_list_lock);
+ spin_unlock_bh(&if_list_lock);
break;
case NETDEV_CHANGEMTU:
if (batman_if->soft_iface)
--
1.7.2.3
12 years, 3 months
[B.A.T.M.A.N.] [PATCH] batman-adv: Convert kbuild version check to preprocessor check
by Sven Eckelmann
Makefile.kbuild includes a relative unreadable check for a version
number to decide if we should compile bat_printk.c to get out own print
implementations. This can easily be replaced using a simpler
preprocessor check as we know them from compat.h
Signed-off-by: Sven Eckelmann <sven.eckelmann(a)gmx.de>
---
batman-adv/Makefile.kbuild | 6 +++++-
batman-adv/bat_printk.c | 6 ++++++
2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/batman-adv/Makefile.kbuild b/batman-adv/Makefile.kbuild
index 14e3daa..40ca316 100644
--- a/batman-adv/Makefile.kbuild
+++ b/batman-adv/Makefile.kbuild
@@ -32,4 +32,8 @@ EXTRA_CFLAGS += -DREVISION_VERSION=\"$(REVISION)\"
endif
obj-m += batman-adv.o
-batman-adv-y := main.o bat_debugfs.o bat_sysfs.o send.o routing.o soft-interface.o icmp_socket.o translation-table.o bitarray.o hash.o ring_buffer.o vis.o hard-interface.o aggregation.o originator.o gateway_common.o gateway_client.o unicast.o $(shell [ "2" -eq "$(VERSION)" ] 2>&- && [ "6" -eq "$(PATCHLEVEL)" ] 2>&- && [ "$(SUBLEVEL)" -le "28" ] 2>&- && echo bat_printk.o)
+batman-adv-y := aggregation.o bat_debugfs.o bat_sysfs.o bitarray.o \
+ gateway_client.o gateway_common.o hard-interface.o hash.o \
+ icmp_socket.o main.o originator.o ring_buffer.o routing.o \
+ send.o soft-interface.o translation-table.o unicast.o vis.o
+batman-adv-y += bat_printk.o
diff --git a/batman-adv/bat_printk.c b/batman-adv/bat_printk.c
index 4fa3e18..6bbeb8b 100644
--- a/batman-adv/bat_printk.c
+++ b/batman-adv/bat_printk.c
@@ -1,3 +1,7 @@
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+
/*
* linux/lib/vsprintf.c
*
@@ -935,3 +939,5 @@ int bat_snprintf(char *buf, size_t size, const char *fmt, ...)
return i;
}
+
+#endif /* < KERNEL_VERSION(2, 6, 29) */
--
1.7.1
12 years, 3 months
[B.A.T.M.A.N.] [PATCH] batman-adv: add seq_printf() wrapper for older kernels that don't support %pM
by Marek Lindner
Signed-off-by: Marek Lindner <lindner_marek(a)yahoo.de>
---
batman-adv/bat_printk.c | 18 ++++++++++++++++++
batman-adv/compat.h | 3 +++
2 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/batman-adv/bat_printk.c b/batman-adv/bat_printk.c
index 4fa3e18..69a7f95 100644
--- a/batman-adv/bat_printk.c
+++ b/batman-adv/bat_printk.c
@@ -935,3 +935,21 @@ int bat_snprintf(char *buf, size_t size, const char *fmt, ...)
return i;
}
+
+int bat_seq_printf(struct seq_file *m, const char *f, ...)
+{
+ va_list args;
+ int len;
+
+ if (m->count < m->size) {
+ va_start(args, f);
+ len = bat_vsnprintf(m->buf + m->count, m->size - m->count, f, args);
+ va_end(args);
+ if (m->count + len < m->size) {
+ m->count += len;
+ return 0;
+ }
+ }
+ m->count = m->size;
+ return -1;
+}
diff --git a/batman-adv/compat.h b/batman-adv/compat.h
index da474e4..b01455f 100644
--- a/batman-adv/compat.h
+++ b/batman-adv/compat.h
@@ -259,6 +259,9 @@ int bat_sprintf(char *buf, const char *fmt, ...);
int bat_snprintf(char *buf, size_t size, const char *fmt, ...);
#define snprintf bat_snprintf
+int bat_seq_printf(struct seq_file *m, const char *f, ...);
+#define seq_printf bat_seq_printf
+
#endif /* < KERNEL_VERSION(2, 6, 29) */
#endif /* _NET_BATMAN_ADV_COMPAT_H_ */
--
1.7.1
12 years, 3 months
[B.A.T.M.A.N.] [PATCH] batman-adv: Re-Enable Interface alternating and bonding
by Chris Lang
r1765 incidentally disabled bonding of packets first entering the
mesh along with also disabling interface alternating regardless
of where the packet came from. This re-enables these options.
Signed-off-by: Chris Lang <clang(a)gateworks.com>
---
routing.c | 12 ++++--------
routing.h | 4 ++--
unicast.c | 2 +-
3 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/routing.c b/routing.c
index 7c9a053..f1012bc 100644
--- a/routing.c
+++ b/routing.c
@@ -1001,10 +1001,10 @@ int recv_icmp_packet(struct sk_buff *skb, struct batman_if *recv_if)
/* find a suitable router for this originator, and use
* bonding if possible. */
-struct neigh_node *find_router(struct orig_node *orig_node,
+struct neigh_node *find_router(struct bat_priv *bat_priv,
+ struct orig_node *orig_node,
struct batman_if *recv_if)
{
- struct bat_priv *bat_priv;
struct orig_node *primary_orig_node;
struct orig_node *router_orig;
struct neigh_node *router, *first_candidate, *best_router;
@@ -1020,13 +1020,9 @@ struct neigh_node *find_router(struct orig_node *orig_node,
/* without bonding, the first node should
* always choose the default router. */
- if (!recv_if)
- return orig_node->router;
-
- bat_priv = netdev_priv(recv_if->soft_iface);
bonding_enabled = atomic_read(&bat_priv->bonding_enabled);
- if (!bonding_enabled)
+ if (!recv_if && !bonding_enabled)
return orig_node->router;
router_orig = orig_node->router->orig_node;
@@ -1155,7 +1151,7 @@ static int route_unicast_packet(struct sk_buff *skb,
orig_node = ((struct orig_node *)
hash_find(bat_priv->orig_hash, unicast_packet->dest));
- router = find_router(orig_node, recv_if);
+ router = find_router(bat_priv, orig_node, recv_if);
if (!router) {
spin_unlock_irqrestore(&bat_priv->orig_hash_lock, flags);
diff --git a/routing.h b/routing.h
index 06ea99d..92674c8 100644
--- a/routing.h
+++ b/routing.h
@@ -38,8 +38,8 @@ int recv_ucast_frag_packet(struct sk_buff *skb, struct batman_if *recv_if);
int recv_bcast_packet(struct sk_buff *skb, struct batman_if *recv_if);
int recv_vis_packet(struct sk_buff *skb, struct batman_if *recv_if);
int recv_bat_packet(struct sk_buff *skb, struct batman_if *recv_if);
-struct neigh_node *find_router(struct orig_node *orig_node,
- struct batman_if *recv_if);
+struct neigh_node *find_router(struct bat_priv *bat_priv,
+ struct orig_node *orig_node, struct batman_if *recv_if);
void update_bonding_candidates(struct bat_priv *bat_priv,
struct orig_node *orig_node);
diff --git a/unicast.c b/unicast.c
index 0dac50d..0459413 100644
--- a/unicast.c
+++ b/unicast.c
@@ -224,7 +224,7 @@ int unicast_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv)
if (!orig_node)
orig_node = transtable_search(bat_priv, ethhdr->h_dest);
- router = find_router(orig_node, NULL);
+ router = find_router(bat_priv, orig_node, NULL);
if (!router)
goto unlock;
--
1.7.3
12 years, 3 months
[B.A.T.M.A.N.] [PATCH 1/2] batman-adv: Include compat.h only once
by Sven Eckelmann
compat.h is included in all files which may need newer functionality
than the target kernel has. This include is may forgotton when new
changes are made to the sources.
The compat.h can also be included in main.h which is included by all
source files. In theory also all header files must include main.h. This
is currently not and hopefully will never be necessary.
It is also important that all header files which declare functions which
are redefined in compat.h to be included before compat.h is included.
Signed-off-by: Sven Eckelmann <sven.eckelmann(a)gmx.de>
---
batman-adv/bat_debugfs.c | 1 -
batman-adv/bat_printk.c | 3 ++-
batman-adv/bat_sysfs.c | 1 -
batman-adv/gateway_client.c | 1 -
batman-adv/gateway_common.c | 1 -
batman-adv/hard-interface.c | 2 --
batman-adv/icmp_socket.c | 3 ---
batman-adv/main.c | 1 -
batman-adv/main.h | 5 +++++
batman-adv/originator.c | 1 -
batman-adv/routing.c | 1 -
batman-adv/send.c | 2 --
batman-adv/soft-interface.c | 1 -
batman-adv/translation-table.c | 1 -
batman-adv/vis.c | 1 -
15 files changed, 7 insertions(+), 18 deletions(-)
diff --git a/batman-adv/bat_debugfs.c b/batman-adv/bat_debugfs.c
index 3fcb102..2c4a247 100644
--- a/batman-adv/bat_debugfs.c
+++ b/batman-adv/bat_debugfs.c
@@ -32,7 +32,6 @@
#include "soft-interface.h"
#include "vis.h"
#include "icmp_socket.h"
-#include "compat.h"
static struct dentry *bat_debugfs;
diff --git a/batman-adv/bat_printk.c b/batman-adv/bat_printk.c
index 6615876..4fa3e18 100644
--- a/batman-adv/bat_printk.c
+++ b/batman-adv/bat_printk.c
@@ -30,7 +30,8 @@
#include <asm/page.h> /* for PAGE_SIZE */
#include <asm/div64.h>
#include <asm/sections.h> /* for dereference_function_descriptor() */
-#include "compat.h"
+
+#include "main.h"
/* Works only for digits and letters, but small and fast */
#define TOLOWER(x) ((x) | 0x20)
diff --git a/batman-adv/bat_sysfs.c b/batman-adv/bat_sysfs.c
index dbb0208..075fcc2 100644
--- a/batman-adv/bat_sysfs.c
+++ b/batman-adv/bat_sysfs.c
@@ -27,7 +27,6 @@
#include "gateway_common.h"
#include "gateway_client.h"
#include "vis.h"
-#include "compat.h"
#define to_dev(obj) container_of(obj, struct device, kobj)
#define kobj_to_netdev(obj) to_net_dev(to_dev(obj->parent))
diff --git a/batman-adv/gateway_client.c b/batman-adv/gateway_client.c
index ae1ab1e..49cd0cd 100644
--- a/batman-adv/gateway_client.c
+++ b/batman-adv/gateway_client.c
@@ -23,7 +23,6 @@
#include "gateway_client.h"
#include "gateway_common.h"
#include "hard-interface.h"
-#include "compat.h"
#include <linux/ip.h>
#include <linux/udp.h>
#include <linux/if_vlan.h>
diff --git a/batman-adv/gateway_common.c b/batman-adv/gateway_common.c
index 3851930..a88ce41 100644
--- a/batman-adv/gateway_common.c
+++ b/batman-adv/gateway_common.c
@@ -22,7 +22,6 @@
#include "main.h"
#include "gateway_common.h"
#include "gateway_client.h"
-#include "compat.h"
/* calculates the gateway class from kbit */
static void kbit_to_gw_srv_class(int down, int up, long *gw_srv_class)
diff --git a/batman-adv/hard-interface.c b/batman-adv/hard-interface.c
index 3c59209..2ce2f3b 100644
--- a/batman-adv/hard-interface.c
+++ b/batman-adv/hard-interface.c
@@ -31,8 +31,6 @@
#include <linux/if_arp.h>
-#include "compat.h"
-
#define MIN(x, y) ((x) < (y) ? (x) : (y))
/* protect update critical side of if_list - but not the content */
diff --git a/batman-adv/icmp_socket.c b/batman-adv/icmp_socket.c
index aa64ff8..3a2bcfc 100644
--- a/batman-adv/icmp_socket.c
+++ b/batman-adv/icmp_socket.c
@@ -28,9 +28,6 @@
#include "hash.h"
#include "hard-interface.h"
-#include "compat.h"
-
-
static struct socket_client *socket_client_hash[256];
static void bat_socket_add_packet(struct socket_client *socket_client,
diff --git a/batman-adv/main.c b/batman-adv/main.c
index 6ecee49..8cc196e 100644
--- a/batman-adv/main.c
+++ b/batman-adv/main.c
@@ -33,7 +33,6 @@
#include "types.h"
#include "vis.h"
#include "hash.h"
-#include "compat.h"
struct list_head if_list;
diff --git a/batman-adv/main.h b/batman-adv/main.h
index cc42eb4..18d8a56 100644
--- a/batman-adv/main.h
+++ b/batman-adv/main.h
@@ -88,6 +88,9 @@
/*
* Debug Messages
*/
+#ifdef pr_fmt
+#undef pr_fmt
+#endif
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt /* Append 'batman-adv: ' before
* kernel messages */
@@ -123,6 +126,8 @@
#include <linux/seq_file.h>
#include "types.h"
+#include "compat.h"
+
#ifndef REVISION_VERSION
#define REVISION_VERSION_STR ""
#else
diff --git a/batman-adv/originator.c b/batman-adv/originator.c
index 6868a2a..ca52fe9 100644
--- a/batman-adv/originator.c
+++ b/batman-adv/originator.c
@@ -26,7 +26,6 @@
#include "hash.h"
#include "translation-table.h"
#include "routing.h"
-#include "compat.h"
#include "gateway_client.h"
#include "hard-interface.h"
#include "unicast.h"
diff --git a/batman-adv/routing.c b/batman-adv/routing.c
index cc8b77f..612493f 100644
--- a/batman-adv/routing.c
+++ b/batman-adv/routing.c
@@ -32,7 +32,6 @@
#include "ring_buffer.h"
#include "vis.h"
#include "aggregation.h"
-#include "compat.h"
#include "gateway_client.h"
#include "unicast.h"
diff --git a/batman-adv/send.c b/batman-adv/send.c
index 180e18b..830533f 100644
--- a/batman-adv/send.c
+++ b/batman-adv/send.c
@@ -30,8 +30,6 @@
#include "aggregation.h"
#include "gateway_common.h"
-#include "compat.h"
-
static void send_outstanding_bcast_packet(struct work_struct *work);
/* apply hop penalty for a normal link */
diff --git a/batman-adv/soft-interface.c b/batman-adv/soft-interface.c
index 7a899b5..cdf8c24 100644
--- a/batman-adv/soft-interface.c
+++ b/batman-adv/soft-interface.c
@@ -36,7 +36,6 @@
#include <linux/ethtool.h>
#include <linux/etherdevice.h>
#include <linux/if_vlan.h>
-#include "compat.h"
#include "unicast.h"
#include "routing.h"
diff --git a/batman-adv/translation-table.c b/batman-adv/translation-table.c
index 0bb9f6f..3bc7521 100644
--- a/batman-adv/translation-table.c
+++ b/batman-adv/translation-table.c
@@ -24,7 +24,6 @@
#include "soft-interface.h"
#include "types.h"
#include "hash.h"
-#include "compat.h"
static void hna_local_purge(struct work_struct *work);
static void _hna_global_del_orig(struct bat_priv *bat_priv,
diff --git a/batman-adv/vis.c b/batman-adv/vis.c
index ddfdcd8..6b102a3 100644
--- a/batman-adv/vis.c
+++ b/batman-adv/vis.c
@@ -26,7 +26,6 @@
#include "soft-interface.h"
#include "hard-interface.h"
#include "hash.h"
-#include "compat.h"
#define MAX_VIS_PACKET_SIZE 1000
--
1.7.2.3
12 years, 3 months