summaryrefslogtreecommitdiff
path: root/src/network/networkd-ndisc.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2016-10-25 12:08:43 +0200
committerLennart Poettering <lennart@poettering.net>2016-11-02 11:39:49 -0600
commitc69305ff4fe5a182cd58b66077f3db7bc7c222e1 (patch)
treeab1908c8af91fd13a87ee728338d29d8cc8c64a2 /src/network/networkd-ndisc.c
parent02affb4e6a16fbec9d6d28265c220ca95479bbd0 (diff)
networkd: flush DNSSL/RDNSS lists when we lose carrier
Fixes: #3870
Diffstat (limited to 'src/network/networkd-ndisc.c')
-rw-r--r--src/network/networkd-ndisc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
index 6ce6bfa787..4853791aa5 100644
--- a/src/network/networkd-ndisc.c
+++ b/src/network/networkd-ndisc.c
@@ -690,3 +690,12 @@ void ndisc_vacuum(Link *link) {
link_dirty(link);
}
}
+
+void ndisc_flush(Link *link) {
+ assert(link);
+
+ /* Removes all RDNSS and DNSSL entries, without exception */
+
+ link->ndisc_rdnss = set_free_free(link->ndisc_rdnss);
+ link->ndisc_dnssl = set_free_free(link->ndisc_dnssl);
+}