mirror of
https://github.com/dracutdevs/dracut.git
synced 2024-10-27 00:55:34 +03:00
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.
This commit is contained in:
parent
37383f7123
commit
80043e21c1
@ -80,6 +80,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
|
||||
|
||||
@ -112,8 +126,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\""
|
||||
@ -163,15 +176,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\""
|
||||
@ -198,22 +203,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
|
||||
|
||||
@ -225,17 +228,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
Block a user