Diffstat (limited to 'noncore/settings/networksettings2/network/networkrun.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/network/networkrun.cpp | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/noncore/settings/networksettings2/network/networkrun.cpp b/noncore/settings/networksettings2/network/networkrun.cpp index 41e1c53..3e24c5f 100644 --- a/noncore/settings/networksettings2/network/networkrun.cpp +++ b/noncore/settings/networksettings2/network/networkrun.cpp @@ -15,2 +15,3 @@ void NetworkRun::detectState( NodeCollection * NC ) { + Log(( "%s not ! UP or ava\n", NC->name().latin1() )); // has no interface -> delegate @@ -36,8 +37,19 @@ bool NetworkRun::setState( NodeCollection * NC, Action_t A, bool Force ) { } else if( A == Down ) { - if( NC->currentState() == IsUp || Force ) { - QString S; - S.sprintf( "ifdown %s=%s-c%d-allowed", - II->Name.latin1(), II->Name.latin1(), - connection()->number() ); - NSResources->system().runAsRoot( S ); + QString S; + if( Force ) { + Log(("Force mode %d\n", Force )); + for( int i = 0; + i < RI->netNode()->nodeClass()->instanceCount(); + i ++ ) { + S.sprintf( "ifdown %s", + RI->netNode()->nodeClass()->genNic( i ).latin1() ); + NSResources->system().runAsRoot( S ); + } + } else { + if( NC->currentState() == IsUp ) { + S.sprintf( "ifdown %s=%s-c%d-allowed", + II->Name.latin1(), II->Name.latin1(), + connection()->number() ); + NSResources->system().runAsRoot( S ); + } } @@ -46,3 +58,3 @@ bool NetworkRun::setState( NodeCollection * NC, Action_t A, bool Force ) { // delegate - return RI->setState( NC, A ); + return RI->setState( NC, A, Force ); } |