Signed-off-by: Coiby Xu <coxu(a)redhat.com>
---
dracut-module-setup.sh | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index 0e7f046..1351743 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -243,7 +243,7 @@ kdump_setup_bridge() {
for _dev in `ls /sys/class/net/$_netdev/brif/`; do
_kdumpdev=$_dev
if kdump_is_bond "$_dev"; then
- kdump_setup_bond "$_dev"
+ kdump_setup_bond "$_dev"
"$(get_nmcli_connection_show_by_ifname "$_dev")"
elif kdump_is_team "$_dev"; then
kdump_setup_team "$_dev"
elif kdump_is_vlan "$_dev"; then
@@ -258,9 +258,13 @@ kdump_setup_bridge() {
echo " bridge=$_netdev:$(echo $_brif | sed -e 's/,$//')" >>
${initdir}/etc/cmdline.d/41bridge.conf
}
+# drauct takes bond=<bondname>[:<bondslaves>:[:<options>]] syntax to
parse
+# bond. For example:
+# bond=bond0:eth0,eth1:mode=balance-rr
kdump_setup_bond() {
- local _netdev=$1
- local _dev _mac _slaves _kdumpdev
+ local _netdev="$1"
+ local _nmclid_out="$2"
+ local _dev _mac _slaves _kdumpdev _bondoptions
for _dev in `cat /sys/class/net/$_netdev/bonding/slaves`; do
_mac=$(kdump_get_perm_addr $_dev)
_kdumpdev=$(kdump_setup_ifname $_dev)
@@ -268,12 +272,9 @@ kdump_setup_bond() {
_slaves+="$_kdumpdev,"
done
echo -n " bond=$_netdev:$(echo $_slaves | sed 's/,$//')" >>
${initdir}/etc/cmdline.d/42bond.conf
- # Get bond options specified in ifcfg
-
- source_ifcfg_file $_netdev
- bondoptions=":$(echo $BONDING_OPTS | xargs echo | tr " "
",")"
- echo "$bondoptions" >> ${initdir}/etc/cmdline.d/42bond.conf
+ _bondoptions=":$(get_nmcli_value_by_option "$_nmcli_out"
"bond.options")"
+ echo "$_bondoptions" >> ${initdir}/etc/cmdline.d/42bond.conf
}
kdump_setup_team() {
@@ -310,7 +311,7 @@ kdump_setup_vlan() {
derror "Vlan over bridge is not supported!"
exit 1
elif kdump_is_bond "$_phydev"; then
- kdump_setup_bond "$_phydev"
+ kdump_setup_bond "$_phydev" "$(get_nmcli_connection_show_by_ifname
"$_phydev")"
echo " vlan=$(kdump_setup_ifname $_netdev):$_phydev" >
${initdir}/etc/cmdline.d/43vlan.conf
else
_kdumpdev="$(kdump_setup_ifname $_phydev)"
@@ -406,7 +407,7 @@ kdump_install_net() {
if kdump_is_bridge "$_netdev"; then
kdump_setup_bridge "$_netdev"
elif kdump_is_bond "$_netdev"; then
- kdump_setup_bond "$_netdev"
+ kdump_setup_bond "$_netdev" "$_nmcli_out"
elif kdump_is_team "$_netdev"; then
kdump_setup_team "$_netdev"
elif kdump_is_vlan "$_netdev"; then
--
2.30.1