瀏覽代碼

Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge

David S. Miller 14 年之前
父節點
當前提交
ab889e6607

+ 0 - 1
net/batman-adv/icmp_socket.c

@@ -24,7 +24,6 @@
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include "icmp_socket.h"
 #include "icmp_socket.h"
 #include "send.h"
 #include "send.h"
-#include "types.h"
 #include "hash.h"
 #include "hash.h"
 #include "originator.h"
 #include "originator.h"
 #include "hard-interface.h"
 #include "hard-interface.h"

+ 0 - 2
net/batman-adv/icmp_socket.h

@@ -22,8 +22,6 @@
 #ifndef _NET_BATMAN_ADV_ICMP_SOCKET_H_
 #ifndef _NET_BATMAN_ADV_ICMP_SOCKET_H_
 #define _NET_BATMAN_ADV_ICMP_SOCKET_H_
 #define _NET_BATMAN_ADV_ICMP_SOCKET_H_
 
 
-#include "types.h"
-
 #define ICMP_SOCKET "socket"
 #define ICMP_SOCKET "socket"
 
 
 void bat_socket_init(void);
 void bat_socket_init(void);

+ 0 - 1
net/batman-adv/main.c

@@ -30,7 +30,6 @@
 #include "translation-table.h"
 #include "translation-table.h"
 #include "hard-interface.h"
 #include "hard-interface.h"
 #include "gateway_client.h"
 #include "gateway_client.h"
-#include "types.h"
 #include "vis.h"
 #include "vis.h"
 #include "hash.h"
 #include "hash.h"
 
 

+ 0 - 1
net/batman-adv/routing.c

@@ -28,7 +28,6 @@
 #include "icmp_socket.h"
 #include "icmp_socket.h"
 #include "translation-table.h"
 #include "translation-table.h"
 #include "originator.h"
 #include "originator.h"
-#include "types.h"
 #include "ring_buffer.h"
 #include "ring_buffer.h"
 #include "vis.h"
 #include "vis.h"
 #include "aggregation.h"
 #include "aggregation.h"

+ 0 - 2
net/batman-adv/routing.h

@@ -22,8 +22,6 @@
 #ifndef _NET_BATMAN_ADV_ROUTING_H_
 #ifndef _NET_BATMAN_ADV_ROUTING_H_
 #define _NET_BATMAN_ADV_ROUTING_H_
 #define _NET_BATMAN_ADV_ROUTING_H_
 
 
-#include "types.h"
-
 void slide_own_bcast_window(struct batman_if *batman_if);
 void slide_own_bcast_window(struct batman_if *batman_if);
 void receive_bat_packet(struct ethhdr *ethhdr,
 void receive_bat_packet(struct ethhdr *ethhdr,
 				struct batman_packet *batman_packet,
 				struct batman_packet *batman_packet,

+ 0 - 1
net/batman-adv/send.c

@@ -25,7 +25,6 @@
 #include "translation-table.h"
 #include "translation-table.h"
 #include "soft-interface.h"
 #include "soft-interface.h"
 #include "hard-interface.h"
 #include "hard-interface.h"
-#include "types.h"
 #include "vis.h"
 #include "vis.h"
 #include "aggregation.h"
 #include "aggregation.h"
 #include "gateway_common.h"
 #include "gateway_common.h"

+ 0 - 2
net/batman-adv/send.h

@@ -22,8 +22,6 @@
 #ifndef _NET_BATMAN_ADV_SEND_H_
 #ifndef _NET_BATMAN_ADV_SEND_H_
 #define _NET_BATMAN_ADV_SEND_H_
 #define _NET_BATMAN_ADV_SEND_H_
 
 
-#include "types.h"
-
 int send_skb_packet(struct sk_buff *skb,
 int send_skb_packet(struct sk_buff *skb,
 				struct batman_if *batman_if,
 				struct batman_if *batman_if,
 				uint8_t *dst_addr);
 				uint8_t *dst_addr);

+ 0 - 1
net/batman-adv/soft-interface.c

@@ -26,7 +26,6 @@
 #include "send.h"
 #include "send.h"
 #include "bat_debugfs.h"
 #include "bat_debugfs.h"
 #include "translation-table.h"
 #include "translation-table.h"
-#include "types.h"
 #include "hash.h"
 #include "hash.h"
 #include "gateway_common.h"
 #include "gateway_common.h"
 #include "gateway_client.h"
 #include "gateway_client.h"

+ 0 - 1
net/batman-adv/translation-table.c

@@ -22,7 +22,6 @@
 #include "main.h"
 #include "main.h"
 #include "translation-table.h"
 #include "translation-table.h"
 #include "soft-interface.h"
 #include "soft-interface.h"
-#include "types.h"
 #include "hash.h"
 #include "hash.h"
 #include "originator.h"
 #include "originator.h"
 
 

+ 0 - 2
net/batman-adv/translation-table.h

@@ -22,8 +22,6 @@
 #ifndef _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
 #ifndef _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
 #define _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
 #define _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
 
 
-#include "types.h"
-
 int hna_local_init(struct bat_priv *bat_priv);
 int hna_local_init(struct bat_priv *bat_priv);
 void hna_local_add(struct net_device *soft_iface, uint8_t *addr);
 void hna_local_add(struct net_device *soft_iface, uint8_t *addr);
 void hna_local_remove(struct bat_priv *bat_priv,
 void hna_local_remove(struct bat_priv *bat_priv,

+ 7 - 12
net/batman-adv/unicast.c

@@ -39,8 +39,8 @@ static struct sk_buff *frag_merge_packet(struct list_head *head,
 		(struct unicast_frag_packet *)skb->data;
 		(struct unicast_frag_packet *)skb->data;
 	struct sk_buff *tmp_skb;
 	struct sk_buff *tmp_skb;
 	struct unicast_packet *unicast_packet;
 	struct unicast_packet *unicast_packet;
-	int hdr_len = sizeof(struct unicast_packet),
-	    uni_diff = sizeof(struct unicast_frag_packet) - hdr_len;
+	int hdr_len = sizeof(struct unicast_packet);
+	int uni_diff = sizeof(struct unicast_frag_packet) - hdr_len;
 
 
 	/* set skb to the first part and tmp_skb to the second part */
 	/* set skb to the first part and tmp_skb to the second part */
 	if (up->flags & UNI_FRAG_HEAD) {
 	if (up->flags & UNI_FRAG_HEAD) {
@@ -231,6 +231,7 @@ int frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
 	int ucf_hdr_len = sizeof(struct unicast_frag_packet);
 	int ucf_hdr_len = sizeof(struct unicast_frag_packet);
 	int data_len = skb->len - uc_hdr_len;
 	int data_len = skb->len - uc_hdr_len;
 	int large_tail = 0;
 	int large_tail = 0;
+	uint16_t seqno;
 
 
 	if (!bat_priv->primary_if)
 	if (!bat_priv->primary_if)
 		goto dropped;
 		goto dropped;
@@ -266,10 +267,9 @@ int frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
 	frag1->flags = UNI_FRAG_HEAD | large_tail;
 	frag1->flags = UNI_FRAG_HEAD | large_tail;
 	frag2->flags = large_tail;
 	frag2->flags = large_tail;
 
 
-	frag1->seqno = htons((uint16_t)atomic_inc_return(
-			     &batman_if->frag_seqno));
-	frag2->seqno = htons((uint16_t)atomic_inc_return(
-			     &batman_if->frag_seqno));
+	seqno = atomic_add_return(2, &batman_if->frag_seqno);
+	frag1->seqno = htons(seqno - 1);
+	frag2->seqno = htons(seqno);
 
 
 	send_skb_packet(skb, batman_if, dstaddr);
 	send_skb_packet(skb, batman_if, dstaddr);
 	send_skb_packet(frag_skb, batman_if, dstaddr);
 	send_skb_packet(frag_skb, batman_if, dstaddr);
@@ -286,7 +286,7 @@ int unicast_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv)
 {
 {
 	struct ethhdr *ethhdr = (struct ethhdr *)skb->data;
 	struct ethhdr *ethhdr = (struct ethhdr *)skb->data;
 	struct unicast_packet *unicast_packet;
 	struct unicast_packet *unicast_packet;
-	struct orig_node *orig_node;
+	struct orig_node *orig_node = NULL;
 	struct batman_if *batman_if;
 	struct batman_if *batman_if;
 	struct neigh_node *router;
 	struct neigh_node *router;
 	int data_len = skb->len;
 	int data_len = skb->len;
@@ -297,11 +297,6 @@ int unicast_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv)
 	/* get routing information */
 	/* get routing information */
 	if (is_multicast_ether_addr(ethhdr->h_dest))
 	if (is_multicast_ether_addr(ethhdr->h_dest))
 		orig_node = (struct orig_node *)gw_get_selected(bat_priv);
 		orig_node = (struct orig_node *)gw_get_selected(bat_priv);
-	else
-		orig_node = ((struct orig_node *)hash_find(bat_priv->orig_hash,
-							   compare_orig,
-							   choose_orig,
-							   ethhdr->h_dest));
 
 
 	/* check for hna host */
 	/* check for hna host */
 	if (!orig_node)
 	if (!orig_node)