Skip to content

Commit be571ff

Browse files
yuwatabluca
authored andcommitted
network-generator: vlan= can be specified multiple times
(cherry picked from commit 9eee6b1) (cherry picked from commit f3baba9)
1 parent 74667d4 commit be571ff

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

src/network/generator/network-generator.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ static Network *network_free(Network *network) {
181181
free(network->ifname);
182182
free(network->hostname);
183183
strv_free(network->dns);
184-
free(network->vlan);
184+
strv_free(network->vlan);
185185
free(network->bridge);
186186
free(network->bond);
187187

@@ -531,7 +531,7 @@ static int network_set_vlan(Context *context, const char *ifname, const char *va
531531
return r;
532532
}
533533

534-
return free_and_strdup(&network->vlan, value);
534+
return strv_extend(&network->vlan, value);
535535
}
536536

537537
static int network_set_bridge(Context *context, const char *ifname, const char *value) {
@@ -1315,8 +1315,8 @@ void network_dump(Network *network, FILE *f) {
13151315
STRV_FOREACH(dns, network->dns)
13161316
fprintf(f, "DNS=%s\n", *dns);
13171317

1318-
if (network->vlan)
1319-
fprintf(f, "VLAN=%s\n", network->vlan);
1318+
STRV_FOREACH(v, network->vlan)
1319+
fprintf(f, "VLAN=%s\n", *v);
13201320

13211321
if (network->bridge)
13221322
fprintf(f, "Bridge=%s\n", network->bridge);

src/network/generator/network-generator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ struct Network {
6262
/* [Network] */
6363
DHCPType dhcp_type;
6464
char **dns;
65-
char *vlan;
65+
char **vlan;
6666
char *bridge;
6767
char *bond;
6868

src/network/generator/test-network-generator.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,12 +283,13 @@ int main(int argc, char *argv[]) {
283283
"UseDNS=yes\n"
284284
);
285285

286-
test_network_one("eth0", "vlan", "vlan99:eth0",
286+
test_network_two("eth0", "vlan", "vlan99:eth0", "vlan", "vlan98:eth0",
287287
"[Match]\n"
288288
"Name=eth0\n"
289289
"\n[Link]\n"
290290
"\n[Network]\n"
291291
"VLAN=vlan99\n"
292+
"VLAN=vlan98\n"
292293
"\n[DHCP]\n"
293294
);
294295

0 commit comments

Comments
 (0)