diff options
-rwxr-xr-x | sysconfig/network-scripts/ifdown | 8 | ||||
-rw-r--r-- | sysconfig/network-scripts/network-functions | 5 |
2 files changed, 7 insertions, 6 deletions
diff --git a/sysconfig/network-scripts/ifdown b/sysconfig/network-scripts/ifdown index 9c9112cb..31d3f716 100755 --- a/sysconfig/network-scripts/ifdown +++ b/sysconfig/network-scripts/ifdown @@ -41,12 +41,8 @@ then exit 0 fi -if [ "$USE_NM" = "true" -a -n "$NAME" -o -n "$UUID" ]; then - if [ -n "$UUID" ]; then - nmcli con down uuid "$UUID" - elif [ -n "$NAME" ]; then - nmcli con down id "$NAME" - fi +if [ "$USE_NM" = "true" ]] && is_nm_active "$DEVICE" ; then + nmcli dev disconnect iface "$DEVICE" exit $? fi diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index 8ae752ba..a29c9764 100644 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions @@ -200,6 +200,11 @@ is_nm_running () LANG=C nmcli nm status | grep -Eq "NM running:[[:space:]]+running" } +is_nm_active () +{ + LANG=C nmcli -t dev status | grep -Eq "^${1}[[:space:]]*.*[[:space:]]*connected$" +} + # Sets $alias to the device module if $? != 0 is_available () { |