Re: [PATCH 2/3] batman-adv: allow broadcast packet type with unicast destination

Sven Eckelmann
2019-05-25T10:24:38Z

[-- Attachment #1: Type: text/plain, Size: 1638 bytes --]

On Tuesday, 14 May 2019 09:38:58 CEST Linus Lüssing wrote:
[...]
> +/**
> + * batadv_orig_bcast_tvlv_ogm_handler() - process incoming broadcast tvlv
> + * @bat_priv: the bat priv with all the soft interface information
> + * @orig: the orig_node of the ogm
> + * @flags: flags indicating the tvlv state (see batadv_tvlv_handler_flags)
> + * @tvlv_value: tvlv buffer containing the multicast data
> + * @tvlv_value_len: tvlv buffer length
> + */
> +static void batadv_orig_bcast_tvlv_ogm_handler(struct batadv_priv *bat_priv,
> + struct batadv_orig_node *orig,
> + u8 flags,
> + void *tvlv_value,
> + u16 tvlv_value_len)
> +{
> + if (flags & BATADV_TVLV_HANDLER_OGM_CIFNOTFND)
> + clear_bit(BATADV_ORIG_CAPA_HAS_BCAST_URCV, &orig->capabilities);
> + else
> + set_bit(BATADV_ORIG_CAPA_HAS_BCAST_URCV, &orig->capabilities);
> +}
> +

Bitops require #include <linux/bitops.h>

> /**
> * batadv_originator_init() - Initialize all originator structures
> * @bat_priv: the bat priv with all the soft interface information
> @@ -215,6 +236,12 @@ int batadv_originator_init(struct batadv_priv *bat_priv)
> batadv_hash_set_lock_class(bat_priv->orig_hash,
> &batadv_orig_hash_lock_class_key);
>
> + batadv_tvlv_container_register(bat_priv, BATADV_TVLV_BCAST, 1, NULL, 0);

BATADV_TVLV_BCAST requires #include <uapi/linux/batadv_packet.h>