[v2,2/2] batman-adv: Use own timer for multicast TT and TVLV updates

Message ID 5201292.9bhKurM9NC@sven-edge (mailing list archive)
State Not Applicable, archived
Headers

Commit Message

Sven Eckelmann Aug. 6, 2016, 5:09 p.m. UTC
  On Samstag, 6. August 2016 06:31:39 CEST Linus Lüssing wrote:
> Instead of latching onto the OGM period, this patch introduces a worker
> dedicated to multicast TT and TVLV updates.
> 
> The reasoning is, that upon roaming especially the translation table
> should be updated timely to minimize connectivity issues.
> 
> With BATMAN V, the idea is to greatly increase the OGM interval to
> reduce overhead. Unfortunately, right now this could lead to
> a bad user experience if multicast traffic is involved.
> 
> Therefore this patch introduces a fixed 500ms update interval for
> multicast TT entries and the multicast TVLV.
> 
> Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
> ---
> 
> Changes in v2:
> * updated kerneldoc regarding bat_priv->mcast.mla_list "locking"
[...]
> --- a/net/batman-adv/multicast.c
> +++ b/net/batman-adv/multicast.c
> @@ -60,6 +60,18 @@
>  #include "translation-table.h"
>  #include "tvlv.h"

I have some minor things but maybe you could also add the missing headers:


[...]
>  /**
> + * batadv_mcast_mla_update - update the own MLAs
> + * @bat_priv: the bat priv with all the soft interface information
> + *
> + * Updates the own multicast listener announcements in the translation
> + * table as well as the own, announced multicast tvlv container.
> + *
> + * In the end, reschedules the work timer.
> + */
> +static void batadv_mcast_mla_update(struct work_struct *work)

There is no parameter @bat_priv. Also the description for the parameter
work is missing.

Kind regards,
	Sven
  

Patch

--- a/net/batman-adv/multicast.c
+++ b/net/batman-adv/multicast.c
@@ -33,6 +34,7 @@ 
 #include <linux/in6.h>
 #include <linux/ip.h>
 #include <linux/ipv6.h>
+#include <linux/jiffies.h>
 #include <linux/kernel.h>
 #include <linux/kref.h>
 #include <linux/list.h>
@@ -48,6 +50,7 @@ 
 #include <linux/stddef.h>
 #include <linux/string.h>
 #include <linux/types.h>
+#include <linux/workqueue.h>
 #include <net/addrconf.h>
 #include <net/if_inet6.h>
 #include <net/ip.h>