On 22.12.2013 19:14, Armin K. wrote:
> On 22.12.2013 18:49, Bruce Dubbs wrote:

[snip]

>>
>> This brings up a question.  How does systemd handle bringing up a bridge
>> and attaching an ethernet connection?  In BLFS we do:
>>
>> ONBOOT=yes
>> IFACE=br0
>> SERVICE="bridge ipv4-static"  # Space separated
>> IP=192.168.0.22
>> GATEWAY=192.168.0.1
>> PREFIX=24
>> BROADCAST=192.168.0.255
>> CHECK_LINK=no                 # Don't check before bridge is created
>> STP=no                        # Spanning tree protocol, default no
>> INTERFACE_COMPONENTS="eth0"   # Add to IFACE, space separated devices
>> IP_FORWARD=true
>>
>> and the ifup, bridge, and ipv4-static scripts handle it.  How is this
>> done with systemd?
>>
>>     -- Bruce
>>
>
> Not sure, systemd runs "/sbin/ifup interface" at boot, but requires the
> "/etc/sysconfig/ifconfig.interface" and interface in /sys/class/net or
> whatever to be present in order to start it. We might need different
> unit to configure bridge, and that one might need to have a dependency
> on classic ifupdown service that configures the interface, so the bridge
> configuration is started after the interface has been configured properly.
>
> I am curious is this how lfs does it? First, it brings up the interface
> that's being bridged, then it creates the bridge?

I've just looked at lfs /etc/init.d/network and it seems it does the 
same for every interface - runs ifup $interface if 
/etc/sysconfig/ifconfig.$interface exists. Systemd allows to enable 
ifup/ifdown per-interface, but it checks that network interface must be 
present in /sys/subsystem/net/device and I don't think that this would 
work for br0, since it is being created by ifup script, am I right? The 
workaround would be just to remove checking for interface in 
/sys/subsystem/net/device. IIRC, Debian doesn't check for it either.

LFS systemd uses same ifup/ifdown scripts as in LFS, so everything 
should work as it does in standard LFS. Except that you'd need to run, 
eg systemctl enable ifupdown@br0 to enable bridge interface, and that 
/etc/sysconfig/ifconfig.br0 exists with the contents as bridge-utils-1.5 
page describes in BLFS.

dhclient script works flawlessly with this though, since I've tested lfs 
systemd in a VMware VM.

The fix for bridge to work is simply to remove line 3 from the systemd 
service file:

http://wiki.linuxfromscratch.org/lfs/browser/branches/systemd/BOOK/network-scripts/lfs/units/ifupdownat.service

If anyone cares to verify this, I'd be grateful. I don't have either a 
static ip setup nor a need for bridging interfaces since I use a laptop 
with wifi.
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to