From: Yu Watanabe Date: Sat, 11 Nov 2023 10:28:24 +0000 (+0900) Subject: network/brvlan: parse_vlanid() accepts zero, hence PVID may be zero X-Git-Tag: v256-rc1~1569^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0b8d501c2796717440b8339cb0df90916ff814d8;p=thirdparty%2Fsystemd.git network/brvlan: parse_vlanid() accepts zero, hence PVID may be zero So, the default value should not be zero. --- diff --git a/src/network/networkd-bridge-vlan.c b/src/network/networkd-bridge-vlan.c index bfc404f154d..969a7da30b4 100644 --- a/src/network/networkd-bridge-vlan.c +++ b/src/network/networkd-bridge-vlan.c @@ -83,7 +83,7 @@ static int bridge_vlan_append_set_info(Link *link, sd_netlink_message *m) { for (uint16_t k = 0; k < BRIDGE_VLAN_BITMAP_MAX; k++) { - if (k > 0 && k == link->network->pvid) { + if (k == link->network->pvid) { /* PVID needs to be sent alone. Finish previous bits. */ if (begin != UINT16_MAX) { assert(begin < k); @@ -189,7 +189,7 @@ void network_adjust_bridge_vlan(Network *network) { return; /* pvid might not be in br_vid_bitmap yet */ - if (network->pvid) + if (vlanid_is_valid(network->pvid)) set_bit(network->pvid, network->br_vid_bitmap); } diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 72ed2abd957..e3735842e26 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -450,6 +450,8 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi .priority = LINK_BRIDGE_PORT_PRIORITY_INVALID, .multicast_router = _MULTICAST_ROUTER_INVALID, + .pvid = UINT16_MAX, + .lldp_mode = LLDP_MODE_ROUTERS_ONLY, .lldp_multicast_mode = _SD_LLDP_MULTICAST_MODE_INVALID,