free(network->ifname);
free(network->hostname);
strv_free(network->dns);
- free(network->vlan);
+ strv_free(network->vlan);
free(network->bridge);
free(network->bond);
return log_debug_errno(r, "Failed to create network for '%s': %m", ifname);
}
- return free_and_strdup(&network->vlan, value);
+ return strv_extend(&network->vlan, value);
}
static int network_set_bridge(Context *context, const char *ifname, const char *value) {
STRV_FOREACH(dns, network->dns)
fprintf(f, "DNS=%s\n", *dns);
- if (network->vlan)
- fprintf(f, "VLAN=%s\n", network->vlan);
+ STRV_FOREACH(v, network->vlan)
+ fprintf(f, "VLAN=%s\n", *v);
if (network->bridge)
fprintf(f, "Bridge=%s\n", network->bridge);
"UseDNS=yes\n"
);
- test_network_one("eth0", "vlan", "vlan99:eth0",
+ test_network_two("eth0", "vlan", "vlan99:eth0", "vlan", "vlan98:eth0",
"[Match]\n"
"Name=eth0\n"
"\n[Link]\n"
"\n[Network]\n"
"VLAN=vlan99\n"
+ "VLAN=vlan98\n"
"\n[DHCP]\n"
);