mirror of
https://github.com/systemd/systemd.git
synced 2025-03-19 22:50:17 +03:00
network-generator: vlan= can be specified multiple times
(cherry picked from commit 9eee6b1b3f00d46459eebefb70be50ea6af30ddb)
This commit is contained in:
parent
dbf933478f
commit
f3baba9442
@ -181,7 +181,7 @@ static Network *network_free(Network *network) {
|
||||
free(network->ifname);
|
||||
free(network->hostname);
|
||||
strv_free(network->dns);
|
||||
free(network->vlan);
|
||||
strv_free(network->vlan);
|
||||
free(network->bridge);
|
||||
free(network->bond);
|
||||
|
||||
@ -541,7 +541,7 @@ static int network_set_vlan(Context *context, const char *ifname, const char *va
|
||||
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) {
|
||||
@ -1329,8 +1329,8 @@ void network_dump(Network *network, FILE *f) {
|
||||
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);
|
||||
|
@ -62,7 +62,7 @@ struct Network {
|
||||
/* [Network] */
|
||||
DHCPType dhcp_type;
|
||||
char **dns;
|
||||
char *vlan;
|
||||
char **vlan;
|
||||
char *bridge;
|
||||
char *bond;
|
||||
|
||||
|
@ -283,12 +283,13 @@ int main(int argc, char *argv[]) {
|
||||
"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"
|
||||
);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user