network: make degraded-carrier bond/bridge as routable (#27776)
This makes a bond or bridge interface in the degraded-carrier state but has a routable address handled as routable operational state. If the carrier is degraded but the address state is routable then the operational state should be seen as routable and not degraded because that may be the case for bonds if some of the links are down, but when that happens the bond as whole is still routable. This also makes operational state to degraded if address state is degraded even if the link state is degraded-carrier. Fixes #22713.
This commit is contained in:
@@ -3950,7 +3950,7 @@ class NetworkdBondTests(unittest.TestCase, Utilities):
|
||||
|
||||
self.wait_operstate('dummy98', 'off')
|
||||
self.wait_operstate('test1', 'enslaved')
|
||||
self.wait_operstate('bond99', 'degraded-carrier')
|
||||
self.wait_operstate('bond99', 'routable')
|
||||
|
||||
check_output('ip link set dummy98 up')
|
||||
|
||||
@@ -4121,7 +4121,7 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
|
||||
self.assertRegex(output, 'ff00::/8 table local (proto kernel )?metric 256 (linkdown )?pref medium')
|
||||
|
||||
remove_link('test1')
|
||||
self.wait_operstate('bridge99', 'degraded-carrier')
|
||||
self.wait_operstate('bridge99', 'routable')
|
||||
|
||||
output = check_output('ip -d link show bridge99')
|
||||
print(output)
|
||||
|
||||
Reference in New Issue
Block a user