Skip to content

Commit 6bad63a

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

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
@@ -158,7 +158,7 @@ static Network *network_free(Network *network) {
158158
free(network->ifname);
159159
free(network->hostname);
160160
strv_free(network->dns);
161-
free(network->vlan);
161+
strv_free(network->vlan);
162162
free(network->bridge);
163163
free(network->bond);
164164

@@ -508,7 +508,7 @@ static int network_set_vlan(Context *context, const char *ifname, const char *va
508508
return r;
509509
}
510510

511-
return free_and_strdup(&network->vlan, value);
511+
return strv_extend(&network->vlan, value);
512512
}
513513

514514
static int network_set_bridge(Context *context, const char *ifname, const char *value) {
@@ -1282,8 +1282,8 @@ void network_dump(Network *network, FILE *f) {
12821282
STRV_FOREACH(dns, network->dns)
12831283
fprintf(f, "DNS=%s\n", *dns);
12841284

1285-
if (network->vlan)
1286-
fprintf(f, "VLAN=%s\n", network->vlan);
1285+
STRV_FOREACH(v, network->vlan)
1286+
fprintf(f, "VLAN=%s\n", *v);
12871287

12881288
if (network->bridge)
12891289
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
@@ -61,7 +61,7 @@ struct Network {
6161
/* [Network] */
6262
DHCPType dhcp_type;
6363
char **dns;
64-
char *vlan;
64+
char **vlan;
6565
char *bridge;
6666
char *bond;
6767

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

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

283-
test_network_one("eth0", "vlan", "vlan99:eth0",
283+
test_network_two("eth0", "vlan", "vlan99:eth0", "vlan", "vlan98:eth0",
284284
"[Match]\n"
285285
"Name=eth0\n"
286286
"\n[Link]\n"
287287
"\n[Network]\n"
288288
"VLAN=vlan99\n"
289+
"VLAN=vlan98\n"
289290
"\n[DHCP]\n"
290291
);
291292

0 commit comments

Comments
 (0)