+static int link_update_llmnr_support(Link *l) {
+ _cleanup_free_ char *b = NULL;
+ int r;
+
+ assert(l);
+
+ r = sd_network_link_get_llmnr(l->ifindex, &b);
+ if (r < 0)
+ goto clear;
+
+ r = parse_boolean(b);
+ if (r < 0) {
+ if (streq(b, "resolve"))
+ l->llmnr_support = SUPPORT_RESOLVE;
+ else
+ goto clear;
+
+ } else if (r > 0)
+ l->llmnr_support = SUPPORT_YES;
+ else
+ l->llmnr_support = SUPPORT_NO;
+
+ return 0;
+
+clear:
+ l->llmnr_support = SUPPORT_YES;
+ return r;
+}
+
+static int link_update_domains(Link *l) {
+ int r;
+
+ if (!l->unicast_scope)
+ return 0;
+
+ strv_free(l->unicast_scope->domains);
+ l->unicast_scope->domains = NULL;
+
+ r = sd_network_link_get_domains(l->ifindex,
+ &l->unicast_scope->domains);
+ if (r < 0)
+ return r;
+
+ return 0;
+}
+