Signed-off-by: Coiby Xu <coxu(a)redhat.com>
---
dracut-module-setup.sh | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index 21143b4..7034abf 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -318,17 +318,22 @@ kdump_setup_vlan() {
}
# setup s390 znet cmdline
-# $1: netdev name
+# $1: netdev (ifname)
+# $2: nmcli connection show output
kdump_setup_znet() {
+ local _netdev="$1"
+ local _nmcli_out="$2"
+ local s390_prefix="s390-"
local _options=""
- local _netdev=$1
+ local NETTYPE
+ local SUBCHANNELS
- source_ifcfg_file $_netdev
+ NETTYPE=$(get_nmcli_value_by_option "$_nmcli_out"
"${s390_prefix}nettype")
+ SUBCHANNELS=$(get_nmcli_value_by_option "$_nmcli_out"
"${s390_prefix}subchannels")
+ _options=$(get_nmcli_value_by_option "$_nmcli_out"
"${s390_prefix}options")
- for i in $OPTIONS; do
- _options=${_options},$i
- done
- echo rd.znet=${NETTYPE},${SUBCHANNELS}${_options}
rd.znet_ifname=$_netdev:${SUBCHANNELS} > ${initdir}/etc/cmdline.d/30znet.conf
+ [ -z "$NETTYPE" ] || [ -z "$SUBCHANNELS" ] || [ -z
"$_options" ] && die "Failed to setup s390 znet cmdline"
+ echo rd.znet=${NETTYPE},${SUBCHANNELS},${_options}
rd.znet_ifname=$_netdev:${SUBCHANNELS} > ${initdir}/etc/cmdline.d/30znet.conf
}
kdump_get_ip_route()
@@ -362,17 +367,18 @@ kdump_get_remote_ip()
# initramfs accessing giving destination
# $1: destination host
kdump_install_net() {
- local _destaddr _srcaddr _route _netdev
+ local _destaddr _srcaddr _route _netdev _nmcli_out
local _static _proto _ip_conf _ip_opts _ifname_opts
_destaddr=$(kdump_get_remote_ip $1)
_route=$(kdump_get_ip_route $_destaddr)
_srcaddr=$(kdump_get_ip_route_field "$_route" "src")
_netdev=$(kdump_get_ip_route_field "$_route" "dev")
+ _nmcli_out=$(get_nmcli_connection_show_by_ifname "$_netdev")
_netmac=$(kdump_get_mac_addr $_netdev)
if [ "$(uname -m)" = "s390x" ]; then
- kdump_setup_znet $_netdev
+ kdump_setup_znet "$_netdev" "$_nmcli_out"
fi
_static=$(kdump_static_ip $_netdev $_srcaddr)
--
2.30.1