summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/network/networkrun.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings2/network/networkrun.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/network/networkrun.cpp26
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 );
}