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:
--- 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>
[...]
/**
- 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