summaryrefslogtreecommitdiff
path: root/src/network/networkd-bridge-vlan.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-05-25 17:08:27 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-06-08 06:33:27 +0900
commit5546870e7b051c6db1844468839708c17378fb7e (patch)
treec73762b3a6f197902e96abbb2040284a79e9f021 /src/network/networkd-bridge-vlan.c
parent1a0e5ca2f3835c954d5d800b9fc771160335ce53 (diff)
downloadsystemd-5546870e7b051c6db1844468839708c17378fb7e.tar.gz
network: introduce network_adjust_bridge_vlan()
Diffstat (limited to 'src/network/networkd-bridge-vlan.c')
-rw-r--r--src/network/networkd-bridge-vlan.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/network/networkd-bridge-vlan.c b/src/network/networkd-bridge-vlan.c
index 797c5c69d5..c4c25eaff4 100644
--- a/src/network/networkd-bridge-vlan.c
+++ b/src/network/networkd-bridge-vlan.c
@@ -161,10 +161,6 @@ int link_set_bridge_vlan(Link *link) {
if (!link->network->bridge && !streq_ptr(link->kind, "bridge"))
return 0;
- /* pvid might not be in br_vid_bitmap yet */
- if (link->network->pvid)
- set_bit(link->network->pvid, link->network->br_vid_bitmap);
-
/* create new RTM message */
r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex);
if (r < 0)
@@ -206,6 +202,17 @@ int link_set_bridge_vlan(Link *link) {
return 0;
}
+void network_adjust_bridge_vlan(Network *network) {
+ assert(network);
+
+ if (!network->use_br_vlan)
+ return;
+
+ /* pvid might not be in br_vid_bitmap yet */
+ if (network->pvid)
+ set_bit(network->pvid, network->br_vid_bitmap);
+}
+
int config_parse_brvlan_pvid(
const char *unit,
const char *filename,