diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c index 7c38708121b..15edc7aed64 100644 --- a/src/network/netdev/bridge.c +++ b/src/network/netdev/bridge.c @@ -121,7 +121,7 @@ static int netdev_bridge_post_create_message(NetDev *netdev, sd_netlink_message } if (b->vlan_protocol >= 0) { - r = sd_netlink_message_append_u16(req, IFLA_BR_VLAN_PROTOCOL, b->vlan_protocol); + r = sd_netlink_message_append_u16(req, IFLA_BR_VLAN_PROTOCOL, htobe16(b->vlan_protocol)); if (r < 0) return r; } diff --git a/test/test-network/conf/25-bridge.netdev b/test/test-network/conf/25-bridge.netdev index 6d8cea9021c..d9d6f6e7922 100644 --- a/test/test-network/conf/25-bridge.netdev +++ b/test/test-network/conf/25-bridge.netdev @@ -6,10 +6,14 @@ Kind=bridge [Bridge] HelloTimeSec=9 MaxAgeSec=9 -ForwardDelaySec=9 AgeingTimeSec=9 +ForwardDelaySec=9 Priority=9 -MulticastQuerier= true -MulticastSnooping=true +#GroupForwardMask=9 # This interferes other other settings +DefaultPVID=9 +MulticastQuerier=yes +MulticastSnooping=yes +VLANFiltering=yes +VLANProtocol=802.1ad STP=true MulticastIGMPVersion=3 diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index e3fd85d4f2e..6fc8398e0f6 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -1185,6 +1185,12 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): self.assertRegex(output, 'STP: yes') self.assertRegex(output, 'Multicast IGMP Version: 3') + output = check_output('ip -d link show bridge99') + print(output) + self.assertIn('vlan_filtering 1 ', output) + self.assertIn('vlan_protocol 802.1ad ', output) + self.assertIn('vlan_default_pvid 9 ', output) + def test_bond(self): copy_unit_to_networkd_unit_path('25-bond.netdev', '25-bond-balanced-tlb.netdev') start_networkd()