1718 if(!GetIntFromConfig(ConfigSection(), _L("PrimaryLoopbackPort"), loopbackPort)) |
1718 if(!GetIntFromConfig(ConfigSection(), _L("PrimaryLoopbackPort"), loopbackPort)) |
1719 { |
1719 { |
1720 User::Leave(KErrNotFound); |
1720 User::Leave(KErrNotFound); |
1721 } |
1721 } |
1722 FailNextPktLoopbackCsyWriteL(loopbackPort, KErrCompletion); |
1722 FailNextPktLoopbackCsyWriteL(loopbackPort, KErrCompletion); |
1723 |
1723 |
1724 TRequestStatus sendStatus; |
1724 TRequestStatus sendStatus; |
1725 iSocket.Send(KCommWriteData, 0, sendStatus); |
1725 iSocket.Send(KCommWriteData, 0, sendStatus); |
1726 User::WaitForRequest(sendStatus); |
1726 User::WaitForRequest(sendStatus); |
1727 TestL(sendStatus.Int(), 0, _L("Socket send status")); // cause the lower NIF send to fail. |
1727 TestL(sendStatus.Int(), 0, _L("Socket send status")); // cause the lower NIF send to fail. |
1728 // Keep Nifman in Long idle timeout. This is more realistic scenario. |
1728 // Keep Nifman in Long idle timeout. This is more realistic scenario. |
1729 // Now the lower NIF has fired LinkLayerDown, and the primary context is being deleted. |
1729 // Now the lower NIF has fired LinkLayerDown, and the primary context is being deleted. |
1730 // Sim TSY delays the completion of the deletion request. |
1730 // Sim TSY delays the completion of the deletion request. |
1731 // In the meanwhile, we sneak in and stop the interface. |
1731 // In the meanwhile, we sneak in and stop the interface. |
1732 |
1732 |
1733 StopInterfaceL(); |
1733 StopInterfaceL(); |
1734 |
|
1735 ClearNextPktLoopbackCsyWriteL(loopbackPort); |
1734 ClearNextPktLoopbackCsyWriteL(loopbackPort); |
1736 return EPass; |
1735 return EPass; |
1737 }; |
1736 }; |
1738 |
1737 |
1739 /** |
1738 /** |
2139 secondPppPort.SetPort(KConfiguredTftFilter1SrcPort); |
2138 secondPppPort.SetPort(KConfiguredTftFilter1SrcPort); |
2140 |
2139 |
2141 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY |
2140 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY |
2142 VerifySubconnectionCountL(_L("SubConnectionCount1"), PDPIAP); |
2141 VerifySubconnectionCountL(_L("SubConnectionCount1"), PDPIAP); |
2143 #endif |
2142 #endif |
2144 // start a secondary context |
2143 |
2145 InitiateSecondaryStartL(); |
2144 // start a secondary context |
|
2145 InitiateSecondaryStartL(); |
2146 |
2146 |
2147 TInt primaryIapId, secondaryIapId; |
2147 TInt primaryIapId, secondaryIapId; |
2148 TestBooleanTrueL(GetIntFromConfig(ConfigSection(), _L("PppIapId1"), primaryIapId), _L("Get Iap ID for first Ppp instance")); |
2148 TestBooleanTrueL(GetIntFromConfig(ConfigSection(), _L("PppIapId1"), primaryIapId), _L("Get Iap ID for first Ppp instance")); |
2149 TestBooleanTrueL(GetIntFromConfig(ConfigSection(), _L("PppIapId2"), secondaryIapId), _L("Get Iap ID for second Ppp instance")); |
2149 TestBooleanTrueL(GetIntFromConfig(ConfigSection(), _L("PppIapId2"), secondaryIapId), _L("Get Iap ID for second Ppp instance")); |
2150 |
2150 |
2151 // start 2 more PPP instances opposite the SPUD's primary and secondary context PPP instances |
2151 // start 2 more PPP instances opposite the SPUD's primary and secondary context PPP instances |
2152 CConnectionStart *primaryIfStart = CConnectionStart::NewLC(iEsock, *this, primaryIapId); |
2152 CConnectionStart *primaryIfStart = CConnectionStart::NewLC(iEsock, *this, primaryIapId); |
2153 CConnectionStart *secondaryIfStart = CConnectionStart::NewLC(iEsock, *this, secondaryIapId); |
2153 CConnectionStart *secondaryIfStart = CConnectionStart::NewLC(iEsock, *this, secondaryIapId); |
2154 |
2154 |
2155 TRequestStatus progressReqSt; |
2155 TRequestStatus progressReqSt; |
2156 primaryIfStart->iInterface.ProgressNotification(iProgressBuf, progressReqSt, KConnectionUp); |
2156 primaryIfStart->iInterface.ProgressNotification(iProgressBuf, progressReqSt, KConnectionUp ); |
2157 |
2157 |
2158 WaitForProgressNotificationL(progressReqSt, KConnectionUp, 0); // We can wait here forever. Set timeout on test step. |
2158 WaitForProgressNotificationL(progressReqSt, KConnectionUp, 0); |
2159 |
2159 |
2160 secondaryIfStart->iInterface.ProgressNotification(iProgressBuf, progressReqSt, KConnectionUp); |
2160 secondaryIfStart->iInterface.ProgressNotification(iProgressBuf, progressReqSt, KConnectionUp); |
2161 WaitForProgressNotificationL(progressReqSt, KConnectionUp, 0); // We can wait here forever. Set timeout on test step. |
2161 WaitForProgressNotificationL(progressReqSt, KConnectionUp, 0); |
|
2162 |
2162 |
2163 |
2163 #ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY |
2164 #ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY |
2164 WaitForQoSEventL(_L("SecondaryActivationEvent2"), _L("SecondaryActivationEvent2Reason")); |
2165 WaitForQoSEventL(_L("SecondaryActivationEvent2"), _L("SecondaryActivationEvent2Reason")); |
2165 #else |
2166 #else |
2166 VerifySubconnectionCountL(_L("SubConnectionCount2"), PDPIAP); |
2167 VerifySubconnectionCountL(_L("SubConnectionCount2"), PDPIAP); |