ifcfg/write-ifcfg.sh: bind bond and bridge interfaces to HW
either by s390 SUBCHANNELS or HWADDR, if the interface name is not
persistent.
Previously, this was bound unconditionally with HWADDR.
(cherry picked from commit 80043e21c1
)
parent
4fa660ba8f
commit
efaa5b05df
|
@ -82,6 +82,20 @@ print_s390() {
|
|||
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
|
||||
|
||||
|
@ -114,8 +128,7 @@ for netup in /tmp/net.*.did-setup ; do
|
|||
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\""
|
||||
|
@ -165,15 +178,7 @@ for netup in /tmp/net.*.did-setup ; do
|
|||
# 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\""
|
||||
|
@ -200,22 +205,20 @@ for netup in /tmp/net.*.did-setup ; do
|
|||
|
||||
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
|
||||
|
||||
|
@ -227,17 +230,19 @@ for netup in /tmp/net.*.did-setup ; do
|
|||
} >> /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
|
||||
|
|
Loading…
Reference in New Issue