Loading ttcn/MGT/LibItsMgt_Functions.ttcn3 +9 −148 Original line number Diff line number Diff line Loading @@ -48,148 +48,9 @@ module LibItsMgt_Functions { type IiscReq, IiscResp, ItsMgt, MgtMNSapCommandReqInd MgtMNSapCommandReq }; // FIXME To be removed group mfSAP { // /** // * @desc Application annouce to its communication needs to the CI selection manager // * @param p_itsAppReg the Request to be processed (ITS_S_Appl_Reg) // * @return 'true' on success, 'false' otherwise // * @verdict Unchanged // * // * See ISO/CD 24102-3 Clause C.2.2 // */ // function f_mgtItsApplReg(in template (value) ITS_S_Appl_Reg p_itsAppReg) runs on ItsMgt // return boolean { // var CommandRef v_commandRef := f_getNextCommandRef(); // var MgtMFSapRequestConfirmInd v_result; // // // Send ITS-S-Appl-Reg MF-REQUEST.request // mgtMFSapPort.send(m_mgtMFSapRequestReq(m_itsApplReg(v_commandRef, p_itsAppReg))); // tc_ac.start; // // Wait for ITS-S-Appl-Reg MF-REQUEST.confirm // alt { // [] mgtMFSapPort.receive(mw_mgtMFSapRequestConfirmInd(mw_itsApplReg(v_commandRef))) -> value v_result { // tc_ac.stop; // // Return ITS_scuId value // vc_scuId := v_result.msgIn.reqConfirm.lDMregister; // return true; // } // [] tc_ac.timeout { // log("*** f_mgtItsApplReg: FAIL: Expected MF-REQUEST.confirm service primitive not received ***"); // f_selfOrClientSyncAndVerdict("error", e_error); // } // } // End of 'alt' statement // // return false; // } // End of function f_mgtItsApplReg // /** // * @desc Allows an ITS-S application to announce its communication needs to the CI selection manager // * @param p_gCregClient Groupcast registration message // * @return 'true' on success, 'false' otherwise // * @verdict Unchanged on success, set to fail on error (e_timeout) // * // * See ISO/CD 24102-3 Clause C.2.2 // */ // function f_mgtItsApplRegToGroupcasting(in template (value)GCregClient p_gCregClient) runs on ItsMgt // return boolean { // var CommandRef v_commandRef := f_getNextCommandRef(); // // // Send GCregClient MF-REQUEST.request // mgtMFSapPort.send(m_mgtMFSapRequestReq(m_gCregClientReqReq(v_commandRef, p_gCregClient))); // tc_ac.start; // // Wait for GCregClient MF-REQUEST.confirm // alt { // [] mgtMFSapPort.receive(mw_mgtMFSapRequestConfirmInd(mdw_gCregClientReqConf(v_commandRef))) { // tc_ac.stop; // return true; // } // [] tc_ac.timeout { // log("*** f_mgtItsApplRegToGroupcasting: FAIL: Expected MF-REQUEST.confirm service primitive not received ***"); // f_selfOrClientSyncAndVerdict("error", e_error); // } // } // End of 'alt' statement // // return false; // } // End of function f_mgtItsApplRegToGroupcasting // /** // * @desc Allows an ITS-S application to deregister its registration information at the groupcasting manager using the services of the groupcasting registration handler // * @param p_gCderegClient Groupcast deregistration message // * @return 'true' on success, 'false' otherwise // * @verdict Unchanged on success, set to fail on error (e_timeout) // * // * See ISO/CD 24102-3 Clause C.2.8 // */ // function f_mgtItsApplDeregToGroupcasting(in template (value)GCderegClient p_gCderegClient) runs on ItsMgt // return boolean { // var CommandRef v_commandRef := f_getNextCommandRef(); // // // Send GCderegClient MF-REQUEST.request // mgtMFSapPort.send(m_mgtMFSapRequestReq(m_gCderegClientReqReq(v_commandRef, p_gCderegClient))); // tc_ac.start; // // Wait for GCderegClient MF-REQUEST.confirm // alt { // [] mgtMFSapPort.receive(mw_mgtMFSapRequestConfirmInd(mdw_gCderegClientReqConf(v_commandRef))) { // tc_ac.stop; // return true; // } // [] tc_ac.timeout { // log("*** f_mgtItsApplDeregToGroupcasting: FAIL: Expected MF-REQUEST.confirm service primitive not received ***"); // f_selfOrClientSyncAndVerdict("error", e_error); // } // } // End of 'alt' statement // // return false; // } // End of function f_mgtItsApplDeregToGroupcasting // /** // * @desc // * @param p_commandRef // * @param p_gCregServer // * @verdict Unchanged // */ // function f_mgtGenerateGCregServer(in CommandRef p_commandRef, in template (value) GCregServer p_gCregServer) runs on ItsMgt { // // Send GCregServer MF-COMMAND.request // mgtMFSapPort.send(m_mgtMFSapRequestReq(m_gCregServerRequestReq(p_commandRef, p_gCregServer))); // } // End of function f_mgtGenerateGCregServer } // End of group mfSAP // FIXME To be removed group mnSap { /** * @desc Generate COMMAND.request/GCctxTxCmd message on MN-SAP * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_gCctxTxCmd "Service Context Message" (CTX) * @verdict Unchanged */ // FIXME To be removed - Moved on NF-SAP // function f_mgtGenerateGCctxTxCmd(in CommandRef p_commandRef, in template (value) GCctxTxCmd p_gCctxTxCmd) runs on ItsMgt { // // // Send GCctxTxCmd MF-COMMAND.request // mgtMNSapPort.send(m_mgtMNSapCommandReq(m_gCctxTxCmdComReq(p_commandRef, p_gCctxTxCmd))); // } // End of function f_mgtGenerateGCctxTxCmd /** * @desc Generate REQUEST.request/CTXrxNot message on MN-SAP * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_cTXrxNot TODO * @verdict Unchanged */ // FIXME To be removed - Moved on NF-SAP // function f_mgtGenerateCTXrxNot(in CommandRef p_commandRef, in template (value) CTXrxNot p_cTXrxNot) runs on ItsMgt { // // Send CTXrxNot MF-REQUEST.request // mgtMNSapPort.send(m_mgtMNSapRequestReq(m_cTXrxNotRequestReq(p_commandRef, p_cTXrxNot))); // } // End of function f_mgtGenerateCTXrxNot } // end of group mnSap group functions { /** Loading Loading @@ -263,15 +124,15 @@ module LibItsMgt_Functions { * See ISO/CD 24102-3 Clause 8.2 */ altstep a_mgtMNSapPortDefault() runs on ItsMgt { [] mgtMNSapPort.receive(mw_mgtMNSapCommandInd(mw_mnCommandConfirm_any)) { // Receive any MF-COMMAND.confirm message [] mgtMNSapPort.receive(mw_mgtMNSapCommandConfirm(mw_mnCommandConfirm_any)) { // Receive any MF-COMMAND.confirm message log("*** a_mgtMNSapPortDefault: INFO: MN-SAP service primitive MF-COMMAND.confirm received in default ***"); repeat; } [] mgtMNSapPort.receive(mw_mgtMNSapRequestConfirmInd(mw_mnRequestConfirm_any)) { // Receive any MF-REQUEST.confirm message [] mgtMNSapPort.receive(mw_mgtMNSapRequestConfirm(mw_mnRequestConfirm_any)) { // Receive any MF-REQUEST.confirm message log("*** a_mgtMNSapPortDefault: INFO: MN-SAP service primitive MF-REQUEST.confirm received in default ***"); repeat; } [] mgtMNSapPort.receive(mw_mgtMNSapRequestReqInd(mw_mnRequestRequest_any)) { // Receive any MF-REQUEST.requesy message [] mgtMNSapPort.receive(mw_mgtMNSapRequestReq(mw_mnRequestRequest_any)) { // Receive any MF-REQUEST.request message log("*** a_mgtMNSapPortDefault: INFO: MN-SAP service primitive MF-REQUEST.request received in default ***"); repeat; } Loading @@ -287,11 +148,11 @@ module LibItsMgt_Functions { * @see ISO/WD 24102-4 - Clause 7.2.2 */ altstep a_mgtSapAwaitFWTupdate() runs on ItsMgt { var MgtMNSapCommandReqInd v_fWTupdate; var MgtMNSapCommandReq v_fWTupdate; [] mgtMNSapPort.receive(mw_mgtMNSapCommandReqInd(mw_fWTUpdateCommandReq)) -> value v_fWTupdate { [] mgtMNSapPort.receive(mw_mgtMNSapCommandReq(mw_fWTUpdateCommandReq)) -> value v_fWTupdate { // TODO Check if vc_noFNTPfwtEntry is used //vc_noFNTPfwtEntry := v_fWTupdate.msgIn.command_param.mnCmd.fWTupdate.update.fntp.delete.fntp.reference; //vc_noFNTPfwtEntry := v_fWTupdate.msgIn.command_param.mnCmd.fWTupdate.update.fntp.reference; log("*** a_mgtSapAwaitFWTupdate: INFO: MN-SAP FWTupdate service primitive received: vc_noFNTPfwtEntry=" & int2str(vc_noFNTPfwtEntry) & " ***"); } } // End of altstep a_mgtSapAwaitFWTupdate Loading @@ -303,7 +164,7 @@ module LibItsMgt_Functions { */ altstep a_mgtAwaitFWTsetNot() runs on ItsMgt { [] mgtMNSapPort.receive(mw_mgtMNSapRequestReqInd(mdw_fWTSetNotRequestReq)) { [] mgtMNSapPort.receive(mw_mgtMNSapRequestReq(mdw_fWTSetNotRequestReq)) { log("*** a_mgtAwaitFWTupdateNot: INFO: MN-SAP FWTupdateNot service primitive received ***"); } } // End of altstep a_mgtAwaitFWTupdateNot Loading Loading @@ -340,7 +201,7 @@ module LibItsMgt_Functions { // */ // altstep a_mgtAwaitCTXrxNotReqConf(in CommandRef p_commandRef) runs on ItsMgt { // // [] mgtMNSapPort.receive(mw_mgtMNSapRequestConfirmInd(mdw_cTXrxNotRequestConf(p_commandRef))) { // [] mgtMNSapPort.receive(mw_mgtMNSapRequestConfirm(mdw_cTXrxNotRequestConf(p_commandRef))) { // tc_ac.stop; // log("*** a_mgtAwaitCTXrxNotReqConf: INFO: MN-SAP service primitive received ***"); // } Loading ttcn/MGT/LibItsMgt_Pixits.ttcn3 +14 −2 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ module LibItsMgt_Pixits { modulepar ITS_scuId PX_DST_ITS_SCU_ID := 0; /** * @desc Host CI Identifier * @desc Host ITS-SCU-ID */ modulepar ITS_scuId PX_HOST_SCU_ID := 0; Loading @@ -52,15 +52,27 @@ module LibItsMgt_Pixits { modulepar PortNumber PX_REMOTE_PORT := { portShort := 0 }; /** * @desc Defines teh value to set to fill field for PduRequest field * @desc Defines the value to set to fill field for PduRequest field * @see ISO/WD 24102-4 - Clause 7 */ modulepar Bit4 PX_PDU_REQUEST_FILL_FIELD_VALUE := '0000'B; /** * @desc Indicates type of access technology (medium) * @see ISO 21218 */ modulepar MedType PX_MED_TYPE := 0; // MedType_unknown_ /** * @desc Indicates the CI access class * @see ISO 21218 */ modulepar CIaClass PX_CIACLASS := 0; // CIaClass_unknown_ /** * @desc Indicates the CI class * @see ISO 21218 */ modulepar CIclass PX_CICLASS := 0; // CIclass_unknown_ } // End of module LibItsMgt_Pixits ttcn/MGT/LibItsMgt_Templates.ttcn3 +123 −102 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ module LibItsMgt_Templates { type IiscReq, IiscResp, MgtMFSapCommandReq, MgtMFSapRequestReq, MgtMNSapCommandReq, MgtMNSapRequestReq, MgtMNSapCommandReqInd, MgtMNSapCommandInd, MgtMNSapRequestReqInd, MgtMNSapRequestConfirmInd MgtMNSapCommandReq, MgtMNSapRequestReq, MgtMNSapCommandConfirm, MgtMNSapRequestConfirm }; group mgtSapTemplates { Loading Loading @@ -321,42 +321,55 @@ module LibItsMgt_Templates { /** * @desc MN-SAP service primitives templates * * @see ISO/CD 24102-3 Clause 7 */ group mgtMNSapTemplates { group send_ { /** * @desc Send template for MN-SAP service primitives * @desc Send template for MN-SAP service primitives. used to send MN-COMMAND.request when Management is the IUT * @param p_msg MF-COMMAND.request service primitive to be sent * @see ISO 24102-3 Clause 7.2.2 */ template (value) MgtMNSapCommandReq m_mgtMNSapCommandReq( in template (value) MN_Command_request p_msg ) := { msgOut := p_msg msgInOut := p_msg } /** * @desc Send template for MN-SAP service primitives * @param p_msg MF-REQUEST.confirm service primitive to be received * @see ISO 24102-3 Clause 7.3.2 */ template (value) MgtMNSapRequestReq m_mgtMNSapRequestReq( in template (value) MN_Request_request p_msg ) := { msgOut := p_msg msgInOut := p_msg } template MgtMNSapCommandReqInd mw_mgtMNSapCommandReqInd( } // End of group send_ group recv_ { /** * @desc Receive template for MN-SAP service primitives. Used to monitor MN-SAP * @param p_msg MF-COMMAND.request service primitive to be sent * @see ISO 24102-3 Clause 7.2.2 */ template MgtMNSapCommandReq mw_mgtMNSapCommandReq( in template (present) MN_Command_request p_msg ) := { msgIn := p_msg msgInOut := p_msg } /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-COMMAND.confirm service primitive to be received * @see ISO 24102-3 Clause 7.2.3 */ template MgtMNSapCommandInd mw_mgtMNSapCommandInd( template MgtMNSapCommandConfirm mw_mgtMNSapCommandConfirm( in template (present) MN_Command_confirm p_msg ) := { msgIn := p_msg Loading @@ -365,18 +378,20 @@ module LibItsMgt_Templates { /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-REQUEST.request service primitive to be received * @see ISO 24102-3 Clause 7.3.2 */ template MgtMNSapRequestReqInd mw_mgtMNSapRequestReqInd( template MgtMNSapRequestReq mw_mgtMNSapRequestReq( in template (present) MN_Request_request p_msg ) := { msgIn := p_msg msgInOut := p_msg } /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-REQUEST.request service primitive to be received * @see ISO 24102-3 Clause 7.3.3 */ template MgtMNSapRequestConfirmInd mw_mgtMNSapRequestConfirmInd( template MgtMNSapRequestConfirm mw_mgtMNSapRequestConfirm( in template (present) MN_Request_confirm p_msg ) := { msgIn := p_msg Loading @@ -385,6 +400,7 @@ module LibItsMgt_Templates { /** * @desc Unspecified receive template for MN-COMMAND.confirm service primitive * @see a_mgtMNSapPortDefault altstep statement * @see ISO 24102-3 Clause 7.3.3 */ template MN_Command_confirm mw_mnCommandConfirm_any := { commandRef := ?, Loading Loading @@ -417,11 +433,13 @@ module LibItsMgt_Templates { errStatus := ? } // End of template mw_mnRequestConfirm_any } // End of group recv_ group fWTNotifies { /** * @desc Receive "FWTsetNot message" to notify the creation of an entry in a forwarding table * @see ISO/CD 24102-3 Clause E.2.2 * @see ISO/CD 24102-3 Clause E.2.3 */ template (present) MN_Request_request mdw_fWTSetNotRequestReq modifies mw_mnRequestRequest_any := { Loading @@ -437,8 +455,7 @@ module LibItsMgt_Templates { /** * @desc Receive "FWTupdateNot message" to notify update in the FNTP Forwarding Table * * @see ISO/CD 24102-3 Clause E.2.3 * @see ISO/CD 24102-3 Clause E.2.4 */ // template MN_Request_request mdw_fWTupdateNotRequestReq // modifies mw_mnRequestRequest_any := { Loading @@ -451,8 +468,7 @@ module LibItsMgt_Templates { /** * @desc Receive "FWTdeleteNot message" to notify deletion of an entry in the FNTP Forwarding Table * * @see ISO/CD 24102-3 Clause E.2.4 * @see ISO/CD 24102-3 Clause E.2.5 */ // FIXME To be removed - Moved on NF-SAP // template MN_Request_request mdw_fWTdeleteNotRequestReq Loading @@ -469,26 +485,31 @@ module LibItsMgt_Templates { group fWTcommands { /** * @desc TODO * @desc Received template on forwarding table update request * @see ISO/CD 24102-3 Clause D.2.4 */ template MN_Command_request mw_fWTUpdateCommandReq := { commandRef := ?, command_param := { fill := ?, mnCmd := { fWTupdate := ? fWTupdate := mw_fWTupdate } // End of field 'mnCmd' } // End of field 'command_param' } // End of template mw_fWTUpdateCommandReq /** * @desc Receive a "FWTupdate message" to update the FNTP forwarding table * * @see ISO/CD 24102-3 Clause E.2.4 */ // template FWTupdate mw_fWTupdate := { // fntp := ? // } // End of template mw_fWTupdate template FWTupdate mw_fWTupdate := { fill := ?, update := { fntp := { reference := ? } // End of field 'fntp' } // End of field 'update' } // End of template mw_fWTupdate } // End of group fWTupdate // Loading ttcn/MGT/LibItsMgt_TypesAndValues.ttcn3 +1 −17 Original line number Diff line number Diff line Loading @@ -5,23 +5,7 @@ * @desc Types and constants definitions for Inter-ITS-SCU communications (ISO 24102-4) */ module LibItsMgt_TypesAndValues { /** * @desc Indicates the type of MAC address content: * <li>Broadcast MAC address</li> * <li>Multicast MAC address</li> * <li>Unicast MAC address (peer to peer)</li> * <li>Broadcast MAC address on unknown VCI</li> * <li>Unicast MAC address on unknown VCI</li> */ // type enumerated MacAddressType { // FIXME Check if it is used somewhere :-) // e_broadcast (0), // e_multicast (1), // e_unicast (2), // e_broadcast_on_otherVCI (3), // e_unicast_on_otherVCI (4) // } // End of type MacAddressType // Nothing here } with { encode "LibItsMgt_TypesAndValues" Loading Loading
ttcn/MGT/LibItsMgt_Functions.ttcn3 +9 −148 Original line number Diff line number Diff line Loading @@ -48,148 +48,9 @@ module LibItsMgt_Functions { type IiscReq, IiscResp, ItsMgt, MgtMNSapCommandReqInd MgtMNSapCommandReq }; // FIXME To be removed group mfSAP { // /** // * @desc Application annouce to its communication needs to the CI selection manager // * @param p_itsAppReg the Request to be processed (ITS_S_Appl_Reg) // * @return 'true' on success, 'false' otherwise // * @verdict Unchanged // * // * See ISO/CD 24102-3 Clause C.2.2 // */ // function f_mgtItsApplReg(in template (value) ITS_S_Appl_Reg p_itsAppReg) runs on ItsMgt // return boolean { // var CommandRef v_commandRef := f_getNextCommandRef(); // var MgtMFSapRequestConfirmInd v_result; // // // Send ITS-S-Appl-Reg MF-REQUEST.request // mgtMFSapPort.send(m_mgtMFSapRequestReq(m_itsApplReg(v_commandRef, p_itsAppReg))); // tc_ac.start; // // Wait for ITS-S-Appl-Reg MF-REQUEST.confirm // alt { // [] mgtMFSapPort.receive(mw_mgtMFSapRequestConfirmInd(mw_itsApplReg(v_commandRef))) -> value v_result { // tc_ac.stop; // // Return ITS_scuId value // vc_scuId := v_result.msgIn.reqConfirm.lDMregister; // return true; // } // [] tc_ac.timeout { // log("*** f_mgtItsApplReg: FAIL: Expected MF-REQUEST.confirm service primitive not received ***"); // f_selfOrClientSyncAndVerdict("error", e_error); // } // } // End of 'alt' statement // // return false; // } // End of function f_mgtItsApplReg // /** // * @desc Allows an ITS-S application to announce its communication needs to the CI selection manager // * @param p_gCregClient Groupcast registration message // * @return 'true' on success, 'false' otherwise // * @verdict Unchanged on success, set to fail on error (e_timeout) // * // * See ISO/CD 24102-3 Clause C.2.2 // */ // function f_mgtItsApplRegToGroupcasting(in template (value)GCregClient p_gCregClient) runs on ItsMgt // return boolean { // var CommandRef v_commandRef := f_getNextCommandRef(); // // // Send GCregClient MF-REQUEST.request // mgtMFSapPort.send(m_mgtMFSapRequestReq(m_gCregClientReqReq(v_commandRef, p_gCregClient))); // tc_ac.start; // // Wait for GCregClient MF-REQUEST.confirm // alt { // [] mgtMFSapPort.receive(mw_mgtMFSapRequestConfirmInd(mdw_gCregClientReqConf(v_commandRef))) { // tc_ac.stop; // return true; // } // [] tc_ac.timeout { // log("*** f_mgtItsApplRegToGroupcasting: FAIL: Expected MF-REQUEST.confirm service primitive not received ***"); // f_selfOrClientSyncAndVerdict("error", e_error); // } // } // End of 'alt' statement // // return false; // } // End of function f_mgtItsApplRegToGroupcasting // /** // * @desc Allows an ITS-S application to deregister its registration information at the groupcasting manager using the services of the groupcasting registration handler // * @param p_gCderegClient Groupcast deregistration message // * @return 'true' on success, 'false' otherwise // * @verdict Unchanged on success, set to fail on error (e_timeout) // * // * See ISO/CD 24102-3 Clause C.2.8 // */ // function f_mgtItsApplDeregToGroupcasting(in template (value)GCderegClient p_gCderegClient) runs on ItsMgt // return boolean { // var CommandRef v_commandRef := f_getNextCommandRef(); // // // Send GCderegClient MF-REQUEST.request // mgtMFSapPort.send(m_mgtMFSapRequestReq(m_gCderegClientReqReq(v_commandRef, p_gCderegClient))); // tc_ac.start; // // Wait for GCderegClient MF-REQUEST.confirm // alt { // [] mgtMFSapPort.receive(mw_mgtMFSapRequestConfirmInd(mdw_gCderegClientReqConf(v_commandRef))) { // tc_ac.stop; // return true; // } // [] tc_ac.timeout { // log("*** f_mgtItsApplDeregToGroupcasting: FAIL: Expected MF-REQUEST.confirm service primitive not received ***"); // f_selfOrClientSyncAndVerdict("error", e_error); // } // } // End of 'alt' statement // // return false; // } // End of function f_mgtItsApplDeregToGroupcasting // /** // * @desc // * @param p_commandRef // * @param p_gCregServer // * @verdict Unchanged // */ // function f_mgtGenerateGCregServer(in CommandRef p_commandRef, in template (value) GCregServer p_gCregServer) runs on ItsMgt { // // Send GCregServer MF-COMMAND.request // mgtMFSapPort.send(m_mgtMFSapRequestReq(m_gCregServerRequestReq(p_commandRef, p_gCregServer))); // } // End of function f_mgtGenerateGCregServer } // End of group mfSAP // FIXME To be removed group mnSap { /** * @desc Generate COMMAND.request/GCctxTxCmd message on MN-SAP * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_gCctxTxCmd "Service Context Message" (CTX) * @verdict Unchanged */ // FIXME To be removed - Moved on NF-SAP // function f_mgtGenerateGCctxTxCmd(in CommandRef p_commandRef, in template (value) GCctxTxCmd p_gCctxTxCmd) runs on ItsMgt { // // // Send GCctxTxCmd MF-COMMAND.request // mgtMNSapPort.send(m_mgtMNSapCommandReq(m_gCctxTxCmdComReq(p_commandRef, p_gCctxTxCmd))); // } // End of function f_mgtGenerateGCctxTxCmd /** * @desc Generate REQUEST.request/CTXrxNot message on MN-SAP * @param p_commandRef Unique cyclic reference number of command. Same value as in related MN-REQUEST.request * @param p_cTXrxNot TODO * @verdict Unchanged */ // FIXME To be removed - Moved on NF-SAP // function f_mgtGenerateCTXrxNot(in CommandRef p_commandRef, in template (value) CTXrxNot p_cTXrxNot) runs on ItsMgt { // // Send CTXrxNot MF-REQUEST.request // mgtMNSapPort.send(m_mgtMNSapRequestReq(m_cTXrxNotRequestReq(p_commandRef, p_cTXrxNot))); // } // End of function f_mgtGenerateCTXrxNot } // end of group mnSap group functions { /** Loading Loading @@ -263,15 +124,15 @@ module LibItsMgt_Functions { * See ISO/CD 24102-3 Clause 8.2 */ altstep a_mgtMNSapPortDefault() runs on ItsMgt { [] mgtMNSapPort.receive(mw_mgtMNSapCommandInd(mw_mnCommandConfirm_any)) { // Receive any MF-COMMAND.confirm message [] mgtMNSapPort.receive(mw_mgtMNSapCommandConfirm(mw_mnCommandConfirm_any)) { // Receive any MF-COMMAND.confirm message log("*** a_mgtMNSapPortDefault: INFO: MN-SAP service primitive MF-COMMAND.confirm received in default ***"); repeat; } [] mgtMNSapPort.receive(mw_mgtMNSapRequestConfirmInd(mw_mnRequestConfirm_any)) { // Receive any MF-REQUEST.confirm message [] mgtMNSapPort.receive(mw_mgtMNSapRequestConfirm(mw_mnRequestConfirm_any)) { // Receive any MF-REQUEST.confirm message log("*** a_mgtMNSapPortDefault: INFO: MN-SAP service primitive MF-REQUEST.confirm received in default ***"); repeat; } [] mgtMNSapPort.receive(mw_mgtMNSapRequestReqInd(mw_mnRequestRequest_any)) { // Receive any MF-REQUEST.requesy message [] mgtMNSapPort.receive(mw_mgtMNSapRequestReq(mw_mnRequestRequest_any)) { // Receive any MF-REQUEST.request message log("*** a_mgtMNSapPortDefault: INFO: MN-SAP service primitive MF-REQUEST.request received in default ***"); repeat; } Loading @@ -287,11 +148,11 @@ module LibItsMgt_Functions { * @see ISO/WD 24102-4 - Clause 7.2.2 */ altstep a_mgtSapAwaitFWTupdate() runs on ItsMgt { var MgtMNSapCommandReqInd v_fWTupdate; var MgtMNSapCommandReq v_fWTupdate; [] mgtMNSapPort.receive(mw_mgtMNSapCommandReqInd(mw_fWTUpdateCommandReq)) -> value v_fWTupdate { [] mgtMNSapPort.receive(mw_mgtMNSapCommandReq(mw_fWTUpdateCommandReq)) -> value v_fWTupdate { // TODO Check if vc_noFNTPfwtEntry is used //vc_noFNTPfwtEntry := v_fWTupdate.msgIn.command_param.mnCmd.fWTupdate.update.fntp.delete.fntp.reference; //vc_noFNTPfwtEntry := v_fWTupdate.msgIn.command_param.mnCmd.fWTupdate.update.fntp.reference; log("*** a_mgtSapAwaitFWTupdate: INFO: MN-SAP FWTupdate service primitive received: vc_noFNTPfwtEntry=" & int2str(vc_noFNTPfwtEntry) & " ***"); } } // End of altstep a_mgtSapAwaitFWTupdate Loading @@ -303,7 +164,7 @@ module LibItsMgt_Functions { */ altstep a_mgtAwaitFWTsetNot() runs on ItsMgt { [] mgtMNSapPort.receive(mw_mgtMNSapRequestReqInd(mdw_fWTSetNotRequestReq)) { [] mgtMNSapPort.receive(mw_mgtMNSapRequestReq(mdw_fWTSetNotRequestReq)) { log("*** a_mgtAwaitFWTupdateNot: INFO: MN-SAP FWTupdateNot service primitive received ***"); } } // End of altstep a_mgtAwaitFWTupdateNot Loading Loading @@ -340,7 +201,7 @@ module LibItsMgt_Functions { // */ // altstep a_mgtAwaitCTXrxNotReqConf(in CommandRef p_commandRef) runs on ItsMgt { // // [] mgtMNSapPort.receive(mw_mgtMNSapRequestConfirmInd(mdw_cTXrxNotRequestConf(p_commandRef))) { // [] mgtMNSapPort.receive(mw_mgtMNSapRequestConfirm(mdw_cTXrxNotRequestConf(p_commandRef))) { // tc_ac.stop; // log("*** a_mgtAwaitCTXrxNotReqConf: INFO: MN-SAP service primitive received ***"); // } Loading
ttcn/MGT/LibItsMgt_Pixits.ttcn3 +14 −2 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ module LibItsMgt_Pixits { modulepar ITS_scuId PX_DST_ITS_SCU_ID := 0; /** * @desc Host CI Identifier * @desc Host ITS-SCU-ID */ modulepar ITS_scuId PX_HOST_SCU_ID := 0; Loading @@ -52,15 +52,27 @@ module LibItsMgt_Pixits { modulepar PortNumber PX_REMOTE_PORT := { portShort := 0 }; /** * @desc Defines teh value to set to fill field for PduRequest field * @desc Defines the value to set to fill field for PduRequest field * @see ISO/WD 24102-4 - Clause 7 */ modulepar Bit4 PX_PDU_REQUEST_FILL_FIELD_VALUE := '0000'B; /** * @desc Indicates type of access technology (medium) * @see ISO 21218 */ modulepar MedType PX_MED_TYPE := 0; // MedType_unknown_ /** * @desc Indicates the CI access class * @see ISO 21218 */ modulepar CIaClass PX_CIACLASS := 0; // CIaClass_unknown_ /** * @desc Indicates the CI class * @see ISO 21218 */ modulepar CIclass PX_CICLASS := 0; // CIclass_unknown_ } // End of module LibItsMgt_Pixits
ttcn/MGT/LibItsMgt_Templates.ttcn3 +123 −102 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ module LibItsMgt_Templates { type IiscReq, IiscResp, MgtMFSapCommandReq, MgtMFSapRequestReq, MgtMNSapCommandReq, MgtMNSapRequestReq, MgtMNSapCommandReqInd, MgtMNSapCommandInd, MgtMNSapRequestReqInd, MgtMNSapRequestConfirmInd MgtMNSapCommandReq, MgtMNSapRequestReq, MgtMNSapCommandConfirm, MgtMNSapRequestConfirm }; group mgtSapTemplates { Loading Loading @@ -321,42 +321,55 @@ module LibItsMgt_Templates { /** * @desc MN-SAP service primitives templates * * @see ISO/CD 24102-3 Clause 7 */ group mgtMNSapTemplates { group send_ { /** * @desc Send template for MN-SAP service primitives * @desc Send template for MN-SAP service primitives. used to send MN-COMMAND.request when Management is the IUT * @param p_msg MF-COMMAND.request service primitive to be sent * @see ISO 24102-3 Clause 7.2.2 */ template (value) MgtMNSapCommandReq m_mgtMNSapCommandReq( in template (value) MN_Command_request p_msg ) := { msgOut := p_msg msgInOut := p_msg } /** * @desc Send template for MN-SAP service primitives * @param p_msg MF-REQUEST.confirm service primitive to be received * @see ISO 24102-3 Clause 7.3.2 */ template (value) MgtMNSapRequestReq m_mgtMNSapRequestReq( in template (value) MN_Request_request p_msg ) := { msgOut := p_msg msgInOut := p_msg } template MgtMNSapCommandReqInd mw_mgtMNSapCommandReqInd( } // End of group send_ group recv_ { /** * @desc Receive template for MN-SAP service primitives. Used to monitor MN-SAP * @param p_msg MF-COMMAND.request service primitive to be sent * @see ISO 24102-3 Clause 7.2.2 */ template MgtMNSapCommandReq mw_mgtMNSapCommandReq( in template (present) MN_Command_request p_msg ) := { msgIn := p_msg msgInOut := p_msg } /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-COMMAND.confirm service primitive to be received * @see ISO 24102-3 Clause 7.2.3 */ template MgtMNSapCommandInd mw_mgtMNSapCommandInd( template MgtMNSapCommandConfirm mw_mgtMNSapCommandConfirm( in template (present) MN_Command_confirm p_msg ) := { msgIn := p_msg Loading @@ -365,18 +378,20 @@ module LibItsMgt_Templates { /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-REQUEST.request service primitive to be received * @see ISO 24102-3 Clause 7.3.2 */ template MgtMNSapRequestReqInd mw_mgtMNSapRequestReqInd( template MgtMNSapRequestReq mw_mgtMNSapRequestReq( in template (present) MN_Request_request p_msg ) := { msgIn := p_msg msgInOut := p_msg } /** * @desc Receive template for MN-SAP service primitives * @param p_msg MF-REQUEST.request service primitive to be received * @see ISO 24102-3 Clause 7.3.3 */ template MgtMNSapRequestConfirmInd mw_mgtMNSapRequestConfirmInd( template MgtMNSapRequestConfirm mw_mgtMNSapRequestConfirm( in template (present) MN_Request_confirm p_msg ) := { msgIn := p_msg Loading @@ -385,6 +400,7 @@ module LibItsMgt_Templates { /** * @desc Unspecified receive template for MN-COMMAND.confirm service primitive * @see a_mgtMNSapPortDefault altstep statement * @see ISO 24102-3 Clause 7.3.3 */ template MN_Command_confirm mw_mnCommandConfirm_any := { commandRef := ?, Loading Loading @@ -417,11 +433,13 @@ module LibItsMgt_Templates { errStatus := ? } // End of template mw_mnRequestConfirm_any } // End of group recv_ group fWTNotifies { /** * @desc Receive "FWTsetNot message" to notify the creation of an entry in a forwarding table * @see ISO/CD 24102-3 Clause E.2.2 * @see ISO/CD 24102-3 Clause E.2.3 */ template (present) MN_Request_request mdw_fWTSetNotRequestReq modifies mw_mnRequestRequest_any := { Loading @@ -437,8 +455,7 @@ module LibItsMgt_Templates { /** * @desc Receive "FWTupdateNot message" to notify update in the FNTP Forwarding Table * * @see ISO/CD 24102-3 Clause E.2.3 * @see ISO/CD 24102-3 Clause E.2.4 */ // template MN_Request_request mdw_fWTupdateNotRequestReq // modifies mw_mnRequestRequest_any := { Loading @@ -451,8 +468,7 @@ module LibItsMgt_Templates { /** * @desc Receive "FWTdeleteNot message" to notify deletion of an entry in the FNTP Forwarding Table * * @see ISO/CD 24102-3 Clause E.2.4 * @see ISO/CD 24102-3 Clause E.2.5 */ // FIXME To be removed - Moved on NF-SAP // template MN_Request_request mdw_fWTdeleteNotRequestReq Loading @@ -469,26 +485,31 @@ module LibItsMgt_Templates { group fWTcommands { /** * @desc TODO * @desc Received template on forwarding table update request * @see ISO/CD 24102-3 Clause D.2.4 */ template MN_Command_request mw_fWTUpdateCommandReq := { commandRef := ?, command_param := { fill := ?, mnCmd := { fWTupdate := ? fWTupdate := mw_fWTupdate } // End of field 'mnCmd' } // End of field 'command_param' } // End of template mw_fWTUpdateCommandReq /** * @desc Receive a "FWTupdate message" to update the FNTP forwarding table * * @see ISO/CD 24102-3 Clause E.2.4 */ // template FWTupdate mw_fWTupdate := { // fntp := ? // } // End of template mw_fWTupdate template FWTupdate mw_fWTupdate := { fill := ?, update := { fntp := { reference := ? } // End of field 'fntp' } // End of field 'update' } // End of template mw_fWTupdate } // End of group fWTupdate // Loading
ttcn/MGT/LibItsMgt_TypesAndValues.ttcn3 +1 −17 Original line number Diff line number Diff line Loading @@ -5,23 +5,7 @@ * @desc Types and constants definitions for Inter-ITS-SCU communications (ISO 24102-4) */ module LibItsMgt_TypesAndValues { /** * @desc Indicates the type of MAC address content: * <li>Broadcast MAC address</li> * <li>Multicast MAC address</li> * <li>Unicast MAC address (peer to peer)</li> * <li>Broadcast MAC address on unknown VCI</li> * <li>Unicast MAC address on unknown VCI</li> */ // type enumerated MacAddressType { // FIXME Check if it is used somewhere :-) // e_broadcast (0), // e_multicast (1), // e_unicast (2), // e_broadcast_on_otherVCI (3), // e_unicast_on_otherVCI (4) // } // End of type MacAddressType // Nothing here } with { encode "LibItsMgt_TypesAndValues" Loading