summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/network/networkrun.cpp
Unidiff
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
@@ -13,6 +13,7 @@ void NetworkRun::detectState( NodeCollection * NC ) {
13 return; 13 return;
14 } 14 }
15 15
16 Log(( "%s not ! UP or ava\n", NC->name().latin1() ));
16 // has no interface -> delegate 17 // has no interface -> delegate
17 RI->detectState( NC ); 18 RI->detectState( NC );
18} 19}
@@ -34,17 +35,28 @@ bool NetworkRun::setState( NodeCollection * NC, Action_t A, bool Force ) {
34 } 35 }
35 return 1; 36 return 1;
36 } else if( A == Down ) { 37 } else if( A == Down ) {
37 if( NC->currentState() == IsUp || Force ) { 38 QString S;
38 QString S; 39 if( Force ) {
39 S.sprintf( "ifdown %s=%s-c%d-allowed", 40 Log(("Force mode %d\n", Force ));
40 II->Name.latin1(), II->Name.latin1(), 41 for( int i = 0;
41 connection()->number() ); 42 i < RI->netNode()->nodeClass()->instanceCount();
42 NSResources->system().runAsRoot( S ); 43 i ++ ) {
44 S.sprintf( "ifdown %s",
45 RI->netNode()->nodeClass()->genNic( i ).latin1() );
46 NSResources->system().runAsRoot( S );
47 }
48 } else {
49 if( NC->currentState() == IsUp ) {
50 S.sprintf( "ifdown %s=%s-c%d-allowed",
51 II->Name.latin1(), II->Name.latin1(),
52 connection()->number() );
53 NSResources->system().runAsRoot( S );
54 }
43 } 55 }
44 return 1; 56 return 1;
45 } 57 }
46 // delegate 58 // delegate
47 return RI->setState( NC, A ); 59 return RI->setState( NC, A, Force );
48} 60}
49 61
50bool NetworkRun::canSetState( State_t Curr, Action_t A ) { 62bool NetworkRun::canSetState( State_t Curr, Action_t A ) {