Commit d14da52c authored by garciay's avatar garciay
Browse files

Unified versions

parent 9a47afba
Loading
Loading
Loading
Loading
+101 −106
Original line number Diff line number Diff line
@@ -58,9 +58,6 @@ module LibItsFntp_Functions {
            f_getNextPduCounter 
    }; 
    import from LibItsCalm_Interface all; 
    import from LibItsCalm_Pixits {
        modulepar PX_USE_IICP_REMOTE_COMMAND  
    };
    
    group fntpConfigurationFunctions {
        
@@ -216,9 +213,8 @@ module LibItsFntp_Functions {
            // Request allocation of a port number associated with the ITS-SP
            // TODO Consider case of c_portDyn, and use f_utCommandRequestConfirm
            var template (value) UtCommandRequest v_commandReq;
            var template UtCommandConfirm v_commandConf;
            var template UtRequestRequest v_commandConf;
            
            if (PX_USE_IICP_REMOTE_COMMAND == true) { 
                v_commandReq := m_fntpNfSapRemoteCommandRequest_simNutCmd( 
                    f_getNextPduCounter(), 
                    f_getNextCommandRef(), 
@@ -228,15 +224,10 @@ module LibItsFntp_Functions {
                    ).utFntpCommandRequest.nfSapPrimitives 
                );
                v_commandConf := mw_fntpNfSapRemoteCommandConfirm(
                    mdw_fntpCommConfirm_success_port(p_port).utFntpCommandConfirm.nfSapPrimitives
                );
            } else {
                v_commandReq := m_generateNfFntpPortCreationRequest(
                    f_getIutServiceRef(), 
                    p_port 
                mdw_mnRequestRequest_portCreationSucceed(
                    mdw_fntpCommConfirm_success(p_port)
                )
                );
                v_commandConf := mdw_fntpCommConfirm_success_port(p_port);
            }
            f_utCommandRequestConfirm( 
                v_commandReq,
                v_commandConf,
@@ -263,13 +254,9 @@ module LibItsFntp_Functions {
        ) runs on ItsCalm {
            var template (present) UtRequestRequest p_requestReq;
            
            if (PX_USE_IICP_REMOTE_COMMAND == true) { 
                p_requestReq := mw_fntpMnSapRemoteCommand( 
                    mw_awaitFwtUpdate(p_port).utFntpRequestRequest.mnRequestRequest 
                ); 
            } else { 
                p_requestReq := mw_awaitFwtUpdate(p_port) 
            } 
            f_utAwaitRequestRequest(p_requestReq); 
        } // End of function f_fntpAwaitFwtUpdate()

@@ -278,15 +265,11 @@ module LibItsFntp_Functions {
        ) runs on ItsCalm { 
            var template (value) UtCommandRequest p_commandReq;
            
            if (PX_USE_IICP_REMOTE_COMMAND == true) { 
                p_commandReq := m_fntpNfSapRemoteCommandRequest_simNutCmd( 
                    f_getNextPduCounter(), 
                    f_getNextCommandRef(), 
                    p_generateNfFntpCommandRequest.utFntpCommandRequest.nfSapPrimitives 
                );
            } else {
                p_commandReq := p_generateNfFntpCommandRequest;
            }
            f_utCommandRequestWithoutConfirm(
                p_commandReq // Content of the FNTP control field in the FNTP extended header
            );
@@ -302,18 +285,21 @@ module LibItsFntp_Functions {
            // Send for FTN-SOCKET.request & Wait for FTN-SOCKET.confirm
            var template (value) UtCommandRequest p_commandReq;
            
            if (PX_USE_IICP_REMOTE_COMMAND == true) { 
                p_commandReq := m_fntpNfSapRemoteCommandRequest_simNutCmd( 
                    f_getNextPduCounter(), 
                    f_getNextCommandRef(), 
                   m_generateNfFntpPortDeletionRequest(f_getIutServiceRef(), vc_portNumber).utFntpCommandRequest.nfSapPrimitives 
                );
            } else {
                p_commandReq := m_generateNfFntpPortDeletionRequest(f_getIutServiceRef(), vc_portNumber);
            }
            f_utCommandRequestConfirm(
                p_commandReq,
                mw_fntpPortConfirm(f_getIutServiceRef(), ?),
                mw_fntpNfSapRemoteCommandConfirm( 
                    mdw_mnRequestRequest_portCreationSucceed( 
                        mw_fntpPortConfirm(
                            f_getIutServiceRef(), 
                            ? 
                        ) 
                    ) 
                ), 
                false,
                vc_utCommandConf);
        } // End of function f_unInitializeFntpForwardingTable
@@ -322,22 +308,20 @@ module LibItsFntp_Functions {
         * @desc Trigger a basic FNTPNPDU to create an entry in forwarding table for a known peer station 
         */
        function f_setupKnownPeerStation() runs on ItsCalm {             
            if (PX_USE_IICP_REMOTE_COMMAND == true) { 
                var octetstring v_inData := bit2oct( 
                    encvalue( 
                        m_fntpBasicNpdu( 
                            f_getIutRemotePortNumberValue(), 
                            vc_portNumber  
                        ) 
                    ) 
                ); 
                var template (value) SimNLTcmd v_simNltCmd := { //INsapPrimitivesUp 
                    spRef := 0, 
                    servPrimitive := {
                        IN_UNITDATA_indication := m_inUnitDataInd( 
                            m_llServiceAddr(m_linkId(f_getIutWlRemoteCiidBc(), f_getIutWlLocalCiid())), 
                            m_llServiceAddr(m_linkId(f_getIutRemoteDestCiidBc(), f_getIutDestLocalCiid())), 
                            v_inData 
                        bit2oct( 
                            encvalue( 
                                m_fntpBasicNpdu( 
                                    f_getIutRemotePortNumberValue(), 
                                    vc_portNumber  
                                ) 
                            ) 
                        )
                        ) 
                    }
                }; 
@@ -349,17 +333,6 @@ module LibItsFntp_Functions {
                f_utCommandRequestWithoutConfirm(v_commandReq);
                // And wait for a MN-SAP.MN-COMMAND/FWTupdate message sent by ITS management entity to update the forwarding table
                f_fntpAwaitFwtUpdate(f_getIutRemotePortNumberValue());
            } else {
                // FIXME How to manage creation of VCI ?
                f_acGenerateFntpNpdu( 
                    f_getIutRemotePortNumberValue(), 
                    vc_portNumber, 
                    m_llServiceAddr(m_linkId(f_getIutWlRemoteCiidBc(), f_getIutWlLocalCiid())), 
                    m_llServiceAddr(m_linkId(f_getIutRemoteDestCiidBc(), f_getIutDestLocalCiid())), 
                    f_getIutShopValue() 
                );
            }
            
                
            // TODO Do we ignore management and NF-COMM.indication messages?
        } // End of function f_setupKnownPeerStation
@@ -388,12 +361,56 @@ module LibItsFntp_Functions {
    group adapterControl {
        
        /**
         * @desc    Triggers event in the test system adaptation via IN-SAP interface.
         * @param   p_event The event to trigger
         * @desc    Triggers test adapter to send FNTP forwarding NDPU
         * @param   p_sourcePort        Source port (c_portRtr or c_portHst)
         * @param   p_destinationPort   Destination port (c_portRtr or c_portHst)
         * @param   p_fromPort          Forwarding source port
         * @param   p_toPort            Forwarding destination port
         * @param   p_sourcePort        IN-SAP source port
         * @param   p_destinationPort   IN-SAP destination port
         * @param   p_counter           Expected value of FNTP packet counter counter field
         * @param   p_hops              N-hops value
         */
        function f_acTriggerEvent(template (value) AcFntpPrimitive p_event) runs on ItsCalm {
            acPort.send(p_event);
        function f_generateFntpForwardingNpdu(
            in template (value) PortNumber p_sourcePort, 
            in template (value) PortNumber p_destinationPort, 
            in template (value) PortNumber p_fromPort, 
            in template (value) PortNumber p_toPort, 
            in template (value) LLserviceAddr p_insapSourceAddress, 
            in template (value) LLserviceAddr p_insapDestAddress, 
            in template (value) FNTPpacketCounter p_counter, 
            in template (value) FNTPhopCount p_hops 
        ) runs on ItsCalm { 
            var template (value) SimNLTcmd v_simNltCmd := { // INsapPrimitivesUp 
                spRef := 0, 
                servPrimitive := {
                    IN_UNITDATA_indication := m_inUnitDataInd( 
                        m_llServiceAddr(m_linkId(f_getIutWlRemoteCiidBc(), f_getIutWlLocalCiid())), 
                        m_llServiceAddr(m_linkId(f_getIutRemoteDestCiidBc(), f_getIutDestLocalCiid())), 
                        bit2oct( 
                            encvalue( 
                                md_fntpForwardingNpdu( 
                                    p_sourcePort, 
                                    p_destinationPort, 
                                    p_hops,
                                    p_fromPort,
                                    p_toPort,
                                    p_counter 
                                ) 
                            ) 
                        )
                    ) 
        }
            }; 
            var template (value) UtCommandRequest v_commandReq := m_fntpNfSapRemoteCommandRequest_simNltCmd( 
                f_getNextPduCounter(), 
                f_getNextCommandRef(), 
                v_simNltCmd
            ); 
            f_utCommandRequestWithoutConfirm(v_commandReq);
            // And wait for a MN-SAP.MN-COMMAND/FWTupdate message sent by ITS management entity to update the forwarding table
//FIXME                f_fntpAwaitFwtUpdate(?);
        } // End of function f_acGenerateFntpForwardingNpdu
        
        /**
         * @desc    Triggers test adapter to send FNTP NDPU
@@ -403,17 +420,19 @@ module LibItsFntp_Functions {
         * @param   p_destinationPort   IN-SAP destination port
         * @param   p_hops              N-hops value
         */
        function f_acGenerateFntpNpdu(
        function f_generateFntpNpdu(
            in template (value) PortNumber p_sourcePort, 
            in template (value) PortNumber p_destinationPort, 
            in template (value) LLserviceAddr p_insapSourceAddress, 
            in template (value) LLserviceAddr p_insapDestAddress, 
            in FNTPhopCount p_hops 
        ) runs on ItsCalm { 
            f_acTriggerEvent( 
                m_generateFntpNpdu( 
                    p_insapSourceAddress, 
                    p_insapDestAddress, 
            var template (value) SimNLTcmd v_simNltCmd := { // INsapPrimitivesUp 
                spRef := 0, 
                servPrimitive := {
                    IN_UNITDATA_indication := m_inUnitDataInd( 
                        m_llServiceAddr(m_linkId(f_getIutWlRemoteCiidBc(), f_getIutWlLocalCiid())), 
                        m_llServiceAddr(m_linkId(f_getIutRemoteDestCiidBc(), f_getIutDestLocalCiid())), 
                    bit2oct( 
                        encvalue( 
                            m_fntpBasicNpdu( 
@@ -423,9 +442,26 @@ module LibItsFntp_Functions {
                        ) 
                    ) 
                ) 
                }
            }; 
            var template (value) UtCommandRequest v_commandReq := m_fntpNfSapRemoteCommandRequest_simNltCmd( 
                f_getNextPduCounter(), 
                f_getNextCommandRef(), 
                v_simNltCmd
            ); 
            f_utCommandRequestWithoutConfirm(v_commandReq);
            // And wait for a MN-SAP.MN-COMMAND/FWTupdate message sent by ITS management entity to update the forwarding table
//FIXME                f_fntpAwaitFwtUpdate(?);
        } // End of function f_acGenerateFntpNPDU
        
        /**
         * @desc    Triggers event in the test system adaptation via IN-SAP interface.
         * @param   p_event The event to trigger
         */
        function f_acTriggerEvent(template (value) AcFntpPrimitive p_event) runs on ItsCalm {
            acPort.send(p_event);
        }
        
        /**
         * @desc    Triggers lower tester to send FNTP station-internal NDPU with several hops and an invalid control field
         * @param   p_sourcePort            Source port 
@@ -529,47 +565,6 @@ module LibItsFntp_Functions {
            ); 
        } // End of function f_acGenerateFntpNpduCip
        
        /**
         * @desc    Triggers test adapter to send FNTP forwarding NDPU
         * @param   p_sourcePort        Source port (c_portRtr or c_portHst)
         * @param   p_destinationPort   Destination port (c_portRtr or c_portHst)
         * @param   p_fromPort          Forwarding source port
         * @param   p_toPort            Forwarding destination port
         * @param   p_sourcePort        IN-SAP source port
         * @param   p_destinationPort   IN-SAP destination port
         * @param   p_counter           Expected value of FNTP packet counter counter field
         * @param   p_hops              N-hops value
         */
        function f_acGenerateFntpForwardingNpdu(
            in template (value) PortNumber p_sourcePort, 
            in template (value) PortNumber p_destinationPort, 
            in template (value) PortNumber p_fromPort, 
            in template (value) PortNumber p_toPort, 
            in template (value) LLserviceAddr p_insapSourceAddress, 
            in template (value) LLserviceAddr p_insapDestAddress, 
            in template (value) FNTPpacketCounter p_counter, 
            in template (value) FNTPhopCount p_hops 
        ) runs on ItsCalm { 
            f_acTriggerEvent( 
                m_generateFntpNpdu( 
                    p_insapSourceAddress, 
                    p_insapDestAddress, 
                    bit2oct( 
                        encvalue( 
                            md_fntpForwardingNpdu( 
                                p_sourcePort, 
                                p_destinationPort, 
                                p_hops,
                                p_fromPort,
                                p_toPort,
                                p_counter 
                            ) // End of field 'md_fntpForwardingNpdu'
                        ) // End of function encvalue
                    ) // End of function bit2oct
                ) // End of field 'm_generateFntpNpdu'
            ); 
        } // End of function f_acGenerateFntpForwardingNpdu
        
        /**
         * @desc    Triggers test adapter to send FNTP forwarding NDPU with an unknown ITS-SCU-ID
         * @param   p_sourcePort        Source port (c_portRtr or c_portHst)
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ module LibItsFntp_Pics {
         * @desc Does the architecture implement ITS station-internal network?
         * @see  ETSI TS 102 985-1 v0.0.0 B.1/1 & B.1/2
         */
        modulepar boolean PICS_ITS_S_INW := true;
        modulepar boolean PICS_ITS_S_INW := false;
        
        /**
         * @desc Is IUT an host only?
+164 −201

File changed.

Preview size limit exceeded, changes collapsed.

+6 −7
Original line number Diff line number Diff line
@@ -27,8 +27,7 @@ module LibItsFntp_TypesAndValues {
    };
    import from CALMiitsscu language "ASN.1:1997" {
        type 
            IICrequestTX, IICrequestRX, 
		    IICresponseRX 
            IIC_Request, IIC_Response 
    };
    import from CALMmsap language "ASN.1:1997" {
        type 
@@ -111,7 +110,7 @@ module LibItsFntp_TypesAndValues {
         */
        type union UtFntpCommandRequest { 
            NFsapPrimitivesDown nfSapPrimitives, 
            IICrequestTX        rcmdNfSapPrimitives 
            IIC_Request          rcmdNfSapPrimitives 
        }
        with {
            encode (nfSapPrimitives) "LibItsFntp_asn1"; 
@@ -123,7 +122,7 @@ module LibItsFntp_TypesAndValues {
         */
        type union UtFntpCommandConfirm { 
            NFsapPrimitivesUp nfSapPrimitives, 
            IICresponseRX     rcmdNfSapPrimitives 
            IIC_Response        rcmdNfSapPrimitives 
        }
        with {
            encode (nfSapPrimitives) "LibItsFntp_asn1";
@@ -133,16 +132,16 @@ module LibItsFntp_TypesAndValues {
        /**
         * @desc Receive a XXX.indication command from the IUT through a SAP.
         */
        type union UtFntpCommandIndication { 
/*FIXME To be removed        type union UtFntpCommandIndication { 
            NFsapPrimitivesUp nfSapPrimitives
        }
        with {
            encode (nfSapPrimitives) "LibItsFntp_asn1"
        }
        }*/
        
        type union UtFntpRequestRequest { 
            MN_Request_request  mnRequestRequest, 
            IICrequestRX        rcmdMnRequestRequest 
            IIC_Request            rcmdMnRequestRequest 
        }
        with {
            encode (mnRequestRequest) "LibItsCALMmsap_asn1"; 
+13 −13
Original line number Diff line number Diff line
@@ -178,7 +178,7 @@ module LibItsIicp_Pixits {
    modulepar IParamList PX_MI_IPARAMLIST := {
        { 
            paramNo := 0, 
            iparam := { 
            parameter := { 
                Errors := {
                    {
                        paramNo := 0, 
Loading