diff --git a/SOURCES/0161-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch b/SOURCES/0161-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch new file mode 100644 index 0000000..37c7d95 --- /dev/null +++ b/SOURCES/0161-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch @@ -0,0 +1,63 @@ +From df308c56c5e917e24d57357797e213a792fdeeb8 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 4 Apr 2014 12:48:03 +0200 +Subject: [PATCH] ifcfg: do not bind persistent interface names to HWADDR + +(cherry picked from commit fb0e5184a6506185998fd12d151f7d34d07c07b3) +--- + modules.d/40network/net-lib.sh | 27 +++++++++++++++++++++++++++ + modules.d/45ifcfg/write-ifcfg.sh | 6 +++++- + 2 files changed, 32 insertions(+), 1 deletion(-) + +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index 7430e4c..5d4ae32 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -516,3 +516,30 @@ find_iface_with_link() { + done + return 1 + } ++ ++is_persistent_ethernet_name() { ++ [ -f /sys/class/net/$netif/addr_assign_type ] || return 1 ++ [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] || return 1 ++ ++ case "$1" in ++ # udev persistent interface names ++ eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*) ++ ;; ++ eno[0-9]|eno[0-9][0-9]|eno[0-9][0-9][0-9]*) ++ ;; ++ ens[0-9]|ens[0-9][0-9]|ens[0-9][0-9][0-9]*) ++ ;; ++ enp[0-9]s[0-9]*|enp[0-9][0-9]s[0-9]*|enp[0-9][0-9][0-9]*s[0-9]*) ++ ;; ++ enP*p[0-9]s[0-9]*|enP*p[0-9][0-9]s[0-9]*|enP*p[0-9][0-9][0-9]*s[0-9]*) ++ ;; ++ # biosdevname ++ em[0-9]|em[0-9][0-9]|em[0-9][0-9][0-9]*) ++ ;; ++ p[0-9]p[0-9]*|p[0-9][0-9]p[0-9]*|p[0-9][0-9][0-9]*p[0-9]*) ++ ;; ++ *) ++ return 1 ++ esac ++ return 0 ++} +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index 486c69a..2631fbe 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -164,7 +164,11 @@ for netup in /tmp/net.*.did-setup ; do + { + [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\"" + if ! print_s390 $netif; then +- [ -n "$macaddr" ] || echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\"" ++ if [ -z "$macaddr" ] && \ ++ ! is_persistent_ethernet_name "$netif" && \ ++ [ -f /sys/class/net/$netif/address ]; then ++ echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\"" ++ fi + fi + echo "TYPE=Ethernet" + echo "NAME=\"$netif\"" diff --git a/SOURCES/0162-ifcfg-only-bind-to-HWADDR-if-addr_assign_type-0.patch b/SOURCES/0162-ifcfg-only-bind-to-HWADDR-if-addr_assign_type-0.patch new file mode 100644 index 0000000..cc8b3f7 --- /dev/null +++ b/SOURCES/0162-ifcfg-only-bind-to-HWADDR-if-addr_assign_type-0.patch @@ -0,0 +1,41 @@ +From 8edfe0d0d1758f95327ee2bc7ff8c86fa1f08f31 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 4 Apr 2014 12:52:39 +0200 +Subject: [PATCH] ifcfg: only bind to HWADDR, if addr_assign_type == 0 + +/sys/class/net/$netif/addr_assign_type is != 0 for random MAC address +interfaces + +(cherry picked from commit 2e094b20a6875fdb0a7ef8772e3d7688ad91c036) +--- + modules.d/40network/net-lib.sh | 3 --- + modules.d/45ifcfg/write-ifcfg.sh | 2 ++ + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index 5d4ae32..d53e1a6 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -518,9 +518,6 @@ find_iface_with_link() { + } + + is_persistent_ethernet_name() { +- [ -f /sys/class/net/$netif/addr_assign_type ] || return 1 +- [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] || return 1 +- + case "$1" in + # udev persistent interface names + eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*) +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index 2631fbe..5dc351d 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -166,6 +166,8 @@ for netup in /tmp/net.*.did-setup ; do + 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 diff --git a/SOURCES/0163-ifcfg-write-ifcfg.sh-include-net-lib.sh.patch b/SOURCES/0163-ifcfg-write-ifcfg.sh-include-net-lib.sh.patch new file mode 100644 index 0000000..ef93484 --- /dev/null +++ b/SOURCES/0163-ifcfg-write-ifcfg.sh-include-net-lib.sh.patch @@ -0,0 +1,25 @@ +From 3f286a37fcfdb819b020527db8673ca659687b75 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 16 May 2014 13:32:47 +0200 +Subject: [PATCH] ifcfg/write-ifcfg.sh: include net-lib.sh + +otherwise is_persistent_ethernet_name() is missing + +(cherry picked from commit 8fa1afb65cef30d56ce2e141b0b594cf780120a1) +--- + modules.d/45ifcfg/write-ifcfg.sh | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index 5dc351d..e1e2448 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -3,6 +3,8 @@ + # ex: ts=8 sw=4 sts=4 et filetype=sh + + # NFS root might have reached here before /tmp/net.ifaces was written ++type is_persistent_ethernet_name >/dev/null 2>&1 || . /lib/net-lib.sh ++ + udevadm settle --timeout=30 + + if [ -e /tmp/bridge.info ]; then diff --git a/SOURCES/0164-Do-not-reload-systemd-with-wait_for_dev.patch b/SOURCES/0164-Do-not-reload-systemd-with-wait_for_dev.patch new file mode 100644 index 0000000..4376748 --- /dev/null +++ b/SOURCES/0164-Do-not-reload-systemd-with-wait_for_dev.patch @@ -0,0 +1,103 @@ +From a110aa35c4e91e2f93c4fc2c7e83120433280393 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 5 Feb 2014 13:12:29 +0100 +Subject: [PATCH] Do not reload systemd with wait_for_dev + +(cherry picked from commit 352d557d4d94042e321b4acc81eeab8691e19f42) +--- + modules.d/90dmsquash-live/dmsquash-live-genrules.sh | 2 +- + modules.d/90dmsquash-live/parse-dmsquash-live.sh | 2 +- + modules.d/90livenet/parse-livenet.sh | 2 +- + modules.d/90lvm/parse-lvm.sh | 2 +- + modules.d/95iscsi/iscsiroot.sh | 2 +- + modules.d/95nbd/nbdroot.sh | 2 +- + modules.d/95nbd/parse-nbdroot.sh | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/modules.d/90dmsquash-live/dmsquash-live-genrules.sh b/modules.d/90dmsquash-live/dmsquash-live-genrules.sh +index b27fccc..0f51ed4 100755 +--- a/modules.d/90dmsquash-live/dmsquash-live-genrules.sh ++++ b/modules.d/90dmsquash-live/dmsquash-live-genrules.sh +@@ -9,7 +9,7 @@ case "$root" in + printf 'SYMLINK=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root $env{DEVNAME}"\n' \ + ${root#live:/dev/} + } >> /etc/udev/rules.d/99-live-squash.rules +- wait_for_dev "${root#live:}" ++ wait_for_dev -n "${root#live:}" + ;; + live:*) + if [ -f "${root#live:}" ]; then +diff --git a/modules.d/90dmsquash-live/parse-dmsquash-live.sh b/modules.d/90dmsquash-live/parse-dmsquash-live.sh +index a5564e2..6e54dfe 100755 +--- a/modules.d/90dmsquash-live/parse-dmsquash-live.sh ++++ b/modules.d/90dmsquash-live/parse-dmsquash-live.sh +@@ -56,4 +56,4 @@ info "root was $liveroot, is now $root" + # make sure that init doesn't complain + [ -z "$root" ] && root="live" + +-wait_for_dev /dev/mapper/live-rw ++wait_for_dev -n /dev/mapper/live-rw +diff --git a/modules.d/90livenet/parse-livenet.sh b/modules.d/90livenet/parse-livenet.sh +index 6c847ba..a6b2842 100755 +--- a/modules.d/90livenet/parse-livenet.sh ++++ b/modules.d/90livenet/parse-livenet.sh +@@ -27,7 +27,7 @@ if get_url_handler "$liveurl" >/dev/null; then + netroot="livenet:$liveurl" + root="livenet" # quiet complaints from init + rootok=1 +- wait_for_dev /dev/root ++ wait_for_dev -n /dev/root + else + info "livenet: no url handler for $liveurl" + fi +diff --git a/modules.d/90lvm/parse-lvm.sh b/modules.d/90lvm/parse-lvm.sh +index 74e1d43..d69cb45 100755 +--- a/modules.d/90lvm/parse-lvm.sh ++++ b/modules.d/90lvm/parse-lvm.sh +@@ -13,7 +13,7 @@ if ! getargbool 1 rd.lvm -d -n rd_NO_LVM \ + rm -f -- /etc/udev/rules.d/64-lvm*.rules + else + for dev in $LV_DEVS; do +- wait_for_dev "/dev/$dev" ++ wait_for_dev -n "/dev/$dev" + done + fi + +diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh +index 54f4990..1de6fb7 100755 +--- a/modules.d/95iscsi/iscsiroot.sh ++++ b/modules.d/95iscsi/iscsiroot.sh +@@ -156,7 +156,7 @@ handle_netroot() + printf 'SYMLINK=="disk/by-path/*-iscsi-*-%s", SYMLINK+="root"\n' $iscsi_lun >> /etc/udev/rules.d/99-iscsi-root.rules + udevadm control --reload + write_fs_tab /dev/root +- wait_for_dev /dev/root ++ wait_for_dev -n /dev/root + + # install mount script + [ -z "$DRACUT_SYSTEMD" ] && \ +diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh +index 2e9d917..32f346d 100755 +--- a/modules.d/95nbd/nbdroot.sh ++++ b/modules.d/95nbd/nbdroot.sh +@@ -102,7 +102,7 @@ if [ "$root" = "block:/dev/root" -o "$root" = "dhcp" ]; then + udevadm control --reload + type write_fs_tab >/dev/null 2>&1 || . /lib/fs-lib.sh + write_fs_tab /dev/root "$nbdfstype" "$fsopts" +- wait_for_dev /dev/root ++ wait_for_dev -n /dev/root + + if [ -z "$DRACUT_SYSTEMD" ]; then + printf '/bin/mount %s\n' \ +diff --git a/modules.d/95nbd/parse-nbdroot.sh b/modules.d/95nbd/parse-nbdroot.sh +index 49c44b6..fe5a7fa 100755 +--- a/modules.d/95nbd/parse-nbdroot.sh ++++ b/modules.d/95nbd/parse-nbdroot.sh +@@ -61,6 +61,6 @@ rootok=1 + # Shut up init error check + if [ -z "$root" ]; then + root=block:/dev/root +- wait_for_dev /dev/root ++ wait_for_dev -n /dev/root + fi + diff --git a/SOURCES/0165-network-net-lib.sh-is_persistent_ethernet_name-eth-i.patch b/SOURCES/0165-network-net-lib.sh-is_persistent_ethernet_name-eth-i.patch new file mode 100644 index 0000000..37153cd --- /dev/null +++ b/SOURCES/0165-network-net-lib.sh-is_persistent_ethernet_name-eth-i.patch @@ -0,0 +1,25 @@ +From 00314340d4a99a3856e962652e97e808f45027ea Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 23 Oct 2014 14:34:33 +0200 +Subject: [PATCH] network/net-lib.sh:is_persistent_ethernet_name() eth* is not + +eth* is _not_ a persistent ethernet name... tsk, tsk, tsk + +(cherry picked from commit 05065741f01e78119f1883f199820b804460c58d) +--- + modules.d/40network/net-lib.sh | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index d53e1a6..5f48c95 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -520,8 +520,6 @@ find_iface_with_link() { + is_persistent_ethernet_name() { + case "$1" in + # udev persistent interface names +- eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*) +- ;; + eno[0-9]|eno[0-9][0-9]|eno[0-9][0-9][0-9]*) + ;; + ens[0-9]|ens[0-9][0-9]|ens[0-9][0-9][0-9]*) diff --git a/SOURCES/0166-ifcfg-depends-on-network.patch b/SOURCES/0166-ifcfg-depends-on-network.patch new file mode 100644 index 0000000..bda554e --- /dev/null +++ b/SOURCES/0166-ifcfg-depends-on-network.patch @@ -0,0 +1,22 @@ +From 33ce29748f4e68b5c1976ae89be5e033b866d168 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 30 Jun 2014 11:28:08 +0200 +Subject: [PATCH] ifcfg: depends on network + +(cherry picked from commit f1a38e5294b76c60b7614ec29ed56eccc4ed078a) +--- + modules.d/45ifcfg/module-setup.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/45ifcfg/module-setup.sh b/modules.d/45ifcfg/module-setup.sh +index ce53e5e..4299fea 100755 +--- a/modules.d/45ifcfg/module-setup.sh ++++ b/modules.d/45ifcfg/module-setup.sh +@@ -8,6 +8,7 @@ check() { + } + + depends() { ++ echo "network" + return 0 + } + diff --git a/SOURCES/0167-network-add-rd.route-parameter.patch b/SOURCES/0167-network-add-rd.route-parameter.patch new file mode 100644 index 0000000..6f9512c --- /dev/null +++ b/SOURCES/0167-network-add-rd.route-parameter.patch @@ -0,0 +1,126 @@ +From 655656a8a20f1540818f131fc2358ab51690a6a3 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 22 Jul 2014 11:03:56 +0200 +Subject: [PATCH] network: add rd.route parameter + +(cherry picked from commit 7b46244bb94e3dfd635a8d222044ae7fc920240d) +--- + dracut.cmdline.7.asc | 15 +++++++++++++- + modules.d/40network/net-lib.sh | 42 ++++++++++++++++++++++++++++++++++++++++ + modules.d/45ifcfg/write-ifcfg.sh | 3 +++ + 3 files changed, 59 insertions(+), 1 deletion(-) + +diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc +index 985285b..2b872c0 100644 +--- a/dracut.cmdline.7.asc ++++ b/dracut.cmdline.7.asc +@@ -487,6 +487,19 @@ WARNING: Do **not** use the default kernel naming scheme for the interface name, + as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the + interface name. Better name it "bootnet" or "bluesocket". + ++**rd.route=**____/____:____[:____]:: ++ Add a static route with route options, which are separated by a colon. ++ IPv6 addresses have to be put in brackets. +++ ++[listing] ++.Example ++-- ++ rd.route=192.168.200.0/24:192.168.100.222:ens10 ++ rd.route=192.168.200.0/24:192.168.100.222 ++ rd.route=192.168.200.0/24::ens10 ++ rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10 ++-- ++ + **bootdev=**____:: + specify network interface to use routing and netroot information from. + Required if multiple ip= lines are used. +@@ -534,7 +547,7 @@ NFS + ~~~ + **root=**\[__:]____[:____]:: + mount nfs share from :/, if no server-ip is given, use +- dhcp next_server. if server-ip is an IPv6 address it has to be put in ++ dhcp next_server. If server-ip is an IPv6 address it has to be put in + brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix + ":" or "," and are seperated by ",". + +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index 5f48c95..d178353 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -89,6 +89,7 @@ ifdown() { + + setup_net() { + local netif="$1" f="" gw_ip="" netroot_ip="" iface="" IFACES="" ++ local _p + [ -e /tmp/net.$netif.did-setup ] && return + [ -e /sys/class/net/$netif/address ] && \ + [ -e /tmp/net.$(cat /sys/class/net/$netif/address).did-setup ] && return +@@ -103,6 +104,20 @@ setup_net() { + [ -e /tmp/net.$netif.resolv.conf ] && \ + cp -f /tmp/net.$netif.resolv.conf /etc/resolv.conf + ++ # add static route ++ for _p in $(getargs rd.route); do ++ route_to_var "$_p" || continue ++ [ -n "$route_dev" ] && [ "$route_dev" != "$netif"] && continue ++ ip route add "$route_mask" ${route_gw:+via "$route_gw"} ${route_dev:+dev "$route_dev"} ++ if strstr ":" "$route_mask"; then ++ printf -- "%s\n" "$route_mask ${route_gw:+via $route_gw} ${route_dev:+dev $route_dev}" \ ++ > /tmp/net.route6."$netif" ++ else ++ printf -- "%s\n" "$route_mask ${route_gw:+via $route_gw} ${route_dev:+dev $route_dev}" \ ++ > /tmp/net.route."$netif" ++ fi ++ done ++ + # Handle STP Timeout: arping the default gateway. + # (or the root server, if a) it's local or b) there's no gateway.) + # Note: This assumes that if no router is present the +@@ -395,6 +410,33 @@ ip_to_var() { + fi + } + ++route_to_var() { ++ local v=${1}: ++ local i ++ set -- ++ while [ -n "$v" ]; do ++ if [ "${v#\[*:*:*\]:}" != "$v" ]; then ++ # handle IPv6 address ++ i="${v%%\]:*}" ++ i="${i##\[}" ++ set -- "$@" "$i" ++ v=${v#\[$i\]:} ++ else ++ set -- "$@" "${v%%:*}" ++ v=${v#*:} ++ fi ++ done ++ ++ unset route_mask route_gw route_dev ++ case $# in ++ 2) [ -n "$1" ] && route_mask="$1"; [ -n "$2" ] && route_gw="$2" ++ return 0;; ++ 3) [ -n "$1" ] && route_mask="$1"; [ -n "$2" ] && route_gw="$2"; [ -n "$3" ] && route_dev="$3" ++ return 0;; ++ *) return 1;; ++ esac ++} ++ + parse_ifname_opts() { + local IFS=: + set $1 +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index e1e2448..7548226 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -264,6 +264,9 @@ for netup in /tmp/net.*.did-setup ; do + echo "DNS${i}=\"${ns}\"" >> /tmp/ifcfg/ifcfg-$netif + i=$((i+1)) + done ++ ++ [ -f /tmp/net.route6."$netif" ] && cp /tmp/net.route6."$netif" /tmp/ifcfg/route6-"$netif" ++ [ -f /tmp/net.route."$netif" ] && cp /tmp/net.route."$netif" /tmp/ifcfg/route-"$netif" + done + + # Pass network opts diff --git a/SOURCES/0168-fixed-bridge-setup.patch b/SOURCES/0168-fixed-bridge-setup.patch new file mode 100644 index 0000000..98afd3b --- /dev/null +++ b/SOURCES/0168-fixed-bridge-setup.patch @@ -0,0 +1,172 @@ +From 4c96851f18196236a63a126c4fc4377b21402cc5 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 1 Aug 2014 13:16:29 +0200 +Subject: [PATCH] fixed bridge setup + +renamed "ethnames" in bridge.info to "bridgeslaves" + +fixed ifcfg generation + +(cherry picked from commit 2db6d7111870c5d16d812d9cddc23558f3f4a202) +--- + modules.d/40network/ifup.sh | 4 ++-- + modules.d/40network/net-genrules.sh | 2 +- + modules.d/40network/parse-bridge.sh | 18 ++++++++-------- + modules.d/45ifcfg/write-ifcfg.sh | 42 +++++++++---------------------------- + 4 files changed, 22 insertions(+), 44 deletions(-) + +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index ede0188..a50f45d 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -60,7 +60,7 @@ fi + # bridge this interface? + if [ -e /tmp/bridge.info ]; then + . /tmp/bridge.info +- for ethname in $ethnames ; do ++ for ethname in $bridgeslaves ; do + if [ "$netif" = "$ethname" ]; then + if [ "$netif" = "$bondname" ] && [ -n "$DO_BOND_SETUP" ] ; then + : # We need to really setup bond (recursive call) +@@ -234,7 +234,7 @@ if [ -e /tmp/bridge.info ]; then + if [ "$netif" = "$bridgename" ] && [ ! -e /tmp/net.$bridgename.up ]; then + brctl addbr $bridgename + brctl setfd $bridgename 0 +- for ethname in $ethnames ; do ++ for ethname in $bridgeslaves ; do + if [ "$ethname" = "$bondname" ] ; then + DO_BOND_SETUP=yes ifup $bondname -m + elif [ "$ethname" = "$teammaster" ] ; then +diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh +index af2f09c..a43e3df 100755 +--- a/modules.d/40network/net-genrules.sh ++++ b/modules.d/40network/net-genrules.sh +@@ -16,7 +16,7 @@ command -v fix_bootif >/dev/null || . /lib/net-lib.sh + # bridge: attempt only the defined interface + if [ -e /tmp/bridge.info ]; then + . /tmp/bridge.info +- IFACES="$IFACES ${ethnames%% *}" ++ IFACES="$IFACES ${bridgeslaves%% *}" + MASTER_IFACES="$MASTER_IFACES $bridgename" + fi + +diff --git a/modules.d/40network/parse-bridge.sh b/modules.d/40network/parse-bridge.sh +index 8c305c0..a910109 100755 +--- a/modules.d/40network/parse-bridge.sh ++++ b/modules.d/40network/parse-bridge.sh +@@ -3,9 +3,9 @@ + # ex: ts=8 sw=4 sts=4 et filetype=sh + # + # Format: +-# bridge=: ++# bridge=: + # +-# is a comma-separated list of physical (ethernet) interfaces ++# is a comma-separated list of physical (ethernet) interfaces + # bridge without parameters assumes bridge=br0:eth0 + # + +@@ -25,20 +25,20 @@ parsebridge() { + v=${v#*:} + done + +- unset bridgename ethnames ++ unset bridgename bridgeslaves + case $# in +- 0) bridgename=br0; ethnames=$iface ;; ++ 0) bridgename=br0; bridgeslaves=$iface ;; + 1) die "bridge= requires two parameters" ;; +- 2) bridgename=$1; ethnames=$(str_replace "$2" "," " ") ;; ++ 2) bridgename=$1; bridgeslaves=$(str_replace "$2" "," " ") ;; + *) die "bridge= requires two parameters" ;; + esac + } + +-unset bridgename ethnames ++unset bridgename bridgeslaves + + iface=eth0 + +-# Parse bridge for bridgename and ethnames ++# Parse bridge for bridgename and bridgeslaves + if bridge="$(getarg bridge)"; then + # Read bridge= parameters if they exist + if [ -n "$bridge" ]; then +@@ -47,9 +47,9 @@ if bridge="$(getarg bridge)"; then + # Simple default bridge + if [ -z "$bridgename" ]; then + bridgename=br0 +- ethnames=$iface ++ bridgeslaves=$iface + fi + echo "bridgename=$bridgename" > /tmp/bridge.info +- echo "ethnames=\"$ethnames\"" >> /tmp/bridge.info ++ echo "bridgeslaves=\"$bridgeslaves\"" >> /tmp/bridge.info + return + fi +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index 7548226..fa83a82 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -210,6 +210,7 @@ for netup in /tmp/net.*.did-setup ; do + echo "SLAVE=yes" + echo "MASTER=\"$netif\"" + echo "NAME=\"$slave\"" ++ echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" + } >> /tmp/ifcfg/ifcfg-$slave + done + fi +@@ -220,44 +221,21 @@ for netup in /tmp/net.*.did-setup ; do + echo "TYPE=Bridge" + echo "NAME=\"$netif\"" + } >> /tmp/ifcfg/ifcfg-$netif +- if [ "$ethname" = "$bondname" ] ; then +- { +- echo "# Generated by dracut initrd" +- echo "DEVICE=\"$bondname\"" +- echo "ONBOOT=yes" +- echo "NETBOOT=yes" +- # This variable is an indicator of a bond interface for initscripts +- echo "BONDING_OPTS=\"$bondoptions\"" +- echo "BRIDGE=\"$netif\"" +- echo "NAME=\"$bondname\"" +- } >> /tmp/ifcfg/ifcfg-$bondname +- 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" +- echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" +- echo "SLAVE=yes" +- echo "MASTER=\"$bondname\"" +- echo "NAME=\"$slave\"" +- } >> /tmp/ifcfg/ifcfg-$slave +- done +- else ++ for slave in $bridgeslaves ; do + # write separate ifcfg file for the raw eth interface + { + echo "# Generated by dracut initrd" +- echo "DEVICE=\"$ethname\"" ++ echo "DEVICE=\"$slave\"" + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" +- echo "HWADDR=\"$(cat /sys/class/net/$ethname/address)\"" +- echo "BRIDGE=\"$netif\"" +- echo "NAME=\"$ethname\"" +- } >> /tmp/ifcfg/ifcfg-$ethname +- fi ++ echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" ++ echo "SLAVE=yes" ++ echo "MASTER=\"$bridgename\"" ++ echo "NAME=\"$slave\"" ++ echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" ++ } >> /tmp/ifcfg/ifcfg-$slave ++ done + fi + i=1 + for ns in $(getargs nameserver); do diff --git a/SOURCES/0169-bridging-update-the-ifcfg-files-generated-for-bridge.patch b/SOURCES/0169-bridging-update-the-ifcfg-files-generated-for-bridge.patch new file mode 100644 index 0000000..ec11014 --- /dev/null +++ b/SOURCES/0169-bridging-update-the-ifcfg-files-generated-for-bridge.patch @@ -0,0 +1,30 @@ +From ab886c76279775f3326116a65104ff26457e0a83 Mon Sep 17 00:00:00 2001 +From: Alex Harpin +Date: Sat, 2 Aug 2014 20:08:25 +0100 +Subject: [PATCH] bridging: update the ifcfg files generated for bridge slaves + +Update the ifcfg files generated for bridge slaves so they reference +the bridge they are part of. Related to early patch submitted as a +fix for Bug #1123552. + +Bug #1123552 https://bugzilla.redhat.com/show_bug.cgi?id=1123552 + +(cherry picked from commit 32125a976bb6ff67768ca813446743b781ba012f) +--- + modules.d/45ifcfg/write-ifcfg.sh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index fa83a82..6fcf2c4 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -230,8 +230,7 @@ for netup in /tmp/net.*.did-setup ; do + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" +- echo "SLAVE=yes" +- echo "MASTER=\"$bridgename\"" ++ echo "BRIDGE=\"$bridgename\"" + echo "NAME=\"$slave\"" + echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" + } >> /tmp/ifcfg/ifcfg-$slave diff --git a/SOURCES/0170-bonding-use-hwaddr-of-the-slave-rather-than-the-mast.patch b/SOURCES/0170-bonding-use-hwaddr-of-the-slave-rather-than-the-mast.patch new file mode 100644 index 0000000..73edd31 --- /dev/null +++ b/SOURCES/0170-bonding-use-hwaddr-of-the-slave-rather-than-the-mast.patch @@ -0,0 +1,50 @@ +From e47818e4ae8633b52df28d7549db2f8956f65b11 Mon Sep 17 00:00:00 2001 +From: Alex Harpin +Date: Tue, 6 May 2014 23:41:17 +0100 +Subject: [PATCH] bonding: use hwaddr of the slave rather than the master + +When a bonded interface is brought up, any slaves included in the bond +have their hardware address set to that of the bond master. Although +this allows an interface to be brought up on start up, when the +configuration file is imported into the booted system it prevents +the bonded interface being successfully restarted. + +The fix involves obtaining the hardware address of the slaves before +they are added to the bond and then using this value in the +configuration file. + +(cherry picked from commit 83c9ff7dbb465bedb10119bb2883d34266922180) +--- + modules.d/40network/ifup.sh | 1 + + modules.d/45ifcfg/write-ifcfg.sh | 6 +++++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index a50f45d..178e7f4 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -188,6 +188,7 @@ if [ -e /tmp/bond.${netif}.info ]; then + + for slave in $bondslaves ; do + ip link set $slave down ++ cat /sys/class/net/$slave/address > /tmp/net.${netif}.${slave}.hwaddr + echo "+$slave" > /sys/class/net/$bondname/bonding/slaves + linkup $slave + done +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index 6fcf2c4..9edbead 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -206,7 +206,11 @@ for netup in /tmp/net.*.did-setup ; do + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" +- echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\"" ++ 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\"" diff --git a/SOURCES/0171-ifcfg-write-ifcfg.sh-bind-bond-and-bridge-interfaces.patch b/SOURCES/0171-ifcfg-write-ifcfg.sh-bind-bond-and-bridge-interfaces.patch new file mode 100644 index 0000000..9d5b571 --- /dev/null +++ b/SOURCES/0171-ifcfg-write-ifcfg.sh-bind-bond-and-bridge-interfaces.patch @@ -0,0 +1,118 @@ +From 2a77da7015dfaa55429f1329dccbe9445ca51561 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 12 Sep 2014 09:48:00 +0200 +Subject: [PATCH] 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 80043e21c16db168ad087a162f1fa97cae866c8d) +--- + modules.d/45ifcfg/write-ifcfg.sh | 47 ++++++++++++++++++++++------------------ + 1 file changed, 26 insertions(+), 21 deletions(-) + +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index 9edbead..0395e05 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -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 diff --git a/SOURCES/0172-ifcfg-write-ifcfg-only-write-DEVICE-for-non-kernel-n.patch b/SOURCES/0172-ifcfg-write-ifcfg-only-write-DEVICE-for-non-kernel-n.patch new file mode 100644 index 0000000..06ba65f --- /dev/null +++ b/SOURCES/0172-ifcfg-write-ifcfg-only-write-DEVICE-for-non-kernel-n.patch @@ -0,0 +1,189 @@ +From 5f6b68ac91103cd66ff79dc65b35ac0f613e4957 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 24 Oct 2014 15:47:24 +0200 +Subject: [PATCH] ifcfg/write-ifcfg: only write DEVICE for non-kernel names + +Rename an interface to the kernel namespace is not allowed, so don't add +DEVICE="", if HWADDR is given. + +(cherry picked from commit 3947f07d93cde5e1cf0d788537e93b135d6c27b0) +--- + modules.d/40network/net-lib.sh | 46 ++++++++++++++++++++++++++++++- + modules.d/45ifcfg/write-ifcfg.sh | 59 ++++++++++++++++++++++++++-------------- + 2 files changed, 84 insertions(+), 21 deletions(-) + +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index d178353..c39889a 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -560,7 +560,19 @@ find_iface_with_link() { + } + + is_persistent_ethernet_name() { +- case "$1" in ++ local _netif="$1" ++ local _name_assign_type="0" ++ ++ [ -f "/sys/class/net/$_netif/name_assign_type" ] \ ++ && _name_assign_type=$(cat "/sys/class/net/$_netif/name_assign_type") ++ ++ # NET_NAME_ENUM 1 ++ [ "$_name_assign_type" = "1" ] && return 1 ++ ++ # NET_NAME_PREDICTABLE 2 ++ [ "$_name_assign_type" = "2" ] && return 0 ++ ++ case "$_netif" in + # udev persistent interface names + eno[0-9]|eno[0-9][0-9]|eno[0-9][0-9][0-9]*) + ;; +@@ -580,3 +592,35 @@ is_persistent_ethernet_name() { + esac + return 0 + } ++ ++is_kernel_ethernet_name() { ++ local _netif="$1" ++ local _name_assign_type="1" ++ ++ if [ -e "/sys/class/net/$_netif/name_assign_type" ]; then ++ _name_assign_type=$(cat "/sys/class/net/$_netif/name_assign_type") ++ ++ case "$_name_assign_type" in ++ 2|3|4) ++ # NET_NAME_PREDICTABLE 2 ++ # NET_NAME_USER 3 ++ # NET_NAME_RENAMED 4 ++ return 1 ++ ;; ++ 1|*) ++ # NET_NAME_ENUM 1 ++ return 0 ++ ;; ++ esac ++ fi ++ ++ # fallback to error prone manual name check ++ case "$_netif" in ++ eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*) ++ return 0 ++ ;; ++ *) ++ return 1 ++ esac ++ ++} +diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh +index 0395e05..ef35a76 100755 +--- a/modules.d/45ifcfg/write-ifcfg.sh ++++ b/modules.d/45ifcfg/write-ifcfg.sh +@@ -82,18 +82,41 @@ print_s390() { + return 0 + } + ++hw_bind() { ++ local _netif="$1" ++ local _macaddr="$2" ++ ++ [ -n "$_macaddr" ] \ ++ && echo "MACADDR=\"$_macaddr\"" ++ ++ print_s390 "$_netif" \ ++ && return 0 ++ ++ [ -n "$_macaddr" ] && return 0 ++ ++ is_persistent_ethernet_name "$_netif" && return 0 ++ ++ [ -f "/sys/class/net/$_netif/addr_assign_type" ] \ ++ && [ "$(cat "/sys/class/net/$_netif/addr_assign_type")" != "0" ] \ ++ && return 1 ++ ++ [ -f "/sys/class/net/$_netif/address" ] \ ++ || return 1 ++ ++ echo "HWADDR=\"$(cat /sys/class/net/$_netif/address)\"" ++} ++ + 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 ++ local _netif="$1" ++ local _macaddr="$2" ++ ++ # see, if we can bind it to some hw parms ++ if hw_bind "$_netif" "$_macaddr"; then ++ # only print out DEVICE, if it's user assigned ++ is_kernel_ethernet_name "$_netif" && return 0 + fi ++ ++ echo "DEVICE=\"$_netif\"" + } + + for netup in /tmp/net.*.did-setup ; do +@@ -131,7 +154,8 @@ for netup in /tmp/net.*.did-setup ; do + + { + echo "# Generated by dracut initrd" +- echo "DEVICE=\"$netif\"" ++ echo "NAME=\"$netif\"" ++ interface_bind "$netif" "$macaddr" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "UUID=\"$uuid\"" +@@ -177,10 +201,7 @@ for netup in /tmp/net.*.did-setup ; do + if [ -z "$bridge" ] && [ -z "$bond" ] && [ -z "$vlan" ]; then + # standard interface + { +- [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\"" +- interface_bind "$netif" "$macaddr" + echo "TYPE=Ethernet" +- echo "NAME=\"$netif\"" + [ -n "$mtu" ] && echo "MTU=\"$mtu\"" + } >> /tmp/ifcfg/ifcfg-$netif + fi +@@ -207,16 +228,15 @@ for netup in /tmp/net.*.did-setup ; do + # write separate ifcfg file for the raw eth interface + ( + echo "# Generated by dracut initrd" +- echo "DEVICE=\"$slave\"" ++ echo "NAME=\"$slave\"" + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "SLAVE=yes" + echo "MASTER=\"$netif\"" +- echo "NAME=\"$slave\"" + echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" ++ unset macaddr + [ -e /tmp/net.$slave.override ] && . /tmp/net.$slave.override +- [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\"" + interface_bind "$slave" "$macaddr" + ) >> /tmp/ifcfg/ifcfg-$slave + done +@@ -232,15 +252,14 @@ for netup in /tmp/net.*.did-setup ; do + # write separate ifcfg file for the raw eth interface + ( + echo "# Generated by dracut initrd" +- echo "DEVICE=\"$slave\"" ++ echo "NAME=\"$slave\"" + echo "TYPE=Ethernet" + echo "ONBOOT=yes" + echo "NETBOOT=yes" + echo "BRIDGE=\"$bridgename\"" +- echo "NAME=\"$slave\"" + echo "UUID=\"$(cat /proc/sys/kernel/random/uuid)\"" ++ unset macaddr + [ -e /tmp/net.$slave.override ] && . /tmp/net.$slave.override +- [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\"" + interface_bind "$slave" "$macaddr" + ) >> /tmp/ifcfg/ifcfg-$slave + done diff --git a/SPECS/dracut.spec b/SPECS/dracut.spec index 51db224..cad2a0e 100644 --- a/SPECS/dracut.spec +++ b/SPECS/dracut.spec @@ -10,7 +10,7 @@ Name: dracut Version: 033 -Release: 161%{?dist} +Release: 161%{?dist}.173 Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} @@ -189,6 +189,18 @@ Patch157: 0157-Add-legacy-flag-l-to-lz4-and-update-magic-number.patch Patch158: 0158-fs-lib-always-install-fsck.-fs-if-present.patch Patch159: 0159-ifcfg-write-ifcfg.sh-turn-on-IPV6INIT-if-any-inet6-a.patch Patch160: 0160-dracut-functions.sh-add-lib-modules-extras-weak-upda.patch +Patch161: 0161-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch +Patch162: 0162-ifcfg-only-bind-to-HWADDR-if-addr_assign_type-0.patch +Patch163: 0163-ifcfg-write-ifcfg.sh-include-net-lib.sh.patch +Patch164: 0164-Do-not-reload-systemd-with-wait_for_dev.patch +Patch165: 0165-network-net-lib.sh-is_persistent_ethernet_name-eth-i.patch +Patch166: 0166-ifcfg-depends-on-network.patch +Patch167: 0167-network-add-rd.route-parameter.patch +Patch168: 0168-fixed-bridge-setup.patch +Patch169: 0169-bridging-update-the-ifcfg-files-generated-for-bridge.patch +Patch170: 0170-bonding-use-hwaddr-of-the-slave-rather-than-the-mast.patch +Patch171: 0171-ifcfg-write-ifcfg.sh-bind-bond-and-bridge-interfaces.patch +Patch172: 0172-ifcfg-write-ifcfg-only-write-DEVICE-for-non-kernel-n.patch BuildRequires: bash git @@ -615,6 +627,20 @@ rm -rf -- $RPM_BUILD_ROOT %endif %changelog +* Wed Oct 29 2014 Harald Hoyer 033-161.173 +- fixed persistent interface config file creation +Resolves:rhbz#1135478 + +* Thu Oct 23 2014 Harald Hoyer 033-161.166 +- removed "eth*" from the list of persistent interface names +Resolves:rhbz#1135478 + +* Fri Oct 17 2014 Harald Hoyer 033-165 +- do not reload systemd with wait_for_dev +Resolves:rhbz#1144066 +- do not bind persistent interface names to HWADDR +Resolves:rhbz#1135478 + * Mon Apr 28 2014 Harald Hoyer 033-161 - add extra and weak-updates kernel module dirs Resolves: rhbz#1086291