Loading FNTP/LibItsFntp_Functions.ttcn3 +70 −93 Original line number Diff line number Diff line Loading @@ -34,9 +34,6 @@ module LibItsFntp_Functions { EUI64, IN_SAPaddress, LLserviceAddr, Link_ID, AccessParameters }; import from CALMfntp language "ASN.1:1997" all; import from LibItsMgt_TypesAndValues { type MacAddressType }; import from LibItsMgt_Functions { altstep a_mgtMNSapPortDefault, a_mgtSapAwaitFWTupdate Loading @@ -63,7 +60,8 @@ module LibItsFntp_Functions { }; import from LibItsCommon_Functions { function f_utInitializeIut, f_utCommandRequest f_utInitializeIut, f_utCommandRequestConfirm, f_utCommandRequestWithoutConfirm }; import from LibIts_Interface all; Loading Loading @@ -197,7 +195,7 @@ module LibItsFntp_Functions { function f_initialState() runs on ItsNt { f_utInitializeIut(m_fntpInitialize); f_sleepIgnoreDef(2.0); // Wait until the IUT is in a stable situation (beaconing...) f_sleepIgnoreDef(PX_WAIT_FOR_IUT_READY); // Wait until the IUT is in a stable situation (beaconing...) } // End of function f_initialState /** Loading @@ -206,24 +204,20 @@ module LibItsFntp_Functions { * <li>the IUT having an entry in the FNTP forwarding table for unicast communication with remote Link Port and Service Port</li> * <li>the IUT having an entry in the FNTP forwarding table for Service Port = port1, but not for Service Port = port2</li> * <li>the IUT having an entry in the FNTP forwarding table for a Service Port, but no entry for the peer station</li> * @param p_macAddressType Indicates the type of MAC address content * @param p_port Indicates the port number * @verdict Unchanged on success, set to fail on error (e_timeout) * @see ISO/WD 29281-2 Clause 8.2 */ function f_initializeFntpForwardingTable(in MacAddressType p_macAddressType, in UInt16 p_port) runs on ItsNt { function f_initializeFntpForwardingTable(in PortNumber p_port) runs on ItsNt { // Request allocation of a port number associated with the ITS-SP f_utCommandRequest( // TODO Consider case of c_portDyn, and use f_utCommandRequestConfirm f_utCommandRequestWithoutConfirm( m_generateNfFntpPortCreationRequest( f_getIutServiceRef(), p_port), mw_fntpPortConfirm( f_getIutServiceRef(), ?), false, // Reply is expected to retrieve the port number vc_utCommandConf); p_port) ); // Store the allocated port number vc_portNumber := vc_utCommandConf.utFntpCommandConfirm.nfSapPrimitives.primitivesUp.fntpPortConfirm.servicePort; vc_portNumber := p_port; if (ischosen(vc_portNumber.portShort)) { log("*** f_initializeFntpForwardingTable: INFO: portNumber value is: " & int2str(vc_portNumber.portShort) & " ***"); } else { Loading @@ -234,67 +228,34 @@ module LibItsFntp_Functions { } // End of function f_initializeFntpForwardingTable // /** // * @desc Implement the following Initial conditions: // * <li>the IUT having an entry in the FNTP forwarding table for a Service Port, but no entry for the peer station</li> // * @param p_macAddressType Indicates the type of MAC address content // * @param p_port Indicates the port number // * @verdict Set to fail on error (timeout) // * // * See ISO/WD 29281-2 Clause 8.2 // */ // // FIXME What does 'but no entry for the peer station' mean? // function f_initializeFntpForwardingTableWithNoPeerStation(in MacAddressType p_macAddressType, in UInt16 p_port) runs on ItsNt { // var boolean v_retCode := false; // // // FIXME To be rewritten //// // Create sockect sending for FTN-SOCKET.request with a dynamic port allocation & waiting for FTN-SOCKET.confirm //// f_utCommandRequest( //// m_generateNfFntpSocketCreationRequest(f_getIutServiceRef(), p_port), //// mw_fntpSocketConfirm(f_getIutServiceRef(), ?), //// false, // Reply is expected to retrieve the port number //// vc_utCommandConf); //// //// // Store the allocated port number //// vc_portNumber := vc_utCommandConf.utFntpCommandConfirm.nfSapPrimitives.fntpSocketConfirm.servicePort; //// log("*** f_initializeFntpForwardingTableWithNoPeerStation: INFO: portNumber value is: " & int2str(vc_portNumber) & " ***"); //// //// // And wait for a MN-SAP.MN-COMMAND/FWTupdate message sent by IST management entity to update the forwarding table //// f_mnSapAwaitFWTupdate(); // // } // End of function f_initializeFntpForwardingTableWithNoPeerStation // /** * @desc Call this method to remove entry created by f_initializeFntpForwardingTable() in FNTP Forwarding Table * @verdict Unchanged */ function f_unInitializeFntpForwardingTable() runs on ItsNt { // check c_portDyn // Send for FTN-SOCKET.request & Wait for FTN-SOCKET.confirm f_utCommandRequest( f_utCommandRequestConfirm( m_generateNfFntpPortDeletionRequest(f_getIutServiceRef(), vc_portNumber), mw_fntpPortConfirm(f_getIutServiceRef(), ?), false, vc_utCommandConf); } // End of function f_unInitializeFntpForwardingTable // /** // * @desc TODO // * @verdict Unchanged on success, set to fail on error (e_timeout) // */ // function f_registerToGroupcasting() runs on ItsNt { // if (not(f_mgtItsApplRegToGroupcasting(m_gCregClient(f_getIutHostScuIdValue(), f_getIutServiceIdValue())))) { // log("*** f_registerToGroupcasting: ERROR: Timeout while waiting for GCregClient MF-REQUEST.confirm serviec primitive ***"); // f_selfOrClientSyncAndVerdict("error", e_timeout); // } // } // End of function f_registerToGroupcasting // // function f_deregisterToGroupcasting() runs on ItsNt { // if (not(f_mgtItsApplDeregToGroupcasting(m_gCderegClient(f_getIutHostScuIdValue())))) { // log("*** f_deregisterToGroupcasting: ERROR: Timeout while waiting for GCderegClient MF-REQUEST.confirm serviec primitive ***"); // f_selfOrClientSyncAndVerdict("error", e_timeout); // } // } // End of function f_deregisterToGroupcasting // /** * @desc Trigger a basic FNTPNPDU to create an entry in forwarding table for a known peer station */ function f_setupKnownPeerStation() runs on ItsNt { f_acGenerateFntpNPDU( f_getIutRemotePortNumberValue(), vc_portNumber, m_llServiceAddr(m_linkID(f_getIutSrcRemoteCIID_BC(), f_getIutSrcLocalCIID())), m_llServiceAddr(m_linkID(f_getIutRemoteDestCIID_BC(), f_getIutDestLocalCIID())), f_getIutSHopValue() ); // TODO Do we ignore management and NF-COMM.indication messages? } // End of function f_setupKnownPeerStation } // End of group preambles group postambles { Loading @@ -303,7 +264,7 @@ module LibItsFntp_Functions { * @desc The default postamble. */ function f_poDefault() runs on ItsNt { //empty // Nothing to do } } // End of group postambles Loading Loading @@ -397,8 +358,8 @@ module LibItsFntp_Functions { function f_acGenerateFntpNPDU( in template (value) PortNumber p_sourcePort, in template (value) PortNumber p_destinationPort, in template (value) LLserviceAddr p_insap_source_address, // TODO Rename in p_insap_source_address in template (value) LLserviceAddr p_insap_dest_address, // TODO Rename in p_insap_dest_address in template (value) LLserviceAddr p_insap_source_address, in template (value) LLserviceAddr p_insap_dest_address, in FNTPhopCount p_hops ) runs on ItsNt { f_acTriggerEvent( Loading Loading @@ -853,6 +814,16 @@ module LibItsFntp_Functions { return PX_DEST_REMOTE_CIID_UC; } /** * @desc Get the application port number, used instead of c_portDyn * @return The application port number, used instead of c_portDyn * @see PX_APP_PORT_NUMBER * @verdict Unchanged */ function f_getIutAppPortValue() return PortNumber { return PX_APP_PORT_NUMBER; } /** * @desc Get the source forwarding port * @return The source forwarding port Loading @@ -879,20 +850,10 @@ module LibItsFntp_Functions { * @see PX_LOCAL_PORT_NUMBER * @verdict Unchanged */ function f_getIutLocalPortNumber() return PortNumber { function f_getIutLocalPortNumberValue() return PortNumber { return PX_LOCAL_PORT_NUMBER; } /** * @desc Get the remote port number, i.e. the local endpoint * @return The remote port number * @see PX_REMOTE_PORT_NUMBER * @verdict Unchanged */ function f_getIutRemotePortNumber() return PortNumber { return PX_REMOTE_PORT_NUMBER; } /** * @desc Get the remote identifier of the VCI for broadcast on ITS-S host * @return The remote identifier of the VCI for broadcast on ITS-S host Loading Loading @@ -920,7 +881,7 @@ module LibItsFntp_Functions { * @return TODO * @verdict Unchanged */ function f_getIutLinkId_BC_WithSecondScuId() return Link_ID { function f_getIutLinkId_BC_Router() return Link_ID { return PX_LINK_ID_BC_WITH_SECOND_SCU_ID; } Loading Loading @@ -957,8 +918,17 @@ module LibItsFntp_Functions { * @return TODO * @verdict Unchanged */ function f_getIutLinkId_UNKWNON() return Link_ID { return PX_LINK_ID_UNKWNON; function f_getIutLinkId_UNKWNON_BC() return Link_ID { return PX_LINK_ID_UNKWNON_BC; } /** * @desc TODO * @return TODO * @verdict Unchanged */ function f_getIutLinkId_UNKWNON_UC() return Link_ID { return PX_LINK_ID_UNKWNON_UC; } /** Loading Loading @@ -993,11 +963,11 @@ module LibItsFntp_Functions { /** * @desc Get the ITS-SP payload EPDU * @return The ITS-SP payload EPDU * @see PX_ITS_SP_PAYLOAD_EPDU * @see PX_ITS_FPDU * @verdict Unchanged */ function f_getIutItsSpPayloadEPDU() return ITSfpdu { return PX_ITS_SP_PAYLOAD_EPDU; function f_getIutItsFPDU() return ITSfpdu { return PX_ITS_FPDU; } /** Loading Loading @@ -1069,19 +1039,25 @@ module LibItsFntp_Functions { } /** * @desc Get the remote port number value, in an integer format * @return The remote port number value, in an integer format * @desc Get the remote port number value * @return The remote port number value * @see PX_REMOTE_PORT_NUMBER * @verdict Unchanged */ function f_getIutRemotePortNumberValue() return integer { if (ischosen(PX_REMOTE_PORT_NUMBER.portShort)) { return PX_REMOTE_PORT_NUMBER.portShort; } else { return PX_REMOTE_PORT_NUMBER.portLong; } function f_getIutRemotePortNumberValue() return PortNumber { return PX_REMOTE_PORT_NUMBER; } // End of function f_getIutRemotePortNumberValue /** * @desc Get the second remote port number value * @return The second remote port number value * @see PX_SECOND_REMOTE_PORT_NUMBER * @verdict Unchanged */ function f_getIutSecondRemotePortNumberValue() return PortNumber { return PX_SECOND_REMOTE_PORT_NUMBER; } // End of function f_getIutSecondRemotePortNumberValue } // End of group iutFunctions group fntpAltsteps { Loading @@ -1095,6 +1071,7 @@ module LibItsFntp_Functions { // log("*** a_fntpDefault: INFO: IN-UNITDATA.request received in default ***"); // repeat; // } // FIXME Add support of response to NF-FNTP-PORT.confirm & NF-FNTP-COMM.confirm [] fntpPort.receive { log("*** a_fntpDefault: INFO: Unkown FNTP NDPU received in default ***"); repeat; Loading @@ -1103,7 +1080,7 @@ module LibItsFntp_Functions { log("*** a_fntpDefault: ERROR: Timeout while awaiting reaction of the IUT prior to Upper Tester action ***"); f_selfOrClientSyncAndVerdict("error", e_timeout); } [] tc_ac.timeout { [] tc_ac.timeout { // For security because it should be done in main altsetp bloc log("*** a_fntpDefault: ERROR: Timeout while awaiting the reception of a message ***"); f_selfOrClientSyncAndVerdict("error", e_timeout); } Loading FNTP/LibItsFntp_Pics.ttcn3 +0 −6 Original line number Diff line number Diff line Loading @@ -62,12 +62,6 @@ module LibItsFntp_Pics { */ modulepar boolean PICS_15628 := false; /** * @desc Is IUT support FSAP? * @see ETSI TS 102 868-1 v1.1.1 B.5/3 */ modulepar boolean PICS_FSAP := false; } // End of group fntpPics } // End of module LibItsFntp_Pics No newline at end of file FNTP/LibItsFntp_Pixits.ttcn3 +31 −49 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ module LibItsFntp_Pixits { * @desc ITS-SP payload EPDU * For instance, a DENM messages associated to a Slow vehicle in ASN.1 PER encoding */ modulepar ITSfpdu PX_ITS_SP_PAYLOAD_EPDU := '00010134fb9f45cb400001246000dfe0269f7405c100003e002d80000000000000000013880000007ffd00a0000000400000000013880085a80000001000000000000000ff000800000134fb9f45cb'O; modulepar ITSfpdu PX_ITS_FPDU := '00010134fb9f45cb400001246000dfe0269f7405c100003e002d80000000000000000013880000007ffd00a0000000400000000013880085a80000001000000000000000ff000800000134fb9f45cb'O; /** * @desc The user priority as specified in ISO 21218 Loading Loading @@ -90,6 +90,11 @@ module LibItsFntp_Pixits { */ modulepar EUI64 PX_SRC_LOCAL_CIID := '0000000000000000'O; /** * @desc TODO */ modulepar EUI64 PX_SRC_LOCAL_CIID_UNKNOWN := 'DEADBEEFDEADBABE'O; /** * @desc Identifies a different VCI on ITS-S host/router only * @see ISO 21218 - Clause 6.2 Link Identifier Loading Loading @@ -179,22 +184,6 @@ module LibItsFntp_Pixits { localCIID := PX_SRC_DIFFERENT_LOCAL_CIID } // /** // * @desc Identify a third VCI to be used to transmit the packet, i.e. the peer station, for Broadcast // */ // modulepar Link_ID PX_LINK_ID_BC_WITH_THIRD_SCU_ID := { // remoteCIID := PX_REMOTE_MAC_BC, // localCIID := '010203040506070B'O // } // // /** // * @desc Identify a fourth VCI to be used to transmit the packet, i.e. the peer station, for Broadcast // */ // modulepar Link_ID PX_LINK_ID_BC_WITH_FOURTH_SCU_ID := { // remoteCIID := PX_REMOTE_MAC_BC, // localCIID := '010203040506070C'O // } // /** * @desc Identify the VCI to be used to transmit the packet, i.e. the peer station, for Multicast */ Loading @@ -204,11 +193,19 @@ module LibItsFntp_Pixits { } /** * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Multicast * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Broadcast */ modulepar Link_ID PX_LINK_ID_UNKWNON_BC := { remoteCIID := PX_SRC_REMOTE_CIID_BC, localCIID := PX_SRC_LOCAL_CIID_UNKNOWN } /** * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Unicast */ modulepar Link_ID PX_LINK_ID_UNKWNON := { modulepar Link_ID PX_LINK_ID_UNKWNON_UC := { remoteCIID := PX_SRC_REMOTE_CIID_UC, localCIID := 'DEADBEEFDEADBABE'O localCIID := PX_SRC_LOCAL_CIID_UNKNOWN } /** Loading @@ -219,31 +216,10 @@ module LibItsFntp_Pixits { localCIID := PX_SRC_LOCAL_CIID } // /** // * @desc Identify the Link-ID VCI for ITS-S router only configuration // */ // modulepar Link_ID PX_REMOTE_ROUTER_LINK_ID := { // remoteCIID := '0000000E0E0E0E0E'O, // localCIID := '0000000E0E0E0E0F'O // } // // /** // * @desc Identify the Link-ID VCI for ITS-S combined host/router configuration // */ // modulepar Link_ID PX_ROUTER_LINK_ID := { // remoteCIID := '0000000000000000'O, // localCIID := '0000000000000000'O // } } // End of group linkIDs group stationIDs { // /** // * @desc Local station ID // */ // modulepar StationID PX_STATION_ID := '11111111'O; // /** * @desc Unknwon remote station ID */ Loading @@ -253,6 +229,11 @@ module LibItsFntp_Pixits { group portNumbers { /** * @desc Indicate the application port number, used instead of c_portDyn */ modulepar PortNumber PX_APP_PORT_NUMBER := { portLong := 12345 } ; /** * @desc Indicate the source port number, i.e. the local endpoint */ Loading @@ -263,6 +244,11 @@ module LibItsFntp_Pixits { */ modulepar PortNumber PX_REMOTE_PORT_NUMBER := { portLong := 5556 } ; /** * @desc Indicate a second destination port number */ modulepar PortNumber PX_SECOND_REMOTE_PORT_NUMBER := { portLong := 5556 } ; /** * @desc Indicate an unknown destination port number */ Loading Loading @@ -291,14 +277,6 @@ module LibItsFntp_Pixits { } // End of group portNumbers group invalidControlField { /** * @desc TODO */ modulepar FNTPlpp PX_LPP := 'CAFEDECA'O; } group hopsConstants { /** Loading Loading @@ -331,4 +309,8 @@ module LibItsFntp_Pixits { } // End of group cipConstants /** * Wait until the IUT is in a stable situation (beaconing...) */ modulepar float PX_WAIT_FOR_IUT_READY := 1.0; } // End of module LibItsFntp_Pixits No newline at end of file FNTP/LibItsFntp_Templates.ttcn3 +55 −30 File changed.Preview size limit exceeded, changes collapsed. Show changes FSAP/LibItsFsap_Functions.ttcn3 +15 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,10 @@ module LibItsFsap_Functions { type ITS_scuId//, ApplicationID, }; import from CALMiitsscu language "ASN.1:1997" { type ITS_SCUtype }; import from CALMfsap language "ASN.1:1997" { type GCschedule, ServiceDataReg Loading @@ -35,7 +39,7 @@ module LibItsFsap_Functions { import from LibItsFsap_Pics all; import from LibItsCommon_Functions { function f_utInitializeIut, f_utCommandRequest f_utInitializeIut, f_utCommandRequestConfirm }; import from LibItsFntp_Templates all; import from LibIts_Interface { Loading Loading @@ -194,7 +198,16 @@ module LibItsFsap_Functions { return PX_LOCAL_ITS_SCU_ID; } /** * @desc Gets the type ITS scuID * @return The type ITS scuID * @see PX_LOCAL_ITS_TYPE * @verdict Unchanged * @see ISO/WD 24102-4 - Table 2 — ITS-SCU-ID value assignment */ function f_getIutLocalITSType() return ITS_SCUtype { return PX_LOCAL_ITS_TYPE; } // /** // * @desc Gets the SAM retransmit timer. Loading Loading
FNTP/LibItsFntp_Functions.ttcn3 +70 −93 Original line number Diff line number Diff line Loading @@ -34,9 +34,6 @@ module LibItsFntp_Functions { EUI64, IN_SAPaddress, LLserviceAddr, Link_ID, AccessParameters }; import from CALMfntp language "ASN.1:1997" all; import from LibItsMgt_TypesAndValues { type MacAddressType }; import from LibItsMgt_Functions { altstep a_mgtMNSapPortDefault, a_mgtSapAwaitFWTupdate Loading @@ -63,7 +60,8 @@ module LibItsFntp_Functions { }; import from LibItsCommon_Functions { function f_utInitializeIut, f_utCommandRequest f_utInitializeIut, f_utCommandRequestConfirm, f_utCommandRequestWithoutConfirm }; import from LibIts_Interface all; Loading Loading @@ -197,7 +195,7 @@ module LibItsFntp_Functions { function f_initialState() runs on ItsNt { f_utInitializeIut(m_fntpInitialize); f_sleepIgnoreDef(2.0); // Wait until the IUT is in a stable situation (beaconing...) f_sleepIgnoreDef(PX_WAIT_FOR_IUT_READY); // Wait until the IUT is in a stable situation (beaconing...) } // End of function f_initialState /** Loading @@ -206,24 +204,20 @@ module LibItsFntp_Functions { * <li>the IUT having an entry in the FNTP forwarding table for unicast communication with remote Link Port and Service Port</li> * <li>the IUT having an entry in the FNTP forwarding table for Service Port = port1, but not for Service Port = port2</li> * <li>the IUT having an entry in the FNTP forwarding table for a Service Port, but no entry for the peer station</li> * @param p_macAddressType Indicates the type of MAC address content * @param p_port Indicates the port number * @verdict Unchanged on success, set to fail on error (e_timeout) * @see ISO/WD 29281-2 Clause 8.2 */ function f_initializeFntpForwardingTable(in MacAddressType p_macAddressType, in UInt16 p_port) runs on ItsNt { function f_initializeFntpForwardingTable(in PortNumber p_port) runs on ItsNt { // Request allocation of a port number associated with the ITS-SP f_utCommandRequest( // TODO Consider case of c_portDyn, and use f_utCommandRequestConfirm f_utCommandRequestWithoutConfirm( m_generateNfFntpPortCreationRequest( f_getIutServiceRef(), p_port), mw_fntpPortConfirm( f_getIutServiceRef(), ?), false, // Reply is expected to retrieve the port number vc_utCommandConf); p_port) ); // Store the allocated port number vc_portNumber := vc_utCommandConf.utFntpCommandConfirm.nfSapPrimitives.primitivesUp.fntpPortConfirm.servicePort; vc_portNumber := p_port; if (ischosen(vc_portNumber.portShort)) { log("*** f_initializeFntpForwardingTable: INFO: portNumber value is: " & int2str(vc_portNumber.portShort) & " ***"); } else { Loading @@ -234,67 +228,34 @@ module LibItsFntp_Functions { } // End of function f_initializeFntpForwardingTable // /** // * @desc Implement the following Initial conditions: // * <li>the IUT having an entry in the FNTP forwarding table for a Service Port, but no entry for the peer station</li> // * @param p_macAddressType Indicates the type of MAC address content // * @param p_port Indicates the port number // * @verdict Set to fail on error (timeout) // * // * See ISO/WD 29281-2 Clause 8.2 // */ // // FIXME What does 'but no entry for the peer station' mean? // function f_initializeFntpForwardingTableWithNoPeerStation(in MacAddressType p_macAddressType, in UInt16 p_port) runs on ItsNt { // var boolean v_retCode := false; // // // FIXME To be rewritten //// // Create sockect sending for FTN-SOCKET.request with a dynamic port allocation & waiting for FTN-SOCKET.confirm //// f_utCommandRequest( //// m_generateNfFntpSocketCreationRequest(f_getIutServiceRef(), p_port), //// mw_fntpSocketConfirm(f_getIutServiceRef(), ?), //// false, // Reply is expected to retrieve the port number //// vc_utCommandConf); //// //// // Store the allocated port number //// vc_portNumber := vc_utCommandConf.utFntpCommandConfirm.nfSapPrimitives.fntpSocketConfirm.servicePort; //// log("*** f_initializeFntpForwardingTableWithNoPeerStation: INFO: portNumber value is: " & int2str(vc_portNumber) & " ***"); //// //// // And wait for a MN-SAP.MN-COMMAND/FWTupdate message sent by IST management entity to update the forwarding table //// f_mnSapAwaitFWTupdate(); // // } // End of function f_initializeFntpForwardingTableWithNoPeerStation // /** * @desc Call this method to remove entry created by f_initializeFntpForwardingTable() in FNTP Forwarding Table * @verdict Unchanged */ function f_unInitializeFntpForwardingTable() runs on ItsNt { // check c_portDyn // Send for FTN-SOCKET.request & Wait for FTN-SOCKET.confirm f_utCommandRequest( f_utCommandRequestConfirm( m_generateNfFntpPortDeletionRequest(f_getIutServiceRef(), vc_portNumber), mw_fntpPortConfirm(f_getIutServiceRef(), ?), false, vc_utCommandConf); } // End of function f_unInitializeFntpForwardingTable // /** // * @desc TODO // * @verdict Unchanged on success, set to fail on error (e_timeout) // */ // function f_registerToGroupcasting() runs on ItsNt { // if (not(f_mgtItsApplRegToGroupcasting(m_gCregClient(f_getIutHostScuIdValue(), f_getIutServiceIdValue())))) { // log("*** f_registerToGroupcasting: ERROR: Timeout while waiting for GCregClient MF-REQUEST.confirm serviec primitive ***"); // f_selfOrClientSyncAndVerdict("error", e_timeout); // } // } // End of function f_registerToGroupcasting // // function f_deregisterToGroupcasting() runs on ItsNt { // if (not(f_mgtItsApplDeregToGroupcasting(m_gCderegClient(f_getIutHostScuIdValue())))) { // log("*** f_deregisterToGroupcasting: ERROR: Timeout while waiting for GCderegClient MF-REQUEST.confirm serviec primitive ***"); // f_selfOrClientSyncAndVerdict("error", e_timeout); // } // } // End of function f_deregisterToGroupcasting // /** * @desc Trigger a basic FNTPNPDU to create an entry in forwarding table for a known peer station */ function f_setupKnownPeerStation() runs on ItsNt { f_acGenerateFntpNPDU( f_getIutRemotePortNumberValue(), vc_portNumber, m_llServiceAddr(m_linkID(f_getIutSrcRemoteCIID_BC(), f_getIutSrcLocalCIID())), m_llServiceAddr(m_linkID(f_getIutRemoteDestCIID_BC(), f_getIutDestLocalCIID())), f_getIutSHopValue() ); // TODO Do we ignore management and NF-COMM.indication messages? } // End of function f_setupKnownPeerStation } // End of group preambles group postambles { Loading @@ -303,7 +264,7 @@ module LibItsFntp_Functions { * @desc The default postamble. */ function f_poDefault() runs on ItsNt { //empty // Nothing to do } } // End of group postambles Loading Loading @@ -397,8 +358,8 @@ module LibItsFntp_Functions { function f_acGenerateFntpNPDU( in template (value) PortNumber p_sourcePort, in template (value) PortNumber p_destinationPort, in template (value) LLserviceAddr p_insap_source_address, // TODO Rename in p_insap_source_address in template (value) LLserviceAddr p_insap_dest_address, // TODO Rename in p_insap_dest_address in template (value) LLserviceAddr p_insap_source_address, in template (value) LLserviceAddr p_insap_dest_address, in FNTPhopCount p_hops ) runs on ItsNt { f_acTriggerEvent( Loading Loading @@ -853,6 +814,16 @@ module LibItsFntp_Functions { return PX_DEST_REMOTE_CIID_UC; } /** * @desc Get the application port number, used instead of c_portDyn * @return The application port number, used instead of c_portDyn * @see PX_APP_PORT_NUMBER * @verdict Unchanged */ function f_getIutAppPortValue() return PortNumber { return PX_APP_PORT_NUMBER; } /** * @desc Get the source forwarding port * @return The source forwarding port Loading @@ -879,20 +850,10 @@ module LibItsFntp_Functions { * @see PX_LOCAL_PORT_NUMBER * @verdict Unchanged */ function f_getIutLocalPortNumber() return PortNumber { function f_getIutLocalPortNumberValue() return PortNumber { return PX_LOCAL_PORT_NUMBER; } /** * @desc Get the remote port number, i.e. the local endpoint * @return The remote port number * @see PX_REMOTE_PORT_NUMBER * @verdict Unchanged */ function f_getIutRemotePortNumber() return PortNumber { return PX_REMOTE_PORT_NUMBER; } /** * @desc Get the remote identifier of the VCI for broadcast on ITS-S host * @return The remote identifier of the VCI for broadcast on ITS-S host Loading Loading @@ -920,7 +881,7 @@ module LibItsFntp_Functions { * @return TODO * @verdict Unchanged */ function f_getIutLinkId_BC_WithSecondScuId() return Link_ID { function f_getIutLinkId_BC_Router() return Link_ID { return PX_LINK_ID_BC_WITH_SECOND_SCU_ID; } Loading Loading @@ -957,8 +918,17 @@ module LibItsFntp_Functions { * @return TODO * @verdict Unchanged */ function f_getIutLinkId_UNKWNON() return Link_ID { return PX_LINK_ID_UNKWNON; function f_getIutLinkId_UNKWNON_BC() return Link_ID { return PX_LINK_ID_UNKWNON_BC; } /** * @desc TODO * @return TODO * @verdict Unchanged */ function f_getIutLinkId_UNKWNON_UC() return Link_ID { return PX_LINK_ID_UNKWNON_UC; } /** Loading Loading @@ -993,11 +963,11 @@ module LibItsFntp_Functions { /** * @desc Get the ITS-SP payload EPDU * @return The ITS-SP payload EPDU * @see PX_ITS_SP_PAYLOAD_EPDU * @see PX_ITS_FPDU * @verdict Unchanged */ function f_getIutItsSpPayloadEPDU() return ITSfpdu { return PX_ITS_SP_PAYLOAD_EPDU; function f_getIutItsFPDU() return ITSfpdu { return PX_ITS_FPDU; } /** Loading Loading @@ -1069,19 +1039,25 @@ module LibItsFntp_Functions { } /** * @desc Get the remote port number value, in an integer format * @return The remote port number value, in an integer format * @desc Get the remote port number value * @return The remote port number value * @see PX_REMOTE_PORT_NUMBER * @verdict Unchanged */ function f_getIutRemotePortNumberValue() return integer { if (ischosen(PX_REMOTE_PORT_NUMBER.portShort)) { return PX_REMOTE_PORT_NUMBER.portShort; } else { return PX_REMOTE_PORT_NUMBER.portLong; } function f_getIutRemotePortNumberValue() return PortNumber { return PX_REMOTE_PORT_NUMBER; } // End of function f_getIutRemotePortNumberValue /** * @desc Get the second remote port number value * @return The second remote port number value * @see PX_SECOND_REMOTE_PORT_NUMBER * @verdict Unchanged */ function f_getIutSecondRemotePortNumberValue() return PortNumber { return PX_SECOND_REMOTE_PORT_NUMBER; } // End of function f_getIutSecondRemotePortNumberValue } // End of group iutFunctions group fntpAltsteps { Loading @@ -1095,6 +1071,7 @@ module LibItsFntp_Functions { // log("*** a_fntpDefault: INFO: IN-UNITDATA.request received in default ***"); // repeat; // } // FIXME Add support of response to NF-FNTP-PORT.confirm & NF-FNTP-COMM.confirm [] fntpPort.receive { log("*** a_fntpDefault: INFO: Unkown FNTP NDPU received in default ***"); repeat; Loading @@ -1103,7 +1080,7 @@ module LibItsFntp_Functions { log("*** a_fntpDefault: ERROR: Timeout while awaiting reaction of the IUT prior to Upper Tester action ***"); f_selfOrClientSyncAndVerdict("error", e_timeout); } [] tc_ac.timeout { [] tc_ac.timeout { // For security because it should be done in main altsetp bloc log("*** a_fntpDefault: ERROR: Timeout while awaiting the reception of a message ***"); f_selfOrClientSyncAndVerdict("error", e_timeout); } Loading
FNTP/LibItsFntp_Pics.ttcn3 +0 −6 Original line number Diff line number Diff line Loading @@ -62,12 +62,6 @@ module LibItsFntp_Pics { */ modulepar boolean PICS_15628 := false; /** * @desc Is IUT support FSAP? * @see ETSI TS 102 868-1 v1.1.1 B.5/3 */ modulepar boolean PICS_FSAP := false; } // End of group fntpPics } // End of module LibItsFntp_Pics No newline at end of file
FNTP/LibItsFntp_Pixits.ttcn3 +31 −49 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ module LibItsFntp_Pixits { * @desc ITS-SP payload EPDU * For instance, a DENM messages associated to a Slow vehicle in ASN.1 PER encoding */ modulepar ITSfpdu PX_ITS_SP_PAYLOAD_EPDU := '00010134fb9f45cb400001246000dfe0269f7405c100003e002d80000000000000000013880000007ffd00a0000000400000000013880085a80000001000000000000000ff000800000134fb9f45cb'O; modulepar ITSfpdu PX_ITS_FPDU := '00010134fb9f45cb400001246000dfe0269f7405c100003e002d80000000000000000013880000007ffd00a0000000400000000013880085a80000001000000000000000ff000800000134fb9f45cb'O; /** * @desc The user priority as specified in ISO 21218 Loading Loading @@ -90,6 +90,11 @@ module LibItsFntp_Pixits { */ modulepar EUI64 PX_SRC_LOCAL_CIID := '0000000000000000'O; /** * @desc TODO */ modulepar EUI64 PX_SRC_LOCAL_CIID_UNKNOWN := 'DEADBEEFDEADBABE'O; /** * @desc Identifies a different VCI on ITS-S host/router only * @see ISO 21218 - Clause 6.2 Link Identifier Loading Loading @@ -179,22 +184,6 @@ module LibItsFntp_Pixits { localCIID := PX_SRC_DIFFERENT_LOCAL_CIID } // /** // * @desc Identify a third VCI to be used to transmit the packet, i.e. the peer station, for Broadcast // */ // modulepar Link_ID PX_LINK_ID_BC_WITH_THIRD_SCU_ID := { // remoteCIID := PX_REMOTE_MAC_BC, // localCIID := '010203040506070B'O // } // // /** // * @desc Identify a fourth VCI to be used to transmit the packet, i.e. the peer station, for Broadcast // */ // modulepar Link_ID PX_LINK_ID_BC_WITH_FOURTH_SCU_ID := { // remoteCIID := PX_REMOTE_MAC_BC, // localCIID := '010203040506070C'O // } // /** * @desc Identify the VCI to be used to transmit the packet, i.e. the peer station, for Multicast */ Loading @@ -204,11 +193,19 @@ module LibItsFntp_Pixits { } /** * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Multicast * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Broadcast */ modulepar Link_ID PX_LINK_ID_UNKWNON_BC := { remoteCIID := PX_SRC_REMOTE_CIID_BC, localCIID := PX_SRC_LOCAL_CIID_UNKNOWN } /** * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Unicast */ modulepar Link_ID PX_LINK_ID_UNKWNON := { modulepar Link_ID PX_LINK_ID_UNKWNON_UC := { remoteCIID := PX_SRC_REMOTE_CIID_UC, localCIID := 'DEADBEEFDEADBABE'O localCIID := PX_SRC_LOCAL_CIID_UNKNOWN } /** Loading @@ -219,31 +216,10 @@ module LibItsFntp_Pixits { localCIID := PX_SRC_LOCAL_CIID } // /** // * @desc Identify the Link-ID VCI for ITS-S router only configuration // */ // modulepar Link_ID PX_REMOTE_ROUTER_LINK_ID := { // remoteCIID := '0000000E0E0E0E0E'O, // localCIID := '0000000E0E0E0E0F'O // } // // /** // * @desc Identify the Link-ID VCI for ITS-S combined host/router configuration // */ // modulepar Link_ID PX_ROUTER_LINK_ID := { // remoteCIID := '0000000000000000'O, // localCIID := '0000000000000000'O // } } // End of group linkIDs group stationIDs { // /** // * @desc Local station ID // */ // modulepar StationID PX_STATION_ID := '11111111'O; // /** * @desc Unknwon remote station ID */ Loading @@ -253,6 +229,11 @@ module LibItsFntp_Pixits { group portNumbers { /** * @desc Indicate the application port number, used instead of c_portDyn */ modulepar PortNumber PX_APP_PORT_NUMBER := { portLong := 12345 } ; /** * @desc Indicate the source port number, i.e. the local endpoint */ Loading @@ -263,6 +244,11 @@ module LibItsFntp_Pixits { */ modulepar PortNumber PX_REMOTE_PORT_NUMBER := { portLong := 5556 } ; /** * @desc Indicate a second destination port number */ modulepar PortNumber PX_SECOND_REMOTE_PORT_NUMBER := { portLong := 5556 } ; /** * @desc Indicate an unknown destination port number */ Loading Loading @@ -291,14 +277,6 @@ module LibItsFntp_Pixits { } // End of group portNumbers group invalidControlField { /** * @desc TODO */ modulepar FNTPlpp PX_LPP := 'CAFEDECA'O; } group hopsConstants { /** Loading Loading @@ -331,4 +309,8 @@ module LibItsFntp_Pixits { } // End of group cipConstants /** * Wait until the IUT is in a stable situation (beaconing...) */ modulepar float PX_WAIT_FOR_IUT_READY := 1.0; } // End of module LibItsFntp_Pixits No newline at end of file
FNTP/LibItsFntp_Templates.ttcn3 +55 −30 File changed.Preview size limit exceeded, changes collapsed. Show changes
FSAP/LibItsFsap_Functions.ttcn3 +15 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,10 @@ module LibItsFsap_Functions { type ITS_scuId//, ApplicationID, }; import from CALMiitsscu language "ASN.1:1997" { type ITS_SCUtype }; import from CALMfsap language "ASN.1:1997" { type GCschedule, ServiceDataReg Loading @@ -35,7 +39,7 @@ module LibItsFsap_Functions { import from LibItsFsap_Pics all; import from LibItsCommon_Functions { function f_utInitializeIut, f_utCommandRequest f_utInitializeIut, f_utCommandRequestConfirm }; import from LibItsFntp_Templates all; import from LibIts_Interface { Loading Loading @@ -194,7 +198,16 @@ module LibItsFsap_Functions { return PX_LOCAL_ITS_SCU_ID; } /** * @desc Gets the type ITS scuID * @return The type ITS scuID * @see PX_LOCAL_ITS_TYPE * @verdict Unchanged * @see ISO/WD 24102-4 - Table 2 — ITS-SCU-ID value assignment */ function f_getIutLocalITSType() return ITS_SCUtype { return PX_LOCAL_ITS_TYPE; } // /** // * @desc Gets the SAM retransmit timer. Loading