/* clears the hash */
 static void hash_init(struct hashtable_t *hash)
 {
-       int i;
+       uint32_t i;
 
        for (i = 0 ; i < hash->size; i++) {
                INIT_HLIST_HEAD(&hash->table[i]);
 }
 
 /* allocates and clears the hash */
-struct hashtable_t *hash_new(int size)
+struct hashtable_t *hash_new(uint32_t size)
 {
        struct hashtable_t *hash;
 
 
 /* the hashfunction, should return an index
  * based on the key in the data of the first
  * argument and the size the second */
-typedef int (*hashdata_choose_cb)(const void *, int);
+typedef uint32_t (*hashdata_choose_cb)(const void *, uint32_t);
 typedef void (*hashdata_free_cb)(struct hlist_node *, void *);
 
 struct hashtable_t {
        struct hlist_head *table;   /* the hashtable itself with the buckets */
        spinlock_t *list_locks;     /* spinlock for each hash list entry */
-       int size;                   /* size of hashtable */
+       uint32_t size;              /* size of hashtable */
 };
 
 /* allocates and clears the hash */
-struct hashtable_t *hash_new(int size);
+struct hashtable_t *hash_new(uint32_t size);
 
 /* free only the hashtable and the hash itself. */
 void hash_destroy(struct hashtable_t *hash);
        struct hlist_head *head;
        struct hlist_node *node, *node_tmp;
        spinlock_t *list_lock; /* spinlock to protect write access */
-       int i;
+       uint32_t i;
 
        for (i = 0; i < hash->size; i++) {
                head = &hash->table[i];
                           hashdata_choose_cb choose,
                           const void *data, struct hlist_node *data_node)
 {
-       int index, ret = -1;
+       uint32_t index;
+       int ret = -1;
        struct hlist_head *head;
        struct hlist_node *node;
        spinlock_t *list_lock; /* spinlock to protect write access */
                                hashdata_compare_cb compare,
                                hashdata_choose_cb choose, void *data)
 {
-       size_t index;
+       uint32_t index;
        struct hlist_node *node;
        struct hlist_head *head;
        void *data_save = NULL;
 
        struct hlist_head *head;
        spinlock_t *list_lock; /* spinlock to protect write access */
        struct orig_node *orig_node;
-       int i;
+       uint32_t i;
 
        if (!hash)
                return;
        struct hlist_head *head;
        spinlock_t *list_lock; /* spinlock to protect write access */
        struct orig_node *orig_node;
-       int i;
+       uint32_t i;
 
        if (!hash)
                return;
        int batman_count = 0;
        int last_seen_secs;
        int last_seen_msecs;
-       int i, ret = 0;
+       uint32_t i;
+       int ret = 0;
 
        primary_if = primary_if_get_selected(bat_priv);
 
        struct hlist_node *node;
        struct hlist_head *head;
        struct orig_node *orig_node;
-       int i, ret;
+       uint32_t i;
+       int ret;
 
        /* resize all orig nodes because orig_node->bcast_own(_sum) depend on
         * if_num */
        struct hlist_head *head;
        struct hard_iface *hard_iface_tmp;
        struct orig_node *orig_node;
-       int i, ret;
+       uint32_t i;
+       int ret;
 
        /* resize all orig nodes because orig_node->bcast_own(_sum) depend on
         * if_num */
 
 
 /* hashfunction to choose an entry in a hash table of given size */
 /* hash algorithm from http://en.wikipedia.org/wiki/Hash_table */
-static inline int choose_orig(const void *data, int32_t size)
+static inline uint32_t choose_orig(const void *data, uint32_t size)
 {
        const unsigned char *key = data;
        uint32_t hash = 0;
 
        struct hlist_head *head;
        struct orig_node *orig_node;
        unsigned long *word;
-       int i;
+       uint32_t i;
        size_t word_index;
 
        for (i = 0; i < hash->size; i++) {
 
        struct hlist_head *head;
        struct hlist_node *node;
        struct tt_local_entry *tt_local_entry, *tt_local_entry_tmp = NULL;
-       int index;
+       uint32_t index;
 
        if (!hash)
                return NULL;
        struct hlist_node *node;
        struct tt_global_entry *tt_global_entry;
        struct tt_global_entry *tt_global_entry_tmp = NULL;
-       int index;
+       uint32_t index;
 
        if (!hash)
                return NULL;
        struct hlist_head *head;
        size_t buf_size, pos;
        char *buff;
-       int i, ret = 0;
+       uint32_t i;
+       int ret = 0;
 
        primary_if = primary_if_get_selected(bat_priv);
        if (!primary_if) {
        struct hlist_node *node, *node_tmp;
        struct hlist_head *head;
        spinlock_t *list_lock; /* protects write access to the hash lists */
-       int i;
+       uint32_t i;
 
        for (i = 0; i < hash->size; i++) {
                head = &hash->table[i];
        struct tt_local_entry *tt_local_entry;
        struct hlist_node *node, *node_tmp;
        struct hlist_head *head;
-       int i;
+       uint32_t i;
 
        if (!bat_priv->tt_local_hash)
                return;
        struct hlist_head *head;
        size_t buf_size, pos;
        char *buff;
-       int i, ret = 0;
+       uint32_t i;
+       int ret = 0;
 
        primary_if = primary_if_get_selected(bat_priv);
        if (!primary_if) {
                        struct orig_node *orig_node, const char *message)
 {
        struct tt_global_entry *tt_global_entry;
-       int i;
+       uint32_t i;
        struct hashtable_t *hash = bat_priv->tt_global_hash;
        struct hlist_node *node, *safe;
        struct hlist_head *head;
        struct hlist_node *node, *node_tmp;
        struct hlist_head *head;
        spinlock_t *list_lock; /* protects write access to the hash lists */
-       int i;
+       uint32_t i;
 
        for (i = 0; i < hash->size; i++) {
                head = &hash->table[i];
        struct tt_global_entry *tt_global_entry;
        struct hlist_node *node, *node_tmp;
        struct hlist_head *head;
-       int i;
+       uint32_t i;
 
        if (!bat_priv->tt_global_hash)
                return;
        struct tt_global_entry *tt_global_entry;
        struct hlist_node *node;
        struct hlist_head *head;
-       int i, j;
+       uint32_t i;
+       int j;
 
        for (i = 0; i < hash->size; i++) {
                head = &hash->table[i];
        struct tt_local_entry *tt_local_entry;
        struct hlist_node *node;
        struct hlist_head *head;
-       int i, j;
+       uint32_t i;
+       int j;
 
        for (i = 0; i < hash->size; i++) {
                head = &hash->table[i];
        struct sk_buff *skb = NULL;
        uint16_t tt_tot, tt_count;
        ssize_t tt_query_size = sizeof(struct tt_query_packet);
-       int i;
+       uint32_t i;
 
        if (tt_query_size + tt_len > primary_if->soft_iface->mtu) {
                tt_len = primary_if->soft_iface->mtu - tt_query_size;
  * entry */
 static void tt_local_reset_flags(struct bat_priv *bat_priv, uint16_t flags)
 {
-       int i;
+       uint32_t i;
        struct hashtable_t *hash = bat_priv->tt_local_hash;
        struct hlist_head *head;
        struct hlist_node *node;
        struct hlist_node *node, *node_tmp;
        struct hlist_head *head;
        spinlock_t *list_lock; /* protects write access to the hash lists */
-       int i;
+       uint32_t i;
 
        if (!hash)
                return;
 
 
 /* hash function to choose an entry in a hash table of given size */
 /* hash algorithm from http://en.wikipedia.org/wiki/Hash_table */
-static int vis_info_choose(const void *data, int size)
+static uint32_t vis_info_choose(const void *data, uint32_t size)
 {
        const struct vis_info *vis_info = data;
        const struct vis_packet *packet;
        struct hlist_head *head;
        struct hlist_node *node;
        struct vis_info *vis_info, *vis_info_tmp = NULL;
-       int index;
+       uint32_t index;
 
        if (!hash)
                return NULL;
        HLIST_HEAD(vis_if_list);
        struct if_list_entry *entry;
        struct hlist_node *pos, *n;
-       int i, j, ret = 0;
+       uint32_t i;
+       int j, ret = 0;
        int vis_server = atomic_read(&bat_priv->vis_mode);
        size_t buff_pos, buf_size;
        char *buff;
        struct hlist_head *head;
        struct orig_node *orig_node;
        struct vis_packet *packet;
-       int best_tq = -1, i;
+       int best_tq = -1;
+       uint32_t i;
 
        packet = (struct vis_packet *)info->skb_packet->data;
 
        struct vis_packet *packet = (struct vis_packet *)info->skb_packet->data;
        struct vis_info_entry *entry;
        struct tt_local_entry *tt_local_entry;
-       int best_tq = -1, i;
+       int best_tq = -1;
+       uint32_t i;
 
        info->first_seen = jiffies;
        packet->vis_type = atomic_read(&bat_priv->vis_mode);
  * held */
 static void purge_vis_packets(struct bat_priv *bat_priv)
 {
-       int i;
+       uint32_t i;
        struct hashtable_t *hash = bat_priv->vis_hash;
        struct hlist_node *node, *node_tmp;
        struct hlist_head *head;
        struct sk_buff *skb;
        struct hard_iface *hard_iface;
        uint8_t dstaddr[ETH_ALEN];
-       int i;
+       uint32_t i;
 
 
        packet = (struct vis_packet *)info->skb_packet->data;