diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-05-25 17:08:27 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-06-08 06:33:27 +0900 |
commit | 5546870e7b051c6db1844468839708c17378fb7e (patch) | |
tree | c73762b3a6f197902e96abbb2040284a79e9f021 /src/network/networkd-bridge-vlan.c | |
parent | 1a0e5ca2f3835c954d5d800b9fc771160335ce53 (diff) | |
download | systemd-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.c | 15 |
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, |