laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20127 )

Change subject: NS_Emulation: Delay Tx of first NS-RESET until Provider tells 
us it's up
......................................................................

NS_Emulation: Delay Tx of first NS-RESET until Provider tells us it's up

Change-Id: I300cfeb120540940990a834596b0a83a539df080
---
M library/NS_Emulation.ttcnpp
1 file changed, 15 insertions(+), 5 deletions(-)

Approvals:
  fixeria: Looks good to me, but someone else must approve
  lynxis lazus: Looks good to me, but someone else must approve
  daniel: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/library/NS_Emulation.ttcnpp b/library/NS_Emulation.ttcnpp
index dcc0e17..ee25d3e 100644
--- a/library/NS_Emulation.ttcnpp
+++ b/library/NS_Emulation.ttcnpp
@@ -108,10 +108,6 @@
                }

                f_change_state(NSE_S_DEAD_BLOCKED);
-               /* Send the first NS-ALIVE to test the connection */
-               if (not config.role_sgsn) {
-                       f_sendReset();
-               }
        }

        type component NS_Provider_CT {
@@ -151,6 +147,7 @@
                timer Tns_alive := 3.0;
                timer Tns_test := 10.0;
                timer Tns_block := 10.0;
+               timer Tns_reset := 10.0;
        }

        type record NSConfigurationIP {
@@ -185,6 +182,7 @@

        private function f_sendReset() runs on NS_CT {
                NSCP.send(ts_NS_RESET(NS_CAUSE_OM_INTERVENTION, config.nsvci, 
config.nsei));
+               Tns_reset.start;
                g_state := NSE_S_WAIT_RESET;
        }

@@ -219,12 +217,17 @@
                        f_sendAlive();
                }

-               [] 
NSCP.receive(NS_Provider_Evt:{link_status:=NS_PROV_LINK_STATUS_UP}) {
+               [config.role_sgsn] 
NSCP.receive(NS_Provider_Evt:{link_status:=NS_PROV_LINK_STATUS_UP}) {
                        log("Provider Link came up: sending NS-ALIVE");
                        f_sendAlive();
                        Tns_test.start;
                        }

+               [not config.role_sgsn] 
NSCP.receive(NS_Provider_Evt:{link_status:=NS_PROV_LINK_STATUS_UP}) {
+                       log("Provider Link came up: sending NS-RESET");
+                       f_sendReset();
+                       }
+
                /* Stop t_alive when receiving ALIVE-ACK */
                [Tns_alive.running] NSCP.receive(t_NS_ALIVE_ACK) {
                        log("NS-ALIVE-ACK received: stopping Tns-alive; 
starting Tns-test");
@@ -363,7 +366,14 @@

        private altstep as_wait_reset() runs on NS_CT {
                var PDU_NS rf;
+               [] Tns_reset.timeout {
+                       /* If the sending entity of an NS-RESET PDU receives no 
NS-RESET-ACK PDU before timer
+                        * Tns-reset expires the corresponding NS-VCs shall 
remain blocked and dead and the
+                        * entire reset procedure shall be repeated */
+                       f_sendReset();
+                       }
                [] NSCP.receive(tr_NS_RESET_ACK(config.nsvci, config.nsei)) -> 
value rf {
+                       Tns_reset.stop;
                        f_change_state(NSE_S_ALIVE_BLOCKED);
                        f_sendAlive();
                        f_sendUnblock();

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20127
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I300cfeb120540940990a834596b0a83a539df080
Gerrit-Change-Number: 20127
Gerrit-PatchSet: 7
Gerrit-Owner: laforge <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <[email protected]>
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: lynxis lazus <[email protected]>
Gerrit-MessageType: merged

Reply via email to