return 0
}
+interface_bind() {
+ local netif="$1"
+ local macaddr="$2"
+ if ! print_s390 $netif; then
+ if [ -z "$macaddr" ] && \
+ ! is_persistent_ethernet_name "$netif" && \
+ [ -f /sys/class/net/$netif/addr_assign_type ] && \
+ [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] && \
+ [ -f /sys/class/net/$netif/address ]; then
+ echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\""
+ fi
+ fi
+}
+
for netup in /tmp/net.*.did-setup ; do
[ -f $netup ] || continue
if [ "$netif" = "$vlanname" ]; then
vlan=yes
fi
- [ -e /sys/class/net/$netif/address ] && \
- cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
+
{
echo "# Generated by dracut initrd"
echo "DEVICE=\"$netif\""
# standard interface
{
[ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\""
- if ! print_s390 $netif; then
- if [ -z "$macaddr" ] && \
- ! is_persistent_ethernet_name "$netif" && \
- [ -f /sys/class/net/$netif/addr_assign_type ] && \
- [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] && \
- [ -f /sys/class/net/$netif/address ]; then
- echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\""
- fi
- fi
+ interface_bind "$netif" "$macaddr"
echo "TYPE=Ethernet"
echo "NAME=\"$netif\""
[ -n "$mtu" ] && echo "MTU=\"$mtu\""
for slave in $bondslaves ; do
# write separate ifcfg file for the raw eth interface
- {
+ (
echo "# Generated by dracut initrd"
echo "DEVICE=\"$slave\""
echo "TYPE=Ethernet"
echo "ONBOOT=yes"
echo "NETBOOT=yes"
- if [ -e /tmp/net.${netif}.${slave}.hwaddr ]; then
- echo "HWADDR=\"$(cat /tmp/net.${netif}.${slave}.hwaddr)\""
- else
- echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\""
- fi
echo "SLAVE=yes"
echo "MASTER=\"$netif\""
echo "NAME=\"$slave\""
echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\""
- } >> /tmp/ifcfg/ifcfg-$slave
+ [ -e /tmp/net.$slave.override ] && . /tmp/net.$slave.override
+ [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\""
+ interface_bind "$slave" "$macaddr"
+ ) >> /tmp/ifcfg/ifcfg-$slave
done
fi
} >> /tmp/ifcfg/ifcfg-$netif
for slave in $bridgeslaves ; do
# write separate ifcfg file for the raw eth interface
- {
+ (
echo "# Generated by dracut initrd"
echo "DEVICE=\"$slave\""
echo "TYPE=Ethernet"
echo "ONBOOT=yes"
echo "NETBOOT=yes"
- echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\""
echo "BRIDGE=\"$bridgename\""
echo "NAME=\"$slave\""
echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\""
- } >> /tmp/ifcfg/ifcfg-$slave
+ [ -e /tmp/net.$slave.override ] && . /tmp/net.$slave.override
+ [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\""
+ interface_bind "$slave" "$macaddr"
+ ) >> /tmp/ifcfg/ifcfg-$slave
done
fi
i=1