75 lines
3.9 KiB
Diff
75 lines
3.9 KiB
Diff
From 06dc900efa69bbebe1cff59112b4cfd40ed6b3b5 Mon Sep 17 00:00:00 2001
|
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
|
Date: Sat, 13 Aug 2022 05:08:38 +0900
|
|
Subject: [PATCH] network/bridge: fix UseBPDU= and AllowPortToBeRoot=
|
|
|
|
Fixes bugs caused by 7f9915f0de67f3a10a4b22810d119da65af8c84a.
|
|
|
|
Fixes #24268.
|
|
|
|
(cherry picked from commit 3f504b892b92f54087feeb3fb35e3938567d7fa0)
|
|
|
|
Conflict:code context adaptation
|
|
Reference:https://github.com/systemd/systemd-stable/commit/06dc900efa69bbebe1cff59112b4cfd40ed6b3b5
|
|
---
|
|
src/network/networkd-setlink.c | 4 ++--
|
|
test/networkd-test.py | 4 ++--
|
|
test/test-network/systemd-networkd-tests.py | 8 ++++----
|
|
3 files changed, 8 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c
|
|
index 97c6848717..71ecaf4abf 100644
|
|
--- a/src/network/networkd-setlink.c
|
|
+++ b/src/network/networkd-setlink.c
|
|
@@ -230,7 +230,7 @@ static int link_configure_fill_message(
|
|
return log_link_debug_errno(link, r, "Could not open IFLA_PROTINFO container: %m");
|
|
|
|
if (link->network->use_bpdu >= 0) {
|
|
- r = sd_netlink_message_append_u8(req, IFLA_BRPORT_GUARD, link->network->use_bpdu);
|
|
+ r = sd_netlink_message_append_u8(req, IFLA_BRPORT_GUARD, !link->network->use_bpdu);
|
|
if (r < 0)
|
|
return log_link_debug_errno(link, r, "Could not append IFLA_BRPORT_GUARD attribute: %m");
|
|
}
|
|
@@ -254,7 +254,7 @@ static int link_configure_fill_message(
|
|
}
|
|
|
|
if (link->network->allow_port_to_be_root >= 0) {
|
|
- r = sd_netlink_message_append_u8(req, IFLA_BRPORT_PROTECT, link->network->allow_port_to_be_root);
|
|
+ r = sd_netlink_message_append_u8(req, IFLA_BRPORT_PROTECT, !link->network->allow_port_to_be_root);
|
|
if (r < 0)
|
|
return log_link_debug_errno(link, r, "Could not append IFLA_BRPORT_PROTECT attribute: %m");
|
|
}
|
|
diff --git a/test/networkd-test.py b/test/networkd-test.py
|
|
index 4b5ba622fa..0a5ba11f89 100755
|
|
--- a/test/networkd-test.py
|
|
+++ b/test/networkd-test.py
|
|
@@ -291,8 +291,8 @@ Priority=23
|
|
self.assertEqual(self.read_attr('port2', 'brport/path_cost'), '555')
|
|
self.assertEqual(self.read_attr('port2', 'brport/multicast_fast_leave'), '1')
|
|
self.assertEqual(self.read_attr('port2', 'brport/unicast_flood'), '1')
|
|
- self.assertEqual(self.read_attr('port2', 'brport/bpdu_guard'), '1')
|
|
- self.assertEqual(self.read_attr('port2', 'brport/root_block'), '1')
|
|
+ self.assertEqual(self.read_attr('port2', 'brport/bpdu_guard'), '0')
|
|
+ self.assertEqual(self.read_attr('port2', 'brport/root_block'), '0')
|
|
|
|
class ClientTestBase(NetworkdTestingUtilities):
|
|
"""Provide common methods for testing networkd against servers."""
|
|
diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py
|
|
index 989020e0c6..37d2151a8d 100755
|
|
--- a/test/test-network/systemd-networkd-tests.py
|
|
+++ b/test/test-network/systemd-networkd-tests.py
|
|
@@ -3931,8 +3931,8 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
|
|
self.assertEqual(read_bridge_port_attr('bridge99', 'dummy98', 'neigh_suppress'), '1')
|
|
self.assertEqual(read_bridge_port_attr('bridge99', 'dummy98', 'learning'), '0')
|
|
self.assertEqual(read_bridge_port_attr('bridge99', 'dummy98', 'priority'), '23')
|
|
- self.assertEqual(read_bridge_port_attr('bridge99', 'dummy98', 'bpdu_guard'), '1')
|
|
- self.assertEqual(read_bridge_port_attr('bridge99', 'dummy98', 'root_block'), '1')
|
|
+ self.assertEqual(read_bridge_port_attr('bridge99', 'dummy98', 'bpdu_guard'), '0')
|
|
+ self.assertEqual(read_bridge_port_attr('bridge99', 'dummy98', 'root_block'), '0')
|
|
|
|
output = check_output('bridge -d link show test1')
|
|
print(output)
|
|
--
|
|
2.33.0
|
|
|