On Sun, Dec 22, 2013 at 10:26 AM, Armin K. <kre...@email.com> wrote:
> 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

Confirmed, removing the check to see if the interface exist is
necessary to create a network bridge.  (either that, or create an
alternative ifupdown that does not check to see if the network device
exists)

-- 
Nathan Coulson (conathan)
------
Location: British Columbia, Canada
Timezone: PST (-8)
Webpage: http://www.nathancoulson.com
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to