diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index 85f16e73e6..0dab96d127 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -687,12 +687,10 @@
- BPDUGuard=
+ UseBPDU=
A boolean. Configures whether STP Bridge Protocol Data Units will be
- processed by the bridge port. By default, the flag is false allowing BPDU
- processing. Turning this flag on will cause the port to stop processing
- STP Bridge Protocol Data Units. Defaults to off.
+ processed by the bridge port. Defaults to yes.
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index 55510b46e9..54077db486 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -858,7 +858,7 @@ static int link_set_bridge(Link *link) {
if (r < 0)
return log_link_error_errno(link, r, "Could not append IFLA_PROTINFO attribute: %m");
- r = sd_netlink_message_append_u8(req, IFLA_BRPORT_GUARD, link->network->bpdu_guard);
+ r = sd_netlink_message_append_u8(req, IFLA_BRPORT_GUARD, !link->network->use_bpdu);
if (r < 0)
return log_link_error_errno(link, r, "Could not append IFLA_BRPORT_GUARD attribute: %m");
diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
index 720f6b9d0b..1416ba1d32 100644
--- a/src/network/networkd-network-gperf.gperf
+++ b/src/network/networkd-network-gperf.gperf
@@ -73,7 +73,7 @@ DHCP.CriticalConnection, config_parse_bool, 0
DHCP.VendorClassIdentifier, config_parse_string, 0, offsetof(Network, dhcp_vendor_class_identifier)
DHCP.RouteMetric, config_parse_unsigned, 0, offsetof(Network, dhcp_route_metric)
Bridge.Cost, config_parse_unsigned, 0, offsetof(Network, cost)
-Bridge.BPDUGuard, config_parse_bool, 0, offsetof(Network, bpdu_guard)
+Bridge.UseBPDU, config_parse_bool, 0, offsetof(Network, use_bpdu)
Bridge.HairPin, config_parse_bool, 0, offsetof(Network, hairpin)
Bridge.FastLeave, config_parse_bool, 0, offsetof(Network, fast_leave)
Bridge.RootBlock, config_parse_bool, 0, offsetof(Network, root_block)
diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
index 55e735e6bf..ff0f72cfe5 100644
--- a/src/network/networkd-network.c
+++ b/src/network/networkd-network.c
@@ -107,6 +107,8 @@ static int network_load_one(Manager *manager, const char *filename) {
network->dhcp_route_metric = DHCP_ROUTE_METRIC;
network->dhcp_client_identifier = DHCP_CLIENT_ID_DUID;
+ network->use_bpdu = true;
+
network->llmnr = LLMNR_SUPPORT_YES;
network->link_local = ADDRESS_FAMILY_IPV6;
diff --git a/src/network/networkd.h b/src/network/networkd.h
index 6418c0a536..7aade401d8 100644
--- a/src/network/networkd.h
+++ b/src/network/networkd.h
@@ -150,7 +150,7 @@ struct Network {
bool dhcp_server;
- bool bpdu_guard;
+ bool use_bpdu;
bool hairpin;
bool fast_leave;
bool root_block;