Thread (1 message) 1 message, 1 author, 2013-06-11

Re: pull request for net: batman-adv 2013-06-11

From: Antonio Quartulli <hidden>
Date: 2013-06-11 08:07:35
Also in: batman

Hello David,

On Tue, Jun 11, 2013 at 08:34:58AM +0200, Antonio Quartulli wrote:

[...]

Please pull or let me know if there is any problem!
After having applied this patchset the merge of net into net-next will generate
a conflict. Here you have the needed information to properly solve it.

Regards,



conflict in net/batman-adv/bat_iv_ogm.c:

++<<<<<<< HEAD
 + * batadv_ring_buffer_set - update the ring buffer with the given value
 + * @lq_recv: pointer to the ring buffer
 + * @lq_index: index to store the value at
 + * @value: value to store in the ring buffer
 + */
 +static void batadv_ring_buffer_set(uint8_t lq_recv[], uint8_t *lq_index,
 +				   uint8_t value)
 +{
 +	lq_recv[*lq_index] = value;
 +	*lq_index = (*lq_index + 1) % BATADV_TQ_GLOBAL_WINDOW_SIZE;
 +}
 +
 +/**
 + * batadv_ring_buffer_set - compute the average of all non-zero values stored
 + * in the given ring buffer
 + * @lq_recv: pointer to the ring buffer
 + *
 + * Returns computed average value.
 + */
 +static uint8_t batadv_ring_buffer_avg(const uint8_t lq_recv[])
 +{
 +	const uint8_t *ptr;
 +	uint16_t count = 0, i = 0, sum = 0;
 +
 +	ptr = lq_recv;
 +
 +	while (i < BATADV_TQ_GLOBAL_WINDOW_SIZE) {
 +		if (*ptr != 0) {
 +			count++;
 +			sum += *ptr;
 +		}
 +
 +		i++;
 +		ptr++;
 +	}
 +
 +	if (count == 0)
 +		return 0;
 +
 +	return (uint8_t)(sum / count);
 +}
++=======
+  * batadv_dup_status - duplicate status
+  * @BATADV_NO_DUP: the packet is a duplicate
+  * @BATADV_ORIG_DUP: OGM is a duplicate in the originator (but not for the
+  *  neighbor)
+  * @BATADV_NEIGH_DUP: OGM is a duplicate for the neighbor
+  * @BATADV_PROTECTED: originator is currently protected (after reboot)
+  */
+ enum batadv_dup_status {
+ 	BATADV_NO_DUP = 0,
+ 	BATADV_ORIG_DUP,
+ 	BATADV_NEIGH_DUP,
+ 	BATADV_PROTECTED,
+ };
+ 
++>>>>>>> 7c24bbb... batman-adv: forward late OGMs from best next hop

is solved as follows (add /** at the top of the batadv_dup_status kerneldoc and
keep everything):

<<<<<<<<<<<<
 * batadv_ring_buffer_set - update the ring buffer with the given value
 * @lq_recv: pointer to the ring buffer
 * @lq_index: index to store the value at
 * @value: value to store in the ring buffer
 */
static void batadv_ring_buffer_set(uint8_t lq_recv[], uint8_t *lq_index,
				   uint8_t value)
{
	lq_recv[*lq_index] = value;
	*lq_index = (*lq_index + 1) % BATADV_TQ_GLOBAL_WINDOW_SIZE;
}

/**
 * batadv_ring_buffer_set - compute the average of all non-zero values stored
 * in the given ring buffer
 * @lq_recv: pointer to the ring buffer
 *
 * Returns computed average value.
 */
static uint8_t batadv_ring_buffer_avg(const uint8_t lq_recv[])
{
	const uint8_t *ptr;
	uint16_t count = 0, i = 0, sum = 0;

	ptr = lq_recv;

	while (i < BATADV_TQ_GLOBAL_WINDOW_SIZE) {
		if (*ptr != 0) {
			count++;
			sum += *ptr;
		}

		i++;
		ptr++;
	}

	if (count == 0)
		return 0;

	return (uint8_t)(sum / count);
}

/**
 * batadv_dup_status - duplicate status
 * @BATADV_NO_DUP: the packet is a duplicate
 * @BATADV_ORIG_DUP: OGM is a duplicate in the originator (but not for the
 *  neighbor)
 * @BATADV_NEIGH_DUP: OGM is a duplicate for the neighbor
 * @BATADV_PROTECTED: originator is currently protected (after reboot)
 */
enum batadv_dup_status {
	BATADV_NO_DUP = 0,
	BATADV_ORIG_DUP,
	BATADV_NEIGH_DUP,
	BATADV_PROTECTED,
};
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
-- 
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help