Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74833608 authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge

Included changes:

* an improvement to avoid to linearise the whole received packet when not needed
* an improvement for client traffic rerouting after roaming
* a fix for the local translation table state-machine
* minor cleanups and fixes
parents c597f665 521251f2
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
[state: 21-08-2011]

BATMAN-ADV
----------

@@ -68,10 +66,11 @@ All mesh wide settings can be found in batman's own interface
folder:

# ls /sys/class/net/bat0/mesh/
# aggregated_ogms        fragmentation          hop_penalty
# ap_isolation           gw_bandwidth           log_level
# bonding                gw_mode                orig_interval
# bridge_loop_avoidance  gw_sel_class           vis_mode
# aggregated_ogms        gw_bandwidth           log_level
# ap_isolation           gw_mode                orig_interval
# bonding                gw_sel_class           routing_algo
# bridge_loop_avoidance  hop_penalty            vis_mode
# fragmentation


There is a special folder for debugging information:
+4 −5
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ static struct neigh_node *bat_iv_ogm_neigh_new(struct hard_iface *hard_iface,
		goto out;

	INIT_LIST_HEAD(&neigh_node->bonding_list);
	spin_lock_init(&neigh_node->tq_lock);

	neigh_node->orig_node = orig_neigh;
	neigh_node->if_incoming = hard_iface;
@@ -637,12 +636,12 @@ static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
		if (is_duplicate)
			continue;

		spin_lock_bh(&tmp_neigh_node->tq_lock);
		spin_lock_bh(&tmp_neigh_node->lq_update_lock);
		ring_buffer_set(tmp_neigh_node->tq_recv,
				&tmp_neigh_node->tq_index, 0);
		tmp_neigh_node->tq_avg =
			ring_buffer_avg(tmp_neigh_node->tq_recv);
		spin_unlock_bh(&tmp_neigh_node->tq_lock);
		spin_unlock_bh(&tmp_neigh_node->lq_update_lock);
	}

	if (!neigh_node) {
@@ -668,12 +667,12 @@ static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
	orig_node->flags = batman_ogm_packet->flags;
	neigh_node->last_seen = jiffies;

	spin_lock_bh(&neigh_node->tq_lock);
	spin_lock_bh(&neigh_node->lq_update_lock);
	ring_buffer_set(neigh_node->tq_recv,
			&neigh_node->tq_index,
			batman_ogm_packet->tq);
	neigh_node->tq_avg = ring_buffer_avg(neigh_node->tq_recv);
	spin_unlock_bh(&neigh_node->tq_lock);
	spin_unlock_bh(&neigh_node->lq_update_lock);

	if (!is_duplicate) {
		orig_node->last_ttl = batman_ogm_packet->header.ttl;
+3 −3
Original line number Diff line number Diff line
@@ -173,9 +173,9 @@ static void check_known_mac_addr(const struct net_device *net_dev)
				 net_dev->dev_addr))
			continue;

		pr_warning("The newly added mac address (%pM) already exists on: %s\n",
		pr_warn("The newly added mac address (%pM) already exists on: %s\n",
			net_dev->dev_addr, hard_iface->net_dev->name);
		pr_warning("It is strongly recommended to keep mac addresses unique to avoid problems!\n");
		pr_warn("It is strongly recommended to keep mac addresses unique to avoid problems!\n");
	}
	rcu_read_unlock();
}
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
#define DRIVER_DEVICE "batman-adv"

#ifndef SOURCE_VERSION
#define SOURCE_VERSION "2012.1.0"
#define SOURCE_VERSION "2012.2.0"
#endif

/* B.A.T.M.A.N. parameters */
+1 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ struct neigh_node *batadv_neigh_node_new(struct hard_iface *hard_iface,
	INIT_HLIST_NODE(&neigh_node->list);

	memcpy(neigh_node->addr, neigh_addr, ETH_ALEN);
	spin_lock_init(&neigh_node->lq_update_lock);

	/* extra reference for return */
	atomic_set(&neigh_node->refcount, 2);
Loading