From 0b8d501c2796717440b8339cb0df90916ff814d8 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 11 Nov 2023 19:28:24 +0900 Subject: [PATCH] network/brvlan: parse_vlanid() accepts zero, hence PVID may be zero So, the default value should not be zero. --- src/network/networkd-bridge-vlan.c | 4 ++-- src/network/networkd-network.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/network/networkd-bridge-vlan.c b/src/network/networkd-bridge-vlan.c index bfc404f154..969a7da30b 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 72ed2abd95..e3735842e2 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, -- 2.25.1