Commit 2fe0f7cd authored by berge's avatar berge
Browse files

Implemented PON/FPB/BV/11-X and PON/FPB/BV/12-X

parent c3c406fc
Loading
Loading
Loading
Loading
+94 −12
Original line number Diff line number Diff line
@@ -85,10 +85,26 @@ module LibItsGeoNetworking_Templates {
                geoUnicast := {
                    gnAddress := p_destinationGnAddr,
                    lifetime := c_lifetime,
                    trafficClass := m_trafficClass,
                    payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
                }
            }
            
            /**
             * @desc    Request IUT to send a GeoUnicast message to a specific destination with specific lifetime
             * @param   p_destinationGnAddr Destination of the GeoUnicast message
             * @param   p_trafficClass      TrafficClass of the GeoUnicast message
             * @see     m_generateGeoUnicastMessage
             */
            template (value) UtGnTrigger m_generateGeoUnicastMessageWithTrafficClass(
                GN_Address p_destinationGnAddr,
                TrafficClass p_trafficClass
            ) modifies m_generateGeoUnicastMessage := {
                geoUnicast := {
                    trafficClass := p_trafficClass
                }
            }
                        
            /**
             * @desc    Request IUT to send a GeoUnicast message to a specific destination with specific lifetime
             * @param   p_destinationGnAddr Destination of the GeoUnicast message
@@ -146,11 +162,26 @@ module LibItsGeoNetworking_Templates {
                geoBroadcast := {
                	shape := p_geoArea.shape,
                    lifetime := c_lifetime,
                    trafficClass := m_trafficClass,
                    area := p_geoArea.area,
                    payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
                }
            }

            /**
             * @desc    Request IUT to send a GeoBroadcast message to a specific area
             * @param   p_geoArea           Destination area of the message
             * @param   p_trafficClass      TrafficClass of the GeoUnicast message
             */
            template (value) UtGnTrigger m_generateGeoBroadcastMessageWithTrafficClass(
                GeoArea p_geoArea,
                TrafficClass p_trafficClass
            ) modifies m_generateGeoBroadcastMessage := {
                geoBroadcast := {
                    trafficClass := p_trafficClass
                }
            }
                        
            /**
             * @desc    Request IUT to send a GeoBroadcast message to a specific area
             * @param   p_geoArea   Destination area of the message
@@ -190,11 +221,27 @@ module LibItsGeoNetworking_Templates {
                geoAnycast := {
                	shape := p_geoArea.shape,
                    lifetime := c_lifetime,
                    trafficClass := m_trafficClass,
                    area := p_geoArea.area,
                    payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
                }
            }

            /**
             * @desc    Request IUT to send a GeoAnycast message to a specific area with a payload
             * @param   p_geoArea           Destination area of the message
             * @param   p_trafficClass      TrafficClass of the GeoUnicast message
             * @see     m_generateGeoAnycastMessage
             */
            template (value) UtGnTrigger m_generateGeoAnycastMessageWithTrafficClass(
                GeoArea p_geoArea,
                TrafficClass p_trafficClass
            ) modifies m_generateGeoAnycastMessage := {
                geoAnycast := {
                    trafficClass := p_trafficClass
                }
            }
                        
            /**
             * @desc    Request IUT to send a GeoAnycast message to a specific area with a payload
             * @param   p_geoArea   Destination area of the message
@@ -215,10 +262,24 @@ module LibItsGeoNetworking_Templates {
             */
            template (value) UtGnTrigger m_generateShbMessage := {
                shb := {
                    trafficClass := m_trafficClass,
                    payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
                }
            }
 
            /**
             * @desc    Request IUT to send a SHB message with a payload
             * @param   p_trafficClass      TrafficClass of the GeoUnicast message
             * @see     m_generateShbMessage
             */
            template (value) UtGnTrigger m_generateShbMessageWithTrafficClass(
                TrafficClass p_trafficClass
            ) modifies m_generateShbMessage := {
                shb := {
                    trafficClass := p_trafficClass
                }
            }
                        
            /**
             * @desc    Request IUT to send a SHB message with a payload
             * @param   p_payload   Payload of the SHB message
@@ -238,10 +299,23 @@ module LibItsGeoNetworking_Templates {
            template (value) UtGnTrigger m_generateTsbMessage := {
                tsb := {
                	nbHops := 10,
                    trafficClass := m_trafficClass,
                    payload := { decodedPayload := omit, rawPayload := ''O} // do not use f_adaptPayload_m here
                }
            }

            /**
             * @desc    Request IUT to send a TSB message
             * @param   p_trafficClass      TrafficClass of the GeoUnicast message
             */
            template (value) UtGnTrigger m_generateTsbMessageWithTrafficClass(
                TrafficClass p_trafficClass
            ) modifies m_generateTsbMessage := {
                tsb := {
                    trafficClass := p_trafficClass
                }
            }
                        
            /**
             * @desc    Request IUT to change its position
             */
@@ -535,17 +609,19 @@ module LibItsGeoNetworking_Templates {
             * @param   p_destinationShortPosVec    Short position vector of destination
             * @param   p_seqNumber                 Sequence number of GeoUnicast packet
             * @param   p_hopLimit                  Maximum number of hops (Default: c_defaultHopLimit)
             * @param   p_trafficClass              Traffic Class 
             */
            template (value) GnNonSecuredPacket m_geoNwUnicastPacket(
                in template (value) LongPosVector p_sourceLongPosVec,
                in template (value) ShortPosVector p_destinationShortPosVec,
                in template (value) UInt16 p_seqNumber,
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit,
                in template (value) TrafficClass p_trafficClass := m_trafficClass
            ) := {
                commonHeader := m_commonHeader(
                    PX_GN_UPPER_LAYER,
                    m_geoUnicastHeaderType,
                    m_trafficClass,
                    p_trafficClass,
                    p_hopLimit
                ),
                extendedHeader := m_geoUnicastHeader(
@@ -666,17 +742,19 @@ module LibItsGeoNetworking_Templates {
             * @param   p_seqNumber             Sequence number of GeoAnycast packet
             * @param   p_anycastArea           Destination GeoArea
             * @param   p_hopLimit              Maximum number of hops (Default: c_defaultHopLimit)
             * @param   p_trafficClass          Traffic Class 
             */
            template (value) GnNonSecuredPacket m_geoNwAnycastPacket(
                in template (value) LongPosVector p_sourceLongPosVec,
                in template (value) UInt16 p_seqNumber,
                in template (value) GeoAnycastArea p_anycastArea,
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit,
                in template (value) TrafficClass p_trafficClass := m_trafficClass
            ) := {
                commonHeader := m_commonHeader(
                    PX_GN_UPPER_LAYER,
                    m_geoAnycastHeaderType(p_anycastArea.geoAnycastSubType),
                    m_trafficClass,
                    p_trafficClass,
                    p_hopLimit
                ),
                extendedHeader := m_geoAnycastHeader(
@@ -777,17 +855,20 @@ module LibItsGeoNetworking_Templates {
             * @param   p_sourceLongPosVec      Long position vector of source
             * @param   p_seqNumber             Sequence number of GeoBroadcast packet
             * @param   p_broadcastArea         Destination GeoArea
             * @param   p_hopLimit              Maximum number of hops (Default: c_defaultHopLimit)
             * @param   p_trafficClass          Traffic Class 
             */
            template (value) GnNonSecuredPacket m_geoNwBroadcastPacket(
                in template (value) LongPosVector p_sourceLongPosVec,
                in template (value) UInt16 p_seqNumber,
                in template (value) GeoBroadcastArea p_broadcastArea,
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit,
                in template (value) TrafficClass p_trafficClass := m_trafficClass
            ) := {
                commonHeader := m_commonHeader(
                    PX_GN_UPPER_LAYER,
                    m_geoBroadcastHeaderType(p_broadcastArea.geoBroadcastSubType),
                    m_trafficClass,
                    p_trafficClass,
                    p_hopLimit
                ),
                extendedHeader := m_geoBroadcastHeader(
@@ -1103,12 +1184,13 @@ module LibItsGeoNetworking_Templates {
            template (value) GnNonSecuredPacket m_geoNwTsbPacket(
                in template (value) UInt16 p_seqNumber,
                in template (value) LongPosVector p_sourceLongPosVec,
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit,
                in template (value) TrafficClass p_trafficClass := m_trafficClass
            ) := {
                commonHeader := m_commonHeader(
                    PX_GN_UPPER_LAYER,
                    m_tsbHeaderType,
                    m_trafficClass,
                    p_trafficClass,
                    p_hopLimit
                ),
                extendedHeader := m_tsbHeader(
+18 −8
Original line number Diff line number Diff line
@@ -937,22 +937,28 @@ module LibItsGeoNetworking_TypesAndValues {
         * @desc    UT primitive for IUT to send a GeoUnicast packet
         * @member  gnAddress       Destination of the packet
         * @member  lifetime        Lifetime of the packet
         * @member  trafficClass    Traffic class of the packet
         * @member  payload         Payload of the packet
         */
        type record GenerateGeoUnicastMessage {
            GN_Address gnAddress,
            UInt16 lifetime,
            TrafficClass trafficClass,
            Payload payload 
        }
        
        /**
         * @desc    UT primitive for IUT to send a GeoBroadcast packet
         * @member  shape           Shape of the area
         * @member  lifetime        Lifetime of the packet
         * @member  trafficClass    Traffic class of the packet
         * @member  area            Destination GeoArea
         * @member  payload         Payload of the packet
         */
        type record GenerateGeoBroadcastMessage {
        	GeoShape shape,
            UInt16 lifetime,
            TrafficClass trafficClass,
            Area area,
            Payload payload 
        }
@@ -964,19 +970,23 @@ module LibItsGeoNetworking_TypesAndValues {
        
        /**
         * @desc    UT primitive for IUT to send a SHB packet
         * @member  trafficClass    Traffic class of the packet
         * @member  payload         Payload of the packet
         */
        type record GenerateSHBMessage {
        	TrafficClass trafficClass,
            Payload payload 
        }
        
        /**
         * @desc    UT primitive for IUT to send a SHB packet
         * @member  nbHops          Number of Hops
         * @member  trafficClass    Traffic class of the packet
         * @member  payload         Payload of the packet
         */
        type record GenerateTSBMessage {
        	UInt8   nbHops,
        	TrafficClass trafficClass,
            Payload payload 
        }