Bug 81979 - [215] systemd-network: bridge with static settings does not work
Summary: [215] systemd-network: bridge with static settings does not work
Status: RESOLVED FIXED
Alias: None
Product: systemd
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Tom Gundersen
QA Contact: systemd-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-31 20:50 UTC by Gerardo Exequiel Pozzi
Modified: 2014-10-24 20:19 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
SYSTEMD_LOG_LEVEL=debug of systemd-networkd (5.02 KB, text/plain)
2014-07-31 20:50 UTC, Gerardo Exequiel Pozzi
Details

Description Gerardo Exequiel Pozzi 2014-07-31 20:50:14 UTC
Created attachment 103767 [details]
SYSTEMD_LOG_LEVEL=debug of systemd-networkd

Setting up a bridge with systemd-networkd does not works for me. I can not reach other hosts on the same network (i.e. ping the default gateway).
Doing things manually with iproute2 works fine.
The output of "ip addr" looks same in both cases.


-- br0.netdev --
[NetDev]
Name=br0
Kind=bridge
----

-- br0.network --
[Match]
Name=br0

[Network]
Address=192.168.0.77/24
Gateway=192.168.0.1
----

-- enp0s16.network --
[Match]
Name=enp0s16

[Network]
Bridge=br0
----

This is are the steps I am doing for the same thing, that works:
----
ip link add name br0 type bridge
ip addr add 192.168.0.77/24 broadcast + dev br0
ip link set dev enp0s16 master br0
ip link set dev br0 up
ip link set dev enp0s16 up
ip route add default via 192.168.0.1
----


In both cases the output of "ip addr" is:

----
2: enp0s16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
master br0 state UP group default qlen 1000
    link/ether 00:17:31:bb:44:19 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::217:31ff:febb:4419/64 scope link
       valid_lft forever preferred_lft forever
8: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
UP group default
    link/ether 00:17:31:bb:44:19 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.77/24 brd 192.168.0.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::217:31ff:febb:4419/64 scope link
       valid_lft forever preferred_lft forever
----

and output of "bridge fdb":
----
01:00:5e:00:00:01 dev enp0s16 self permanent
33:33:00:00:00:01 dev enp0s16 self permanent
33:33:ff:bb:44:19 dev enp0s16 self permanent
00:19:3e:ea:c5:54 dev enp0s16 vlan 0
00:21:29:98:d4:f3 dev enp0s16 vlan 0
00:17:31:bb:44:19 dev enp0s16 vlan 0 permanent
----

If after start networkd, I set br0 to promisc executing "ip
link set br0 promisc on", network works fine, but of course now "br0"
shows PROMISC under "ip link".


OS: Arch Linux (x86_64) running on Linux 3.10.50, systemd-215-4

If more info is needed please let me know.
Comment 1 Tom Gundersen 2014-08-01 11:50:33 UTC
Hm, does your bridge get the same mac address when set up by networkd as when set up by ip? If not, can you reproduce the problem if you explicitly set the mac address of the bridge to something else when setting it up using ip?
Comment 2 Gerardo Exequiel Pozzi 2014-08-01 15:04:06 UTC
Interesting. br0 gets a random macaddr everytime that is created, but after:

ip link set dev enp0s16 master br0

macaddr of br0 is changed to the macaddr of enps16. This does not happens with networkd, so the random macaddr is keep. In this case, if I set manually the macaddr of br0 to the macaddr of enp0s16 with:

ip link set br0 address 00:17:31:bb:44:19

network is working again.
Comment 3 Tom Gundersen 2014-08-15 14:20:31 UTC
Thanks for getting back to me. That really does sound like a kernel bug, but I'll try to figure it out.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.