aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/dnsmasq/patches/0009-Do-unsolicited-RAs-for-interfaces-which-appear-after.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/services/dnsmasq/patches/0009-Do-unsolicited-RAs-for-interfaces-which-appear-after.patch')
-rw-r--r--package/network/services/dnsmasq/patches/0009-Do-unsolicited-RAs-for-interfaces-which-appear-after.patch44
1 files changed, 0 insertions, 44 deletions
diff --git a/package/network/services/dnsmasq/patches/0009-Do-unsolicited-RAs-for-interfaces-which-appear-after.patch b/package/network/services/dnsmasq/patches/0009-Do-unsolicited-RAs-for-interfaces-which-appear-after.patch
deleted file mode 100644
index ed8a6e6197..0000000000
--- a/package/network/services/dnsmasq/patches/0009-Do-unsolicited-RAs-for-interfaces-which-appear-after.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0a496f059c1e9d75c33cce4c1211d58422ba4f62 Mon Sep 17 00:00:00 2001
-From: Maarten de Vries <maarten+dnsmasq@m.de-vri.es>
-Date: Fri, 11 May 2018 23:20:58 +0100
-Subject: [PATCH 09/17] Do unsolicited RAs for interfaces which appear after
- dnsmasq startup.
-
-I noticed that dnsmasq often wasn't sending any unsolicited RAs for me.
-
-This turned out to happen when the interface (a bridge interface) wasn't
-created yet at the time dnsmasq started. When dnsmasq is started after
-the interface is created, it sends RAs as expected. I assume this also
-extends to other types of virtual interfaces that are created after
-dnsmasq starts.
-
-Digging into the source, it seems to be caused by a missing call to
-ra_start_unsolicited for non-template contexts in construct_worker from
-src/dhcp6.c. The attached patch adds that call, but only if the
-interface index or address changed to prevent doing fast RAs for no reason.
-
-I tested it on my own server and it appears to work as expected. When
-the interface is created and configured, dnsmasq does fast RAs for a
-while and then settles into slow RAs.
-
-Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
----
- src/dhcp6.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/src/dhcp6.c
-+++ b/src/dhcp6.c
-@@ -647,6 +647,13 @@ static int construct_worker(struct in6_a
- is_same_net6(local, &template->start6, template->prefix) &&
- is_same_net6(local, &template->end6, template->prefix))
- {
-+ /* First time found, do fast RA. */
-+ if (template->if_index != if_index || !IN6_ARE_ADDR_EQUAL(&template->local6, local))
-+ {
-+ ra_start_unsolicited(param->now, template);
-+ param->newone = 1;
-+ }
-+
- template->if_index = if_index;
- template->local6 = *local;
- }