Commit dad0f017 authored by garciay's avatar garciay
Browse files

Merge STF422 with STF405, missing declaration types added

parent a27dcaad
Loading
Loading
Loading
Loading
+1150 −0

File added.

Preview size limit exceeded, changes collapsed.

+73 −0
Original line number Diff line number Diff line
/**
 *  @author     ETSI / STF422_EETS
 *  @version    $URL:$
 *              $Id:$
 *  @desc       FAST networking & transport layer protocol (ISO 29281) PICS
 */
module LibItsFntp_Pics {

    group fntpPics {
        
        /**
         * @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 := false;
        
        /**
         * @desc Is IUT an host only?
         * @see  ETSI TS 102 985-1 v0.0.0 B.2/1
         */
        modulepar boolean PICS_ROLE_RONLY := false;
        
        /**
         * @desc Is IUT a router only?
         * @see  ETSI TS 102 985-1 v0.0.0 B.2/2
         */
        modulepar boolean PICS_ROLE_HONLY := false;
        
        /**
         * @desc Is IUT both host and router?
         * @see  ETSI TS 102 985-1 v0.0.0 B.2/3
         */
        modulepar boolean PICS_ROLE_RH := true;
        
        /**
         * @desc Is IUT support basic architecture?
         * @see  ETSI TS 102 868-1 v1.1.1 B.3/1
         */
        modulepar boolean PICS_BASIC := true;
        
        /**
         * @desc Is IUT support extended architecture?
         * @see  ETSI TS 102 868-1 v1.1.1 B.3/2
         */
        modulepar boolean PICS_EXT := false;
        
        /**
         * @desc Is IUT support N-hop broadcast?
         * @see  ETSI TS 102 868-1 v1.1.1 B.4/1
         */
        modulepar boolean PICS_NHOPBC := false;
        
        /**
         * @desc Is access parameters settigs supported?
         * @see  ETSI TS 102 868-1 v1.1.1 B.5/1
         */
        modulepar boolean PICS_CIP := false;
        
        /**
         * @desc Is IUT support 15628 Kernel Emulation?
         * @see  ETSI TS 102 868-1 v1.1.1 B.5/2
         */
        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
+334 −0
Original line number Diff line number Diff line
/**
 *  @author     ETSI / STF422_EETS
 *  @version    $URL:$
 *              $Id:$
 *  @desc       FAST networking & transport layer protocol (ISO 29281-2) Pixits
 */
module LibItsFntp_Pixits {
    
    // LibCommon
    import from LibCommon_DataStrings {
        type Bit6, Bit7
    };
    
    // LibIts
    import from CITSapplMgmtApplReg language "ASN.1:1997" {
        type ITSaid
    };
    import from CALMmanagement language "ASN.1:1997" {
        type 
            ITS_scuId, StationID
    };
    import from CALMllsap language "ASN.1:1997" {
        type
            EUI64, 
            UserPriority, Link_ID
    };
    import from CALMfntp language "ASN.1:1997" {
        type
            PortNumber, ITSfpdu, FNTPhopCount,
            RXcip, TXcip
    };
    import from CALMlegacySupport language "ASN.1:1997" {
        type FNTPlpp
    };
    
    /**
     * @desc Service reference value used bu NF-FNTP-PORT.request SAP primitive
     */
    group defaultSettings {
        
        /**
         * @desc Defines a number uniquely identifying the endpoint at this host in an implementation specific way
         * @see ISO 29281-2 - Clause 8.2.1 Link Identifier
         */
        modulepar integer PX_SERVICE_REF := 0;
        
        /**
         * @desc Defines teh value to set to fill field for NFsapPrimitivesUp primitive
         * @see ISO 29281-2 - Clause 8.2.1 Link Identifier
         */
        modulepar Bit6 PX_NF_SAP_UP_FILL_FIELD_VALUE := '000000'B;
        
        /**
         * @desc Defines teh value to set to fill field for NFsapPrimitivesDown primitive
         * @see ISO 29281-2 - Clause 8.2.1 Link Identifier
         */
        modulepar Bit7 PX_NF_SAP_DOWN_FILL_FIELD_VALUE := '0000000'B;
        
        /**
         * @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;
         
        /**
         * @desc The user priority as specified in ISO 21218
         */
        modulepar UserPriority PX_USER_PRIORITY := 0;
        
        /**
         * @desc TODO
         */
        modulepar ITS_scuId PX_HOST_SCU_ID := 0;
        
        /**
         * @desc TODO
         */
        modulepar ITS_scuId PX_UNKNOWN_HOST_SCU_ID := 255;
        
    } // End of group defaultSettings
    
    /**
     * @desc 64 bits MAC addresses for local CIs/VCIs for ITS_S host
     */
    group localMACCommunication {
        
        /**
         * @desc Identifies the CI on ITS-S host 
         * @see ISO 21218 - Clause 6.2 Link Identifier 
         */
        modulepar EUI64 PX_SRC_LOCAL_CIID := '0000000000000000'O; 
        
        /**
         * @desc Identifies a different VCI on ITS-S host/router only 
         * @see ISO 21218 - Clause 6.2 Link Identifier 
         */
        modulepar EUI64 PX_SRC_DIFFERENT_LOCAL_CIID := '0000000000000001'O; 
        
        /**
         * @desc Identifies the VCI for broadcast on ITS-S host 
         */
        modulepar EUI64 PX_SRC_REMOTE_CIID_BC := '0000000000000000'O;
        
        /**
         * @desc Identifies the VCI for multicast on ITS-S host 
         */
        modulepar EUI64 PX_SRC_REMOTE_CIID_MC := '0000000000000000'O;
        
        /**
         * @desc Unicast (peer to peer)
         */
        modulepar EUI64 PX_SRC_REMOTE_CIID_UC := '0000000000000000'O;
        
        /**
         * @desc Identifies a second VCI for unicast (peer to peer) on ITS-S host 
         */
        modulepar EUI64 PX_SRC_SECOND_REMOTE_CIID_UC := '0000000000000000'O;
        
    } // End of group localMACCommunication
    
    /**
     * @desc 64 bits MAC addresses for remote/peer ITS-S station
     */
    group remoteMACCommunication {
        
        /**
         * @desc Identifies uniquely a specific CI in a specific "ITS-S Communication Unit"
         * @see ISO 21218 - Clause 6.2 Link Identifier
         */
        modulepar EUI64 PX_DEST_LOCAL_CIID := '0000000000000000'O;
        
        /**
         * @desc Broadcast
         */
        modulepar EUI64 PX_DEST_REMOTE_CIID_BC := '0000000000000000'O;
        
        /**
         * @desc Multicast
         */
        modulepar EUI64 PX_DEST_REMOTE_CIID_MC := '0000000000000000'O;
        
        /**
         * @desc Unicast (peer to peer)
         */
        modulepar EUI64 PX_DEST_REMOTE_CIID_UC := '0000000000000000'O;
        
    } // End of remoteMACCommunication
    
    /**
     * @desc 64 bits MAC addresses for router CIs
     */
    group routerMACCommunication {
        
    } // End of routerMACCommunication
    
    /**
     * @desc Contains the Link Identifier parameters for broadcast, Multicast and unicast modes
     * @see ISO 21218 Clause 6.2
     * Notes:
     * <li>vciID Identifies the MAC address of the Communication Interface identified by the CIID</li>
     * <li>CIID Identifies the Communication Interface of the ITS-SCU. 0 indicates unknown or not existent</li>
     * <li>scuID Identifies the ITS-SCU in the ITS station</li>
     */
    group linkIDs {
        
        /**
         * @desc Identify the VCI to be used to transmit the packet, i.e. the peer station, for Broadcast
         */
        modulepar Link_ID PX_LINK_ID_BC := {
            remoteCIID := PX_SRC_REMOTE_CIID_BC,
            localCIID := PX_SRC_LOCAL_CIID
        }
        
        /**
         * @desc Identify a second VCI to be used to transmit the packet, i.e. the peer station, for Broadcast
         */
        modulepar Link_ID PX_LINK_ID_BC_WITH_SECOND_SCU_ID := {
            remoteCIID := PX_SRC_REMOTE_CIID_BC,
            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
         */
        modulepar Link_ID PX_LINK_ID_MC := {
            remoteCIID := PX_SRC_REMOTE_CIID_MC,
            localCIID := PX_SRC_LOCAL_CIID
        }
        
        /**
         * @desc Identify an unknown VCI to be used to transmit the packet, i.e. the peer station, for Multicast
         */
        modulepar Link_ID PX_LINK_ID_UNKWNON := {
            remoteCIID := PX_SRC_REMOTE_CIID_UC,
            localCIID := 'DEADBEEFDEADBABE'O
        }
        
        /**
         * @desc Identify the VCI to be used to transmit the packet, i.e. the peer station, for Unicast
         */
        modulepar Link_ID PX_LINK_ID_UC := {
            remoteCIID := PX_SRC_REMOTE_CIID_UC,
            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
         */
        modulepar StationID PX_STATION_ID_UNKNOWN := '00AA00AA'O;
        
    } // End of group stationIDs
    
    group portNumbers {
        
        /**
         * @desc Indicate the source port number, i.e. the local endpoint
         */
        modulepar PortNumber PX_LOCAL_PORT_NUMBER := { portLong := 5555 } ;
        
        /**
         * @desc Indicate the destination port number, i.e. the peer ITS-SP
         */
        modulepar PortNumber PX_REMOTE_PORT_NUMBER := { portLong := 5556 } ;
        
        /**
         * @desc Indicate an unknown destination port number
         */
        modulepar PortNumber PX_UNKNOWN_REMOTE_PORT_NUMBER := { portLong := 666 } ;
        
        /**
         * @desc Indicate the forwarding source port number, i.e. the originator endpoint
         * 
         * @see ISO/CD 29281-2 Clause 8.3.1
         */
        modulepar PortNumber PX_FORWARDING_SRC_PORT := { portLong := 5550 } ;
        
        /**
         * @desc Indicate the forwarding destination port number, i.e. the destinator endpoint
         * 
         * @see ISO/CD 29281-2 Clause 8.3.1
         */
        modulepar PortNumber PX_FORWARDING_DST_PORT := { portLong := 5551 } ;
        
        /**
         * @desc Indicate the forwarding destination port number, i.e. the destinator endpoint
         * 
         * @see ISO/CD 29281-2 Clause 8.3.1
         */
        modulepar PortNumber PX_SERVICE_PORT := { portLong := 32700 } ;
        
    } // End of group portNumbers
    
    group invalidControlField {
        
        /**
         * @desc TODO
         */
        modulepar FNTPlpp PX_LPP := 'CAFEDECA'O;
    }
    
    group hopsConstants {
        
        /**
         * Single hop value
         * @see ISO/CD 29281-2 Clause 8.3.1 NF-FNTP-COMM.request
         */
        modulepar FNTPhopCount PX_SHOP := 0;
        
        /**
         * N hops value
         * @see ISO/CD 29281-2 Clause 8.3.1 NF-FNTP-COMM.request
         */
        modulepar FNTPhopCount PX_NHOPS := 5;
        
    } // End of group hopsConstants
    
    group cipConstants {
        
        /**
         *  Access parameters settigs for reception
         * @see ISO/CD 29281-2 Clause 7.10.1 Purpose of CIPs
         */
        modulepar RXcip PX_CIP_RX_SETTINGS := 'CAFEDECA'O;
        
        /**
         * Access parameters settigs for transmission
         * @see ISO/CD 29281-2 Clause 7.10.1 Purpose of CIPs
         */
        modulepar TXcip PX_CIP_TX_SETTINGS := 'C0CAC01A'O;
        
    } // End of group cipConstants
    
} // End of module LibItsFntp_Pixits
 No newline at end of file
+987 −0

File added.

Preview size limit exceeded, changes collapsed.

+160 −0
Original line number Diff line number Diff line
/**
 *  @author     ETSI / STF422_EETS
 *  @version    $URL:$
 *              $Id:$
 *  @desc       Types and constants definitions for Fast Networking & Transport layer Protocol (ISO 29281-2)
 */
module LibItsFntp_TypesAndValues {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues { 
        type UInt16 
    };
    
    // LibIts
    import from CALMllsap language "ASN.1:1997" {
        type
            INsapPrimitivesUp 
    };
    import from CALMfntp language "ASN.1:1997" {
        type 
            FNTPNPDU, 
            NFsapPrimitivesDown, NFsapPrimitivesUp, FNTPintForwarding, 
            PortNumber 
    };
    
    /**
     * @desc FNTP port values
     * @see ISO/CD 29281-2 Table 1 — FNTP endpoints identified by port numbers
     */
    group fntpPortsValues {
        
        /**
         * @desc Groupcast manager, i.e. Service Advertisement Message (SAM) endpoint
         */
        const UInt16 c_portSam := 0;
        
        /**
         * @desc dynamic port
         */
        const UInt16 c_portDyn := 128; // FIXME Not sure for this value !?
        
        /**
         * @desc Low limit of reserved range
         */
        const UInt16 c_portReservedLow := 32717;
        /**
         * @desc High limit of reserved range
         */
        const UInt16 c_portReservedHigh := 32763;
        /**
         * @desc Inter ITS-SCU communications specified in ISO 24102-4
         */
        const UInt16 c_portIic := 32764;
        
        /**
         * @desc Shall be used to identify an ITS-SCU with functionality of an ITS-S router. These values shall be used only in the FNTP forwarding header
         */
        const UInt16 c_portRtr := 32765;
        
        /**
         * @desc Shall be used to identify an ITS-SCU with functionality of an ITS-S host. These values shall be used only in the FNTP forwarding header
         */
        const UInt16 c_portHst := 32766;
        
        /**
         * @desc Unknown or 'don't care' port
         */
        const UInt16 c_portNon := 32767;
        
    } // End of group fntpPortsValues
    
    group utPrimitives {
        
        /**
         * @desc Trigger to initialize the IUT.
         */
        type record UtFntpInitialize {
        }
        
        /**
         * @desc Events at the application layer of the IUT.
         */
        type union UtFntpEvent { // FIXME To be removed
            anytype noField
        }
        
        /**
         * @desc Send a XXX.req command to the IUT through a SAP.
         */
        type union UtFntpCommandRequest { 
            NFsapPrimitivesDown nfSapPrimitives
        }
        
        /**
         * @desc Receive a XXX.conf command from the IUT through a SAP.
         */
        type union UtFntpCommandConfirm { 
            NFsapPrimitivesUp nfSapPrimitives
        }
        
        /**
         * @desc Receive a XXX.ind command from the IUT through a SAP.
         */
        type union UtFntpCommandIndication { 
            NFsapPrimitivesUp nfSapPrimitives
        }
        
    } // End of group utPrimitives

    group acPrimitives {
        
        /**
         * @desc    TA primitives for FNTP
         * @member acGenerateFntpNPDU       To generate a station-internal FNTP NDPU
         * @member acGenerateSamMessagePDU  To generate a SAM message
         * @member acGenerateCtxMessagePDU  To generate a CTX message
         */
        type union AcFntpPrimitive { 
            AcGenerateFntpNPDU acGenerateFntpNPDU,
            AcGenerateSamMessagePDU acGenerateSamMessagePDU,
            AcGenerateCtxMessagePDU acGenerateCtxMessagePDU
        }
        
        /**
         * @desc    Primitive for receiveing response from TA
         */
        type union AcFntpResponse { // FIXME To be removed
            anytype noField
        }
        
        /**
         * @desc    Primitive for TA to generate a station-internal FNTP NDPU
         * @member  fntpNPDU Number of hops. This parameter shall be set to zero for single hop
         */
        type record AcGenerateFntpNPDU {
            INsapPrimitivesUp fntpNPDU
        }
        
        /**
         * @desc    Generate a SAM message
         * @member  samPDU  The SAM pdu
         */
        type record AcGenerateSamMessagePDU {
            INsapPrimitivesUp samPDU
        }
        
        /**
         * @desc    Generate a CTX message
         * @member  ctxPDU  The CTX pdu
         */
        type record AcGenerateCtxMessagePDU {
            INsapPrimitivesUp ctxPDU
        }
        
    } // End of group acPrimitives

}
with {
    encode "LibItsFntp_TypesAndValues"
} //End of module LibItsFntp_TypesAndValues
 No newline at end of file
Loading