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

Commit a9ab2184 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



Antonio Quartulli says:

====================
Included changes:
- checkpatch fixes
- code cleanup
- debugfs component is now compiled only if DEBUG_FS is selected
- update copyright years
- disable by default not-so-user-safe features
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents abf2e7d6 8ea64e27
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
#
#
# Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
# Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
#
#
# Marek Lindner, Simon Wunderlich
# Marek Lindner, Simon Wunderlich
#
#
@@ -20,7 +20,7 @@ obj-$(CONFIG_BATMAN_ADV) += batman-adv.o
batman-adv-y += bat_iv_ogm.o
batman-adv-y += bat_iv_ogm.o
batman-adv-y += bitarray.o
batman-adv-y += bitarray.o
batman-adv-$(CONFIG_BATMAN_ADV_BLA) += bridge_loop_avoidance.o
batman-adv-$(CONFIG_BATMAN_ADV_BLA) += bridge_loop_avoidance.o
batman-adv-y += debugfs.o
batman-adv-$(CONFIG_DEBUG_FS) += debugfs.o
batman-adv-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o
batman-adv-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o
batman-adv-y += fragmentation.o
batman-adv-y += fragmentation.o
batman-adv-y += gateway_client.o
batman-adv-y += gateway_client.o
@@ -29,6 +29,7 @@ batman-adv-y += hard-interface.o
batman-adv-y += hash.o
batman-adv-y += hash.o
batman-adv-y += icmp_socket.o
batman-adv-y += icmp_socket.o
batman-adv-y += main.o
batman-adv-y += main.o
batman-adv-$(CONFIG_BATMAN_ADV_MCAST) += multicast.o
batman-adv-$(CONFIG_BATMAN_ADV_NC) += network-coding.o
batman-adv-$(CONFIG_BATMAN_ADV_NC) += network-coding.o
batman-adv-y += originator.o
batman-adv-y += originator.o
batman-adv-y += routing.o
batman-adv-y += routing.o
@@ -36,4 +37,3 @@ batman-adv-y += send.o
batman-adv-y += soft-interface.o
batman-adv-y += soft-interface.o
batman-adv-y += sysfs.o
batman-adv-y += sysfs.o
batman-adv-y += translation-table.o
batman-adv-y += translation-table.o
batman-adv-$(CONFIG_BATMAN_ADV_MCAST) += multicast.o
+1 −1
Original line number Original line Diff line number Diff line
/* Copyright (C) 2011-2014 B.A.T.M.A.N. contributors:
/* Copyright (C) 2011-2015 B.A.T.M.A.N. contributors:
 *
 *
 * Marek Lindner
 * Marek Lindner
 *
 *
+60 −60
Original line number Original line Diff line number Diff line
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
/* Copyright (C) 2007-2015 B.A.T.M.A.N. contributors:
 *
 *
 * Marek Lindner, Simon Wunderlich
 * Marek Lindner, Simon Wunderlich
 *
 *
@@ -308,7 +308,6 @@ static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface)
	struct batadv_ogm_packet *batadv_ogm_packet;
	struct batadv_ogm_packet *batadv_ogm_packet;
	unsigned char *ogm_buff;
	unsigned char *ogm_buff;
	uint32_t random_seqno;
	uint32_t random_seqno;
	int res = -ENOMEM;


	/* randomize initial seqno to avoid collision */
	/* randomize initial seqno to avoid collision */
	get_random_bytes(&random_seqno, sizeof(random_seqno));
	get_random_bytes(&random_seqno, sizeof(random_seqno));
@@ -317,7 +316,7 @@ static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface)
	hard_iface->bat_iv.ogm_buff_len = BATADV_OGM_HLEN;
	hard_iface->bat_iv.ogm_buff_len = BATADV_OGM_HLEN;
	ogm_buff = kmalloc(hard_iface->bat_iv.ogm_buff_len, GFP_ATOMIC);
	ogm_buff = kmalloc(hard_iface->bat_iv.ogm_buff_len, GFP_ATOMIC);
	if (!ogm_buff)
	if (!ogm_buff)
		goto out;
		return -ENOMEM;


	hard_iface->bat_iv.ogm_buff = ogm_buff;
	hard_iface->bat_iv.ogm_buff = ogm_buff;


@@ -329,10 +328,7 @@ static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface)
	batadv_ogm_packet->reserved = 0;
	batadv_ogm_packet->reserved = 0;
	batadv_ogm_packet->tq = BATADV_TQ_MAX_VALUE;
	batadv_ogm_packet->tq = BATADV_TQ_MAX_VALUE;


	res = 0;
	return 0;

out:
	return res;
}
}


static void batadv_iv_ogm_iface_disable(struct batadv_hard_iface *hard_iface)
static void batadv_iv_ogm_iface_disable(struct batadv_hard_iface *hard_iface)
@@ -396,7 +392,7 @@ static uint8_t batadv_hop_penalty(uint8_t tq,
}
}


/* is there another aggregated packet here? */
/* is there another aggregated packet here? */
static int batadv_iv_ogm_aggr_packet(int buff_pos, int packet_len,
static bool batadv_iv_ogm_aggr_packet(int buff_pos, int packet_len,
				      __be16 tvlv_len)
				      __be16 tvlv_len)
{
{
	int next_buff_pos = 0;
	int next_buff_pos = 0;
@@ -413,7 +409,7 @@ static void batadv_iv_ogm_send_to_if(struct batadv_forw_packet *forw_packet,
				     struct batadv_hard_iface *hard_iface)
				     struct batadv_hard_iface *hard_iface)
{
{
	struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
	struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
	char *fwd_str;
	const char *fwd_str;
	uint8_t packet_num;
	uint8_t packet_num;
	int16_t buff_pos;
	int16_t buff_pos;
	struct batadv_ogm_packet *batadv_ogm_packet;
	struct batadv_ogm_packet *batadv_ogm_packet;
@@ -548,10 +544,19 @@ batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet,
	 * - the send time is within our MAX_AGGREGATION_MS time
	 * - the send time is within our MAX_AGGREGATION_MS time
	 * - the resulting packet wont be bigger than
	 * - the resulting packet wont be bigger than
	 *   MAX_AGGREGATION_BYTES
	 *   MAX_AGGREGATION_BYTES
	 * otherwise aggregation is not possible
	 */
	 */
	if (time_before(send_time, forw_packet->send_time) &&
	if (!time_before(send_time, forw_packet->send_time) ||
	    time_after_eq(aggregation_end_time, forw_packet->send_time) &&
	    !time_after_eq(aggregation_end_time, forw_packet->send_time))
	    (aggregated_bytes <= BATADV_MAX_AGGREGATION_BYTES)) {
		return false;

	if (aggregated_bytes > BATADV_MAX_AGGREGATION_BYTES)
		return false;

	/* packet is not leaving on the same interface. */
	if (forw_packet->if_outgoing != if_outgoing)
		return false;

	/* check aggregation compatibility
	/* check aggregation compatibility
	 * -> direct link packets are broadcasted on
	 * -> direct link packets are broadcasted on
	 *    their interface only
	 *    their interface only
@@ -561,24 +566,20 @@ batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet,
	 */
	 */
	primary_if = batadv_primary_if_get_selected(bat_priv);
	primary_if = batadv_primary_if_get_selected(bat_priv);
	if (!primary_if)
	if (!primary_if)
			goto out;
		return false;

		/* packet is not leaving on the same interface. */
		if (forw_packet->if_outgoing != if_outgoing)
			goto out;


	/* packets without direct link flag and high TTL
	/* packets without direct link flag and high TTL
	 * are flooded through the net
	 * are flooded through the net
	 */
	 */
		if ((!directlink) &&
	if (!directlink &&
		    (!(batadv_ogm_packet->flags & BATADV_DIRECTLINK)) &&
	    !(batadv_ogm_packet->flags & BATADV_DIRECTLINK) &&
		    (batadv_ogm_packet->ttl != 1) &&
	    batadv_ogm_packet->ttl != 1 &&


	    /* own packets originating non-primary
	    /* own packets originating non-primary
	     * interfaces leave only that interface
	     * interfaces leave only that interface
	     */
	     */
		    ((!forw_packet->own) ||
	    (!forw_packet->own ||
		     (forw_packet->if_incoming == primary_if))) {
	     forw_packet->if_incoming == primary_if)) {
		res = true;
		res = true;
		goto out;
		goto out;
	}
	}
@@ -586,9 +587,9 @@ batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet,
	/* if the incoming packet is sent via this one
	/* if the incoming packet is sent via this one
	 * interface only - we still can aggregate
	 * interface only - we still can aggregate
	 */
	 */
		if ((directlink) &&
	if (directlink &&
		    (new_bat_ogm_packet->ttl == 1) &&
	    new_bat_ogm_packet->ttl == 1 &&
		    (forw_packet->if_incoming == if_incoming) &&
	    forw_packet->if_incoming == if_incoming &&


	    /* packets from direct neighbors or
	    /* packets from direct neighbors or
	     * own secondary interface packets
	     * own secondary interface packets
@@ -600,7 +601,6 @@ batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet,
		res = true;
		res = true;
		goto out;
		goto out;
	}
	}
	}


out:
out:
	if (primary_if)
	if (primary_if)
@@ -1081,7 +1081,7 @@ batadv_iv_ogm_orig_update(struct batadv_priv *bat_priv,
	 * won't consider it either
	 * won't consider it either
	 */
	 */
	if (router_ifinfo &&
	if (router_ifinfo &&
	    (neigh_ifinfo->bat_iv.tq_avg == router_ifinfo->bat_iv.tq_avg)) {
	    neigh_ifinfo->bat_iv.tq_avg == router_ifinfo->bat_iv.tq_avg) {
		orig_node_tmp = router->orig_node;
		orig_node_tmp = router->orig_node;
		spin_lock_bh(&orig_node_tmp->bat_iv.ogm_cnt_lock);
		spin_lock_bh(&orig_node_tmp->bat_iv.ogm_cnt_lock);
		if_num = router->if_incoming->if_num;
		if_num = router->if_incoming->if_num;
+1 −1
Original line number Original line Diff line number Diff line
/* Copyright (C) 2006-2014 B.A.T.M.A.N. contributors:
/* Copyright (C) 2006-2015 B.A.T.M.A.N. contributors:
 *
 *
 * Simon Wunderlich, Marek Lindner
 * Simon Wunderlich, Marek Lindner
 *
 *
+1 −1
Original line number Original line Diff line number Diff line
/* Copyright (C) 2006-2014 B.A.T.M.A.N. contributors:
/* Copyright (C) 2006-2015 B.A.T.M.A.N. contributors:
 *
 *
 * Simon Wunderlich, Marek Lindner
 * Simon Wunderlich, Marek Lindner
 *
 *
Loading