diff --git a/SOURCES/0568-netlib-fix-botched-backport.patch b/SOURCES/0568-netlib-fix-botched-backport.patch
new file mode 100644
index 0000000..c36ed8a
--- /dev/null
+++ b/SOURCES/0568-netlib-fix-botched-backport.patch
@@ -0,0 +1,31 @@
+From 256f9a3f37ea33b94692303dfe10141a333cd744 Mon Sep 17 00:00:00 2001
+From: Lukas Nykryn <lnykryn@redhat.com>
+Date: Mon, 18 May 2020 14:47:04 +0200
+Subject: [PATCH] netlib: fix botched backport
+
+---
+ modules.d/40network/net-lib.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
+index 3f2fc712..3c08a603 100755
+--- a/modules.d/40network/net-lib.sh
++++ b/modules.d/40network/net-lib.sh
+@@ -646,7 +646,7 @@ wait_for_ipv6_dad_link() {
+ 
+     while [ $cnt -lt $timeout ]; do
+         [ -n "$(ip -6 addr show dev "$1" scope link)" ] \
+-        [ -z "$(ip -6 addr show dev "$1" scope link tentative)" ] \
++            && [ -z "$(ip -6 addr show dev "$1" scope link tentative)" ] \
+             && return 0
+         [ -n "$(ip -6 addr show dev "$1" scope link dadfailed)" ] \
+             && return 1
+@@ -664,7 +664,7 @@ wait_for_ipv6_dad() {
+ 
+     while [ $cnt -lt $timeout ]; do
+         [ -n "$(ip -6 addr show dev "$1")" ] \
+-        [ -z "$(ip -6 addr show dev "$1" tentative)" ] \
++            && [ -z "$(ip -6 addr show dev "$1" tentative)" ] \
+             && return 0
+         [ -n "$(ip -6 addr show dev "$1" dadfailed)" ] \
+             && return 1
diff --git a/SOURCES/0569-dracut.sh-disable-lsinitrd-logging-when-quiet.patch b/SOURCES/0569-dracut.sh-disable-lsinitrd-logging-when-quiet.patch
new file mode 100644
index 0000000..0f315b2
--- /dev/null
+++ b/SOURCES/0569-dracut.sh-disable-lsinitrd-logging-when-quiet.patch
@@ -0,0 +1,58 @@
+From df58ab6257ff2c688432d3cde159538419f85769 Mon Sep 17 00:00:00 2001
+From: Ziyue Yang <ziyang@redhat.com>
+Date: Wed, 23 Aug 2017 11:23:34 +0800
+Subject: [PATCH] dracut.sh: disable lsinitrd logging when quiet
+
+Currently in Fedora/RedHat dracut installs its fedora.conf.example
+as the default config file, in which sysloglvl is set 5. This leads
+to maxloglvl=5 in dracut calls, making unnecessary lsinitrd calls
+during initramfs builds by kdump.
+
+This patch disables lsinitrd logging when --quiet option is given,
+which is controlled by maxloglvl only before. This will speed up
+dracut image building as the following if --quiet is used in kdump:
+
+1) Before this patch
+$ kdumpctl stop; touch /etc/kdump.conf; time kdumpctl start
+kexec: unloaded kdump kernel
+Stopping kdump: [OK]
+Detected change(s) in the following file(s):
+  /etc/kdump.conf
+Rebuilding /boot/initramfs-4.13.0-0.rc1.git4.1.fc27.x86_64kdump.img
+kexec: loaded kdump kernel
+Starting kdump: [OK]
+real    0m26.824s
+user    0m9.958s
+sys     0m15.106s
+
+2) After this patch
+$ kdumpctl stop; touch /etc/kdump.conf; time kdumpctl start
+kexec: unloaded kdump kernel
+Stopping kdump: [OK]
+Detected change(s) in the following file(s):
+  /etc/kdump.conf
+Rebuilding /boot/initramfs-4.13.0-0.rc1.git4.1.fc27.x86_64kdump.img
+kexec: loaded kdump kernel
+Starting kdump: [OK]
+real    0m20.420s
+user    0m8.385s
+sys     0m10.468s
+
+Signed-off-by: Ziyue Yang <ziyang@redhat.com>
+---
+ dracut.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 62e53b73..d7459d06 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1688,7 +1688,7 @@ fi
+ 
+ dinfo "*** Creating image file done ***"
+ 
+-if (( maxloglvl >= 5 )); then
++if (( maxloglvl >= 5 )) && (( verbosity_mod_l >= 0 )); then
+     if [[ $allowlocal ]]; then
+ 	"$dracutbasedir/lsinitrd.sh" "${DRACUT_TMPDIR}/initramfs.img" | ddebug
+     else
diff --git a/SOURCES/0570-Drop-dependency-on-bridge-utils.patch b/SOURCES/0570-Drop-dependency-on-bridge-utils.patch
new file mode 100644
index 0000000..8f319a5
--- /dev/null
+++ b/SOURCES/0570-Drop-dependency-on-bridge-utils.patch
@@ -0,0 +1,53 @@
+From ba25b54c7eaa65c53cc81df1d0ee8c1439e501a8 Mon Sep 17 00:00:00 2001
+From: Daniel Molkentin <dmolkentin@suse.com>
+Date: Tue, 14 Feb 2017 12:51:18 +0100
+Subject: [PATCH] Drop dependency on bridge-utils
+
+---
+ README.testsuite                    | 1 -
+ modules.d/40network/ifup.sh         | 6 +++---
+ modules.d/40network/module-setup.sh | 1 -
+ 3 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/README.testsuite b/README.testsuite
+index 247ed3aa..fc2ee209 100644
+--- a/README.testsuite
++++ b/README.testsuite
+@@ -1,6 +1,5 @@
+ For the testsuite to work, you will have to install at least the following software packages:
+ dash \
+-bridge-utils \
+ asciidoc \
+ mdadm \
+ lvm2 \
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index 181ab67c..47ec2df6 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -187,11 +187,11 @@ if [ -z "$NO_BRIDGE_MASTER" ]; then
+             NO_BRIDGE_MASTER=yes NO_AUTO_DHCP=yes ifup $ethname
+             linkup $ethname
+             if [ ! -e /tmp/bridge.$bridgename.up ]; then
+-                brctl addbr $bridgename
+-                brctl setfd $bridgename 0
++                ip link add name $bridgename type bridge
++                echo 0 > /sys/devices/virtual/net/$bridgename/bridge/forward_delay
+                 > /tmp/bridge.$bridgename.up
+             fi
+-            brctl addif $bridgename $ethname
++            ip link set dev $ethname master $bridgename
+             ifup $bridgename
+             exit 0
+         done
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index de353674..4ead92fa 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -71,7 +71,6 @@ install() {
+     local _arch _i _dir
+     inst_multiple ip arping dhclient sed awk
+     inst_multiple -o ping ping6
+-    inst_multiple -o brctl
+     inst_multiple -o teamd teamdctl teamnl
+     inst_simple /etc/libnl/classid
+     inst_script "$moddir/ifup.sh" "/sbin/ifup"
diff --git a/SOURCES/0571-95znet-Add-a-rd.znet_ifname-option.patch b/SOURCES/0571-95znet-Add-a-rd.znet_ifname-option.patch
new file mode 100644
index 0000000..56c001a
--- /dev/null
+++ b/SOURCES/0571-95znet-Add-a-rd.znet_ifname-option.patch
@@ -0,0 +1,59 @@
+From 76ec341c5efbeb0c47ec28c518820c1b4beac2fa Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong@redhat.com>
+Date: Thu, 5 Mar 2020 18:44:45 +0800
+Subject: [PATCH] 95znet: Add a rd.znet_ifname= option
+
+qeth device may have a different IP for each boot, so the rd.ifname=
+option will no longer work. So for znet device, introduce a
+rd.znet_ifname= options, to subchannel id instead of MAC address as the
+identifier and rename the interface.
+
+Signed-off-by: Kairui Song <kasong@redhat.com>
+---
+ dracut.cmdline.7.asc          |  5 +++++
+ modules.d/95znet/parse-ccw.sh | 18 ++++++++++++++++++
+ 2 files changed, 23 insertions(+)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 1204aeb2..3c70c82d 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -762,6 +762,11 @@ ZNET
+ ~~~~
+ **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
+     rd.znet can be specified multiple times on the kernel command line.
++
++**rd.znet_ifname=**__<ifname>__:__<subchannels>__::
++    Assign network device name <interface> (i.e. "bootnet") to the NIC
++    corresponds to the subchannels. This is useful when dracut's default
++    "ifname=" doesn't work due to device having a changing MAC address.
+ +
+ [listing]
+ .Example
+diff --git a/modules.d/95znet/parse-ccw.sh b/modules.d/95znet/parse-ccw.sh
+index cf1f41d4..c8085eda 100755
+--- a/modules.d/95znet/parse-ccw.sh
++++ b/modules.d/95znet/parse-ccw.sh
+@@ -6,4 +6,22 @@ for ccw_arg in $(getargs rd.ccw -d 'rd_CCW=') $(getargs rd.znet -d 'rd_ZNET=');
+     echo $ccw_arg >> /etc/ccw.conf
+ done
+ 
++for ifname in $(getargs rd.znet_ifname); do
++    IFS=: read ifname_if ifname_subchannels _rest <<< "$ifname"
++    if [ -z "$ifname_if" ] || [ -z "$ifname_subchannels" ] || [ -n "$_rest" ]; then
++        warn "Invalid arguments for rd.znet_ifname="
++    else
++        {
++            ifname_subchannels=${ifname_subchannels//,/|}
++
++            echo 'ACTION!="add|change", GOTO="ccw_ifname_end"'
++            echo 'ATTR{type}!="1", GOTO="ccw_ifname_end"'
++            echo 'SUBSYSTEM!="net", GOTO="ccw_ifname_end"'
++            echo "SUBSYSTEMS==\"ccwgroup\", KERNELS==\"$ifname_subchannels\", DRIVERS==\"?*\" NAME=\"$ifname_if\""
++            echo 'LABEL="ccw_ifname_end"'
++
++        } > /etc/udev/rules.d/81-ccw-ifname.rules
++    fi
++done
++
+ znet_cio_free
diff --git a/SPECS/dracut.spec b/SPECS/dracut.spec
index e4636b2..0162642 100644
--- a/SPECS/dracut.spec
+++ b/SPECS/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 033
-Release: 568%{?dist}
+Release: 572%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -596,6 +596,10 @@ Patch564: 0564-rootfs-generator-don-t-set-JobRunningTimeoutSec.patch
 Patch565: 0565-Sync-initramfs-after-creation.patch
 Patch566: 0566-dracut.sh-quote-sync-file-argument.patch
 Patch567: 0567-net-lib-check-if-addr-exists-before-checking-for-dad.patch
+Patch568: 0568-netlib-fix-botched-backport.patch
+Patch569: 0569-dracut.sh-disable-lsinitrd-logging-when-quiet.patch
+Patch570: 0570-Drop-dependency-on-bridge-utils.patch
+Patch571: 0571-95znet-Add-a-rd.znet_ifname-option.patch
 
 
 BuildRequires: bash git
@@ -1027,6 +1031,14 @@ rm -rf -- $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Thu Jun 18 2020 Lukas Nykryn <lnykryn@redhat.com> - 033-572
+- 95znet: Add a rd.znet_ifname= option
+
+* Mon May 18 2020 Lukas Nykryn <lnykryn@redhat.com> - 033-571
+- Drop dependency on bridge-utils
+- dracut.sh: disable lsinitrd logging when quiet
+- netlib: fix botched backport
+
 * Tue Oct 29 2019 Lukas Nykryn <lnykryn@redhat.com> - 033-568
 - net-lib: check if addr exists before checking for dad state