DEENESPTFRRUARHIKOZHNL

Vehicle-2-X GeoNetworking (V2xGn)

ModulV2xGn (Vehicle-2-X GeoNetworking)
BSW-Modul-ID182
Standard-Header#include "V2xGn.h"
SWS-SpezifikationAUTOSAR_CP_SWS_V2XGeoNetworking.pdf, AUTOSAR_SWS_V2XGeoNetworking.pdf
Umfang70 Records · 15 Snippets
ClusterVehicle-2-X (V2X)

Vehicle-2-X GeoNetworking (V2xGn)

AUTOSAR Classic Off-board Comm. Services-Modul Vehicle-2-X GeoNetworking (V2xGn, Spezifikation: AUTOSAR_CP_SWS_V2XGeoNetworking.pdf, AUTOSAR_SWS_V2XGeoNetworking.pdf).

Funktionen — Übersicht

Typen — Übersicht

Anforderungen — Übersicht

Funktionen & Typen — Detailansicht

function V2xGn_Transmit [SWS_V2xGn_00070] 📄 PDF

V2x_GnTxResultType V2xGn_Transmit(uint16 TransactionId16, const V2xGn_TxParamsType* TxParams, uint16 Length);

Is called by V2x_ Btp to send a message.

function V2xGn_V2xM_PreparePseudonymChange [SWS_V2xGn_00072] 📄 PDF

Std_ReturnType V2xGn_V2xM_PreparePseudonymChange(const V2x_PseudonymType* PseudonymPtr);

This function is called by the V2x M when a Pseudonym Change occurs to prepare the change in every module using it.

function V2xGn_MainFunction [SWS_V2xGn_00075] 📄 PDF

void V2xGn_MainFunction(void);

Main function of the V2x Gn module for periodical execution of protocol operations.

function V2xGn_V2xM_CommitPseudonymChange [SWS_V2xGn_00111] 📄 PDF

Std_ReturnType V2xGn_V2xM_CommitPseudonymChange(void);

This function is called by the V2x M when all modules are OK with the pseudonym change and the change is to be committed. Availab le via V2x Gn_ V2x M.h

function V2xGn_V2xM_EncapConfirmation [SWS_V2xGn_00118] 📄 PDF

void V2xGn_V2xM_EncapConfirmation(uint16 TransactionId16);

This function is called by the V2x M when an encapsulation has been finished.

function V2xGn_V2xM_DecapConfirmation [SWS_V2xGn_00122] 📄 PDF

void V2xGn_V2xM_DecapConfirmation(uint32 TransactionId32, V2xM_SecReportType SecReport, uint64 CertificateId, uint32 ItsAid, uint8 SspLength, uint8* SspBits);

This function is called by the V2x M when a decapsulation has been finished.

function V2xGn_V2xM_AbortPseudonymChange [SWS_V2xGn_00126] 📄 PDF

Std_ReturnType V2xGn_V2xM_AbortPseudonymChange(void);

This function is called by the V2x M when not all modules are OK with the pseudonym change and the change is to be rolled back.

function V2xGn_RxIndication [SWS_V2xGn_91001] 📄 PDF

void V2xGn_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module. Tags: atp.Status=draft

function V2xGn_TxConfirmation [SWS_V2xGn_91002] 📄 PDF

void V2xGn_TxConfirmation(PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. Tags: atp.Status=draft

requirement SWS_V2xGn_00034 [SWS_V2xGn_00034] 📄 PDF

[SWS_V2xGn_00034] ⌈The V2xGn module shall provide the API V2xGn_Transmit () to enable transmit requests from the V2xBtp Module.⌋

requirement SWS_V2xGn_00035 [SWS_V2xGn_00035] 📄 PDF

The V2xGn module shall transmits packets using the EthIf_Transmit() A PI provided by the EthIf Module . This has to be done during the V2xGn_Transmit context .

requirement SWS_V2xGn_00038 [SWS_V2xGn_00038] 📄 PDF

[SWS_V2xGn_00038] ⌈The V2xGn module shall create a unique DecapReqId for each received packet. This DecapReqId is used to track the result of each decap- sulation request during which the signature of the received packet is verified.⌋

requirement SWS_V2xGn_00039 [SWS_V2xGn_00039] 📄 PDF

[SWS_V2xGn_00039] ⌈The V2xGn module shall indicate received packets via the V2xBtp_RxIndication() callback to the BTP module.⌋

requirement SWS_V2xGn_00041 [SWS_V2xGn_00041] 📄 PDF

Type of error Related error code Error value API service called with invalid parameter V2XGN_ E_ PARAM 0x01 API service called with invalid pointer V2XGN_ E_ PARAM_ POINTER 0x02 API service used without module initialization V2XGN_ E_ UNINIT 0x03 API service called with invalid configuration pointer V2XGN_ E_ INIT_ FAILED 0x04

requirement SWS_V2xGn_00042 [SWS_V2xGn_00042] 📄 PDF

Module Header File Imported Type Com Stack_ Types Com Stack_ Types.h Buf Req _ Return Type Eth Eth_ General Types.h Eth _ Buf Idx Type Eth_ General Types.h Eth _ Frame Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type V2x_ General Types Rte_ V2x M_ Type.h V2x M _ Position And Time Type Rte_ V2x M_ Type.h V2x M _ Sec Report Type V2x_ General Types.h V2x _ Chan Type V2x_ General Types.h V2x _ Gn Address Type V2x_ General Types.h V2x _ Gn Area Shape Type V2x_ General Types.h V2x _ Gn Destination Are a Type V2x_ General Types.h V2x _ Gn Destination Type V2x_ General Types.h V2x _ Gn Long Position Vector Type V2x_ General Types.h V2x _ Gn Packet Transport Type V2x_ General Types.h V2x _ Gn Tx Result Type V2x_ General Types.h V2x _ Gn Upper Protocol Type V2x_ General Types.h V2x _ Pseudonym Type V2x_ General Types.h V2x _ Sec Profile Type V2x_ General Types.h V2x _ Sec Return Type V2x_ General Types.h V2x _ Traffic Class Id Type V2x Btp V2x Btp.h V2x Btp _ Rx Params Type WEth WEth_ General Types.h W Eth _ Buf W Rx Param Id Type WEth_ General Types.h W Eth _ Buf W Tx Param Id Type

requirement SWS_V2xGn_00076 [SWS_V2xGn_00076] 📄 PDF

Eth If _ Get Buf W Rx - Params Eth If.h Read out values related to the receive direction of the transceiver for a received packet. For example, this could be RSSI or Channel belonging to one single packet. Eth If _ Get Buf W Tx - Params Eth If.h Read out valu es related to the transmit direction of the transceiver for a transmitted packet. For example, this could be transaction ID belonging to one single packet. Eth If _ Provide Tx - Buffer Eth If.h Provides access to a transmit buffer of the specified Ethernet controller. Eth If _ Set Buf W Tx - Params Eth If.h Set values related to the transmit direction of the transceiver for a specific buffer (packet to be sent). For example, this can be the desired transmit power or the channel belonging to one single packet. Eth If _ Transmit Eth If.h Triggers transmission of a previously filled transmit buffer V2x Btp _ Copy Tx - Data V2x Btp.h This API is called by the V2x Gn module to request the V2x Btp module to copy the transmission data to a specific location. V2x Btp _ Rx - Indication V2x Btp.h Via this API, the V2x Btp module gets the data (BTP - PDU), the Geo Networking parameters and the Transaction ID of a received Geo Networking packet. V2x M _ Calc - Distance V2x M.h Calculates the distance between two geograp hical points on earth with the assumption that they are on elevation 0. V2x M _ Get - Position And Time V2x M.h Provides the instantaneous position information. V2x M _ Get Ref - Time Ptr V2x M.h Provides a pointer to the time reference of the V2X - Stack. V2 x M _ Trigger - Pseudonym - Change V2x M.h This function is called by the V2x Fac, V2x Gn or another entity to change the Pseudonym used by the V2X - Stack, e.g. due to a Geo Networking address conflict. V2x M _ V2x Gn _ - Get Global Tx - Params V2x M_ V2x Gn.h This function is called by V2x Gn to get the current channel busy percentage for the specified channel V2x M _ V2x Gn _ - Req Decap V2x M_ V2x Gn.h This function is called by the V2x Gn to decrypt and verify a message. An asynchronous V2x Gn_ V2x M_ Decap C onfirmation call will be used to notify V2x Gn of the result. V2x M _ V2x Gn _ - Req Encap V2x M_ V2x Gn.h This function is called by the V2x Gn to sign and/ or encrypt a message. An asynchronous V2x Gn_ V2x M_ Encap Confirmation call will be used to notify V2x Gn of the result. V2x M _ V2x Gn _ - Set Global Rx - Params V2x M_ V2x Gn.h This function is called by V2x Gn to set the current channel busy percentage for the specified channel

requirement SWS_V2xGn_00077 [SWS_V2xGn_00077] 📄 PDF

Det _ Report Error Det.h Service to report development errors. V2x Btp _ Tx - Confirmation V2x Btp.h By this API primitive, the V2x Btp module gets an indication from the V2x Gn module about the status of the transmission of the data (FAC - PDU) with the associated ID.

requirement SWS_V2xGn_00083 [SWS_V2xGn_00083] 📄 PDF

[SWS_V2xGn_00083] ⌈The V2xGn module shall provide transmission parameters to the Wireless Ethernet Driver for a V2X Packet to be transmitted via an API call to EthIf_SetBufWTxParams(). This has to be done during the V2xGn_Transmit() con- text.⌋

requirement SWS_V2xGn_00084 [SWS_V2xGn_00084] 📄 PDF

[SWS_V2xGn_00084] ⌈The V2xGn module shall get the reception status of a re- ceived packet during the V2xGn_RxIndication() from the EthIf module with a call to EthIf_GetBufWRxParams().⌋

requirement SWS_V2xGn_00090 [SWS_V2xGn_00090] 📄 PDF

[SWS_V2xGn_00090] ⌈If development error detection is enabled: the function shall check the parameter VersionInfoPtr for being valid. If the check fails, the function shall raise the development error V2XGN_E_PARAM_POINTER.⌋

requirement SWS_V2xGn_00091 [SWS_V2xGn_00091] 📄 PDF

[SWS_V2xGn_00091] Upstream requirements: SRS_V2X_00176 ⌈The function V2xGn_V2xM_PreparePseudonymChange() shall prepare the setting of the pseudonym specific part of the GeoNetworking Address being used for packet transmission.⌋

requirement SWS_V2xGn_00092 [SWS_V2xGn_00092] 📄 PDF

[SWS_V2xGn_00092] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋

requirement SWS_V2xGn_00093 [SWS_V2xGn_00093] 📄 PDF

[SWS_V2xGn_00093] ⌈If development error detection is enabled: the function shall check the parameter PseudonymPtr for being valid. If the check fails, the function shall raise the development error V2XGN_E_PARAM_POINTER.⌋ Note: This starts a module internal transaction for the pseudonym change. The actual pseudonym change becomes effective only after an API call to V2xGn_V2xM_Com- mitPseudonymChange().

requirement SWS_V2xGn_00095 [SWS_V2xGn_00095] 📄 PDF

[SWS_V2xGn_00095] ⌈The function V2xGn_Transmit() shall transmit a V2X Packet.⌋

requirement SWS_V2xGn_00096 [SWS_V2xGn_00096] 📄 PDF

[SWS_V2xGn_00096] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋

requirement SWS_V2xGn_00098 [SWS_V2xGn_00098] 📄 PDF

[SWS_V2xGn_00098] Status: OBSOLETE ⌈The function shall return V2X_GNTX_E_MAXSDUSIZEOVFL if the call to EthIf_ProvideTxBuffer returns BUFREQ_E_OVFL.⌋

requirement SWS_V2xGn_00099 [SWS_V2xGn_00099] 📄 PDF

[SWS_V2xGn_00099] ⌈The function shall return V2X_GNTX_E_MAXPACKETLIFE- TIME if the parameter TxParams.maxPacketLifetime is invalid.⌋

requirement SWS_V2xGn_00100 [SWS_V2xGn_00100] 📄 PDF

[SWS_V2xGn_00100] ⌈The function shall return V2X_GNTX_E_TCID if the parameter TxParams.trafficClassId is invalid.⌋

requirement SWS_V2xGn_00101 [SWS_V2xGn_00101] 📄 PDF

[SWS_V2xGn_00101] ⌈The function shall return V2X_GNTX_E_MAXGEOAREASIZE if the parameter TxParams.destinationType is V2X_GNDESTINATION_AREA and the parameter TxParams.destinationArea is invalid.⌋

requirement SWS_V2xGn_00103 [SWS_V2xGn_00103] 📄 PDF

[SWS_V2xGn_00103] ⌈The function V2xGn_RxIndication() shall get reception param- eters of the Wireless Ethernet Driver for a V2X Packet received via an API call to EthIf_GetBufWRxParams.⌋() This is done to get access to the wireless specific reception parameters of the packet that is not available through the V2xGn_RxIndication() API.

requirement SWS_V2xGn_00104 [SWS_V2xGn_00104] 📄 PDF

[SWS_V2xGn_00104] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋()

requirement SWS_V2xGn_00105 [SWS_V2xGn_00105] 📄 PDF

[SWS_V2xGn_00105] Status: OBSOLETE ⌈If development error detection is enabled: the function shall check the parameter DataPtr for being valid. If the check fails, the function shall raise the development error V2XGN_E_PARAM_POINTER.⌋

requirement SWS_V2xGn_00112 [SWS_V2xGn_00112] 📄 PDF

[SWS_V2xGn_00112] Upstream requirements: SRS_V2X_00176 ⌈The function V2xGn_V2xM_CommitPseudonymChange() shall update the pseudonym specific part of the module’s GeoNetworking Address.⌋

requirement SWS_V2xGn_00113 [SWS_V2xGn_00113] 📄 PDF

[SWS_V2xGn_00113] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋ Note: The function requires previous preparation of the pseudonym via an API call to V2xGn_V2xM_PreparePseudonymChange().

requirement SWS_V2xGn_00115 [SWS_V2xGn_00115] 📄 PDF

[SWS_V2xGn_00115] Upstream requirements: SRS_V2X_00176 ⌈The function V2xGn_V2xM_AbortPseudonymChange() shall set the state of the module to the state before the pseudonym change has been prepared.⌋

requirement SWS_V2xGn_00116 [SWS_V2xGn_00116] 📄 PDF

[SWS_V2xGn_00116] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋ Note: The function requires previous preparation of the pseudonym via an API call to V2xGn_V2xM_PreparePseudonymChange().

requirement SWS_V2xGn_00127 [SWS_V2xGn_00127] 📄 PDF

[SWS_V2xGn_00127] ⌈The V2xGn module shall call V2xM_SetGlobalRxParams() with CBR information extracted from the GeoNetworking header.⌋

requirement SWS_V2xGn_00128 [SWS_V2xGn_00128] 📄 PDF

[SWS_V2xGn_00128] ⌈The V2xGn module shall call V2xM_GetGlobalTxParams() that delivers own channel CBR information set in the GeoNetworking header to be transmitted.⌋ The transmission request towards the LSduR is performed with direct data provision. With direct data provision, the data for transmission is forwarded in one single call via the LSduR to the lower layer. The lower layer is responsible to transfer the data to a transmit buffer.

requirement SWS_V2xGn_00131 [SWS_V2xGn_00131] 📄 PDF

[SWS_V2xGn_00131] ⌈The V2xGn module shall use V2xM_CalcDistance() when cal- culations of geographical distances are necessary for the V2xGn protocol operations.⌋

requirement SWS_V2xGn_00133 [SWS_V2xGn_00133] 📄 PDF

If development error detection is enabled: The function shall check the parameter CfgPtr for containing a valid configuration. If the check fails, the function shall raise the development error V2XGN_E_INIT_FAILED.

requirement SWS_V2xGn_00135 [SWS_V2xGn_00135] 📄 PDF

[SWS_V2xGn_00135] ⌈The V2xGn module shall create a unique EncapReqId for each packet to be transmitted. This EncapReqId is used to track the result of each encapsu- lation request during which the packet to be transmitted is signed to authenticate the transmitting ITS station.⌋

requirement SWS_V2xGn_00136 [SWS_V2xGn_00136] 📄 PDF

[SWS_V2xGn_00136] Usage of LSduR_V2xGnTransmit() in context of V2xGn_- Transmit() Status: DRAFT Replaces: SWS_V2xGn_00082, SWS_V2xGn_00035 Upstream requirements: SRS_V2X_26011 ⌈The V2xGn module shall transmit packets using the LSduR_V2xGnTransmit() API provided by the LSduR Module. This has to be done during the V2xGn_Transmit() context.⌋

requirement SWS_V2xGn_00137 [SWS_V2xGn_00137] 📄 PDF

[SWS_V2xGn_00137] Transmission request with direct data provision Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If a transmission request need to be performed, then the V2xGn module shall call LSduR_V2XGnTransmit() with the following arguments: • TxPduId equal to the PDU id that is referenced by the used V2xGnTxPdu • PduInfoPtr.SduDataPtr equal to the data pointer • PduInfoPtr.SduLength equal to the data length • PduInfoPtr.MetaDataPtr equal to the pointer of the created MetaDataItem configured at the V2xGnTxPdu that corresponds to the given TxPduId. ⌋

requirement SWS_V2xGn_00138 [SWS_V2xGn_00138] 📄 PDF

[SWS_V2xGn_00138] Meta data handling while containing headers Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If the V2xGn module provides headers necessary for the transmission through PduInfoPtr.MetaDataPtr then MetaDataItem shall be set in the following order: • ETHERNET_MAC_64 equal to the destination MAC address • LISTELEM_PTR equal to the pointer of the created instance of type ListElem- StructType in the following order: – create an instance of type ListElemStructType and set NextLis- tElemPtr to NULL_PTR – set DataPtr to address of the created header and DataLength to the length of the created header • PRIORITY_8 equal to the priority value used for this packet ⌋

requirement SWS_V2xGn_00139 [SWS_V2xGn_00139] 📄 PDF

[SWS_V2xGn_00139] Meta data handling while not containing headers Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If the V2xGn module provides headers necessary for the transmission through PduInfoPtr.SduDataPtr then MetaDataItem shall be set in the following order: • ETHERNET_MAC_64 equal to the Physical destination address (MAC address in network byte order) • LISTELEM_PTR equal to NULL_PTR • PRIORITY_8 equal to the priority value used for this packet ⌋

requirement SWS_V2xGn_00140 [SWS_V2xGn_00140] 📄 PDF

[SWS_V2xGn_00140] Reception parameters derived from PDU Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If a packet is received, the V2xGn module shall derive the frame type (EthIfFram- eType) and the EthIfCtrl (EthIfController) configured in EthIf via the PDU that is referenced by the V2xGnRxPdu which is identified by the given RxPduId.⌋

requirement SWS_V2xGn_00141 [SWS_V2xGn_00141] 📄 PDF

[SWS_V2xGn_00141] Reception parameters derived from meta data items Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If a packet is received, the V2xGn module shall consume meta data items PduIn- foPtr.MetaDataPtr configured at the V2xGnRxPdu that corresponds to the given RxPduId in the following order: • ETHERNET_MAC_64 indicating the Physical source address (MAC address in net- work byte order) • BROADCAST_8 indicating a broadcast frame ⌋

requirement SWS_V2xGn_00147 [SWS_V2xGn_00147] 📄 PDF

[SWS_V2xGn_00147] Error report for aborting the transmission request Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈The V2xGn shall report the runtime error by calling Det_ReportRuntimeError( V2XGN_E_TX_INTERNAL_PROCESSING_FAILED) if one of the following conditions applies: • A transmission processing is requested from LSduR_V2xGnTransmit() and then aborted. ⌋

requirement SWS_V2xGn_00148 [SWS_V2xGn_00148] 📄 PDF

[SWS_V2xGn_00148] Return value if LSduR_V2xGnTransmit() reports E_NOT_OK Status: DRAFT Replaces: SWS_V2xGn_00098 Upstream requirements: SRS_V2X_26011 ⌈The function shall return V2X_GNTX_E_UNSPECIFIED if the call to LSduR_- V2xGnTransmit() returns E_NOT_OK.⌋

requirement SWS_V2xGn_00149 [SWS_V2xGn_00149] 📄 PDF

[SWS_V2xGn_00149] Development error handling for invalid PduInfoPtr Status: DRAFT Replaces: SWS_V2xGn_00105 Upstream requirements: SRS_V2X_26011 ⌈If development error detection is enabled: the function shall check the parameter PduInfoPtr for being valid. If the check fails, the function shall raise the development error V2XGN_E_PARAM_POINTER.⌋

requirement SWS_V2xGn_00150 [SWS_V2xGn_00150] 📄 PDF

[SWS_V2xGn_00150] Development Error handling if V2xGn_TxConfirmation() is indicated while V2XGn module is in uninitialized state Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋

requirement SWS_V2xGn_20169 [SWS_V2xGn_20169] 📄 PDF

[SWS_V2xGn_20169] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module shall check the distance from the sender position - in the security envelope, if available - and forward only messages with a distance from the sender of equal or less than 6 km.⌋

requirement SWS_V2xGn_20181 [SWS_V2xGn_20181] 📄 PDF

[SWS_V2xGn_20181] Upstream requirements: SRS_V2X_00010 ⌈If the V2xGn module detects a collision of the least significant 32 bit of the "Certifi- cate digest" / "hashedId8" with the "Certificate digest" / "hashedId8" of another ITS station, it shall initiate a change of its authorization ticket (pseudonym) only if the cer- tificate corresponding to the other "Certificate digest" / "hashedId8" is valid, and the current authorization ticket was selected according to rules defined in [SWS_V2xM_ 00201] (that is to say no such collision has already triggered the change to the current authorization ticket).⌋

requirement SWS_V2xGn_20260 [SWS_V2xGn_20260] 📄 PDF

[SWS_V2xGn_20260] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module shall buffer GBC packets when no neighbours are available (store-carry-forward) if the SCF bit of the TC (Traffic Class) field of GBC packets is set to 1.⌋

requirement SWS_V2xGn_20262 [SWS_V2xGn_20262] 📄 PDF

[SWS_V2xGn_20262] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module is not required to offload packets to another channel. Conse- quently, the channel offload bit of the TC (Traffic Class) field in the BTP frames to be sent should be set to 0. Value 1 will be ignored anyway.⌋

requirement SWS_V2xGn_20263 [SWS_V2xGn_20263] 📄 PDF

[SWS_V2xGn_20263] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module shall only use the DCC profiles specified in [SWS_WEth_20235]. Consequently, the DCC Profile ID bits of the TC (Traffic Class) field shall only use the DPID values defined in [SWS_WEth_20235].⌋

requirement SWS_V2xGn_20264 [SWS_V2xGn_20264] 📄 PDF

[SWS_V2xGn_20264] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn shall set the itsGnIsMobile bit of the Flags field to 1.⌋

requirement SWS_V2xGn_20265 [SWS_V2xGn_20265] 📄 PDF

[SWS_V2xGn_20265] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn shall set the Maximum Hop Limit (MHL) field to 10.⌋

requirement SWS_V2xGn_20266 [SWS_V2xGn_20266] 📄 PDF

[SWS_V2xGn_20266] Upstream requirements: SRS_V2X_00010, SRS_V2X_00279 ⌈The V2xGn module shall only support Area forwarding algorithms specified in [9] Annex E.3.⌋

requirement SWS_V2xGn_20267 [SWS_V2xGn_20267] 📄 PDF

[SWS_V2xGn_20267] Upstream requirements: SRS_V2X_00010 ⌈When forwarding packets, the V2xGn module shall use the DCC profile DP3 as de- fined in [19].⌋

requirement SWS_V2xGn_20268 [SWS_V2xGn_20268] 📄 PDF

[SWS_V2xGn_20268] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module shall only use duplicate packet detection as specified in [9] Annex A.2 and A.3.⌋

requirement SWS_V2xGn_20270 [SWS_V2xGn_20270] 📄 PDF

[SWS_V2xGn_20270] Upstream requirements: SRS_V2X_00010 ⌈All GeoNetworking frames sent by the V2xGn module shall use the EtherType value 0x8947 as listed by the IEEE Registration Authority at [20].⌋

requirement SWS_V2xGn_20401 [SWS_V2xGn_20401] 📄 PDF

[SWS_V2xGn_20401] Upstream requirements: SRS_V2X_00010 ⌈The GN Source Address shall be constructed as follows: • Set the field M (bit 0) to 0. • Set the field ST (bits 1 to 5) to the station type of the ITS-S. The station type in the GN source address shall be identical to the station type in CAMs/DENMs. • Set reserved bits 6 to 15 to 0. • Set the field MID (bits 16 to 63) to the value of the MAC address. ⌋

requirement SWS_V2xGn_91000 [SWS_V2xGn_91000] 📄 PDF

[SWS_V2xGn_91000] Definition of runtime errors in module V2xGn Status: DRAFT ⌈ Type of error Related error code Error value Internal transmission processing aborted V2XGN_E_TX_INTERNAL_PROCESSING_ FAILED 0x01 ⌋

requirement SWS_V2xGn_CONSTR_00142 [SWS_V2xGn_CONSTR_00142] 📄 PDF

[SWS_V2xGn_CONSTR_00142] Reception PDU constraint for keeping the local buffer Status: DRAFT ⌈Each V2xGnRxPdu shall refer to global PDU that has KeepLocalPduBuffer set to FALSE.⌋

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_V2xGn
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_V2xGn@rel:R20-11#1bfa46dc
Content hash
1bfa46dc
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_V2XGeoNetworking.pdf#nameddest=SWS_V2xGn_00068

Initialization and status

Returns the version information of this module.

void V2xGn_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr);
V2xGn_Init function

Initializes the V2x Gn module.

void V2xGn_Init(void* CfgPtr);

Services

Is called by V2x_ Btp to send a message.

V2x_GnTxResultType V2xGn_Transmit(uint16 TransactionId16, const V2xGn_TxParamsType* TxParams, uint16 Length);

Indication of a received PDU from a lower layer communication interface module. Tags: atp.Status=draft

void V2xGn_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. Tags: atp.Status=draft

void V2xGn_TxConfirmation(PduIdType TxPduId, Std_ReturnType result);

This function is called by the V2x M when not all modules are OK with the pseudonym change and the change is to be rolled back.

Std_ReturnType V2xGn_V2xM_AbortPseudonymChange(void);

This function is called by the V2x M when all modules are OK with the pseudonym change and the change is to be committed. Availab le via V2x Gn_ V2x M.h

Std_ReturnType V2xGn_V2xM_CommitPseudonymChange(void);

This function is called by the V2x M when a decapsulation has been finished.

void V2xGn_V2xM_DecapConfirmation(uint32 TransactionId32, V2xM_SecReportType SecReport, uint64 CertificateId, uint32 ItsAid, uint8 SspLength, uint8* SspBits);

This function is called by the V2x M when an encapsulation has been finished.

void V2xGn_V2xM_EncapConfirmation(uint16 TransactionId16);

This function is called by the V2x M when a Pseudonym Change occurs to prepare the change in every module using it.

Std_ReturnType V2xGn_V2xM_PreparePseudonymChange(const V2x_PseudonymType* PseudonymPtr);

Callbacks

Indicates the reception of an Ethernet frame

void V2xGn_RxIndication(uint8 CtrlIdx, Eth_FrameType FrameType, boolean IsBroadcast, const uint8* PhysAddrPtr, uint8* DataPtr, uint16 LenByte);

Confirms the transmission of an Ethernet frame

void V2xGn_TxConfirmation(uint8 CtrlIdx, uint8 BufIdx, Std_ReturnType Result);

Cyclic

Main function of the V2x Gn module for periodical execution of protocol operations.

void V2xGn_MainFunction(void);

Types

Structure containing parameters for the V2x Gn_ Transmit() API.

Requirements

SWS_V2xGn_00034 requirement

[SWS_V2xGn_00034] ⌈The V2xGn module shall provide the API V2xGn_Transmit () to enable transmit requests from the V2xBtp Module.⌋

SWS_V2xGn_00035 requirement

The V2xGn module shall transmits packets using the EthIf_Transmit() A PI provided by the EthIf Module . This has to be done during the V2xGn_Transmit context .

SWS_V2xGn_00038 requirement

[SWS_V2xGn_00038] ⌈The V2xGn module shall create a unique DecapReqId for each received packet. This DecapReqId is used to track the result of each decap- sulation request during which the signature of the received packet is verified.⌋

SWS_V2xGn_00039 requirement

[SWS_V2xGn_00039] ⌈The V2xGn module shall indicate received packets via the V2xBtp_RxIndication() callback to the BTP module.⌋

SWS_V2xGn_00041 requirement

Type of error Related error code Error value API service called with invalid parameter V2XGN_ E_ PARAM 0x01 API service called with invalid pointer V2XGN_ E_ PARAM_ POINTER 0x02 API service used without module initialization V2XGN_ E_ UNINIT 0x03 API service called with invalid configuration pointer V2XGN_ E_ INIT_ FAILED 0x04

SWS_V2xGn_00042 requirement

Module Header File Imported Type Com Stack_ Types Com Stack_ Types.h Buf Req _ Return Type Eth Eth_ General Types.h Eth _ Buf Idx Type Eth_ General Types.h Eth _ Frame Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type V2x_ General Types Rte_ V2x M_ Type.h V2x M _ Position And Time Type Rte_ V2x M_ Type.h V2x M _ Sec Report Type V2x_ General Types.h V2x _ Chan Type V2x_ General Types.h V2x _ Gn Address Type V2x_ General Types.h V2x _ Gn Area Shape Type V2x_ General Types.h V2x _ Gn Destination Are a Type V2x_ General Types.h V2x _ Gn Destination Type V2x_ General Types.h V2x _ Gn Long Position Vector Type V2x_ General Types.h V2x _ Gn Packet Transport Type V2x_ General Types.h V2x _ Gn Tx Result Type V2x_ General Types.h V2x _ Gn Upper Protocol Type V2x_ General Types.h V2x _ Pseudonym Type V2x_ General Types.h V2x _ Sec Profile Type V2x_ General Types.h V2x _ Sec Return Type V2x_ General Types.h V2x _ Traffic Class Id Type V2x Btp V2x Btp.h V2x Btp _ Rx Params Type WEth WEth_ General Types.h W Eth _ Buf W Rx Param Id Type WEth_ General Types.h W Eth _ Buf W Tx Param Id Type

SWS_V2xGn_00076 requirement

Eth If _ Get Buf W Rx - Params Eth If.h Read out values related to the receive direction of the transceiver for a received packet. For example, this could be RSSI or Channel belonging to one single packet. Eth If _ Get Buf W Tx - Params Eth If.h Read out valu es related to the transmit direction of the transceiver for a transmitted packet. For example, this could be transaction ID belonging to one single packet. Eth If _ Provide Tx - Buffer Eth If.h Provides access to a transmit buffer of the specified Ethernet controller. Eth If _ Set Buf W Tx - Params Eth If.h Set values related to the transmit direction of the transceiver for a specific buffer (packet to be sent). For example, this can be the desired transmit power or the channel belonging to one single packet. Eth If _ Transmit Eth If.h Triggers transmission of a previously filled transmit buffer V2x Btp _ Copy Tx - Data V2x Btp.h This API is called by the V2x Gn module to request the V2x Btp module to copy the transmission data to a specific location. V2x Btp _ Rx - Indication V2x Btp.h Via this API, the V2x Btp module gets the data (BTP - PDU), the Geo Networking parameters and the Transaction ID of a received Geo Networking packet. V2x M _ Calc - Distance V2x M.h Calculates the distance between two geograp hical points on earth with the assumption that they are on elevation 0. V2x M _ Get - Position And Time V2x M.h Provides the instantaneous position information. V2x M _ Get Ref - Time Ptr V2x M.h Provides a pointer to the time reference of the V2X - Stack. V2 x M _ Trigger - Pseudonym - Change V2x M.h This function is called by the V2x Fac, V2x Gn or another entity to change the Pseudonym used by the V2X - Stack, e.g. due to a Geo Networking address conflict. V2x M _ V2x Gn _ - Get Global Tx - Params V2x M_ V2x Gn.h This function is called by V2x Gn to get the current channel busy percentage for the specified channel V2x M _ V2x Gn _ - Req Decap V2x M_ V2x Gn.h This function is called by the V2x Gn to decrypt and verify a message. An asynchronous V2x Gn_ V2x M_ Decap C onfirmation call will be used to notify V2x Gn of the result. V2x M _ V2x Gn _ - Req Encap V2x M_ V2x Gn.h This function is called by the V2x Gn to sign and/ or encrypt a message. An asynchronous V2x Gn_ V2x M_ Encap Confirmation call will be used to notify V2x Gn of the result. V2x M _ V2x Gn _ - Set Global Rx - Params V2x M_ V2x Gn.h This function is called by V2x Gn to set the current channel busy percentage for the specified channel

SWS_V2xGn_00077 requirement

Det _ Report Error Det.h Service to report development errors. V2x Btp _ Tx - Confirmation V2x Btp.h By this API primitive, the V2x Btp module gets an indication from the V2x Gn module about the status of the transmission of the data (FAC - PDU) with the associated ID.

SWS_V2xGn_00083 requirement

[SWS_V2xGn_00083] ⌈The V2xGn module shall provide transmission parameters to the Wireless Ethernet Driver for a V2X Packet to be transmitted via an API call to EthIf_SetBufWTxParams(). This has to be done during the V2xGn_Transmit() con- text.⌋

SWS_V2xGn_00084 requirement

[SWS_V2xGn_00084] ⌈The V2xGn module shall get the reception status of a re- ceived packet during the V2xGn_RxIndication() from the EthIf module with a call to EthIf_GetBufWRxParams().⌋

SWS_V2xGn_00090 requirement

[SWS_V2xGn_00090] ⌈If development error detection is enabled: the function shall check the parameter VersionInfoPtr for being valid. If the check fails, the function shall raise the development error V2XGN_E_PARAM_POINTER.⌋

SWS_V2xGn_00091 requirement

[SWS_V2xGn_00091] Upstream requirements: SRS_V2X_00176 ⌈The function V2xGn_V2xM_PreparePseudonymChange() shall prepare the setting of the pseudonym specific part of the GeoNetworking Address being used for packet transmission.⌋

SWS_V2xGn_00092 requirement

[SWS_V2xGn_00092] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋

SWS_V2xGn_00093 requirement

[SWS_V2xGn_00093] ⌈If development error detection is enabled: the function shall check the parameter PseudonymPtr for being valid. If the check fails, the function shall raise the development error V2XGN_E_PARAM_POINTER.⌋ Note: This starts a module internal transaction for the pseudonym change. The actual pseudonym change becomes effective only after an API call to V2xGn_V2xM_Com- mitPseudonymChange().

SWS_V2xGn_00095 requirement

[SWS_V2xGn_00095] ⌈The function V2xGn_Transmit() shall transmit a V2X Packet.⌋

SWS_V2xGn_00096 requirement

[SWS_V2xGn_00096] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋

SWS_V2xGn_00098 requirement

[SWS_V2xGn_00098] Status: OBSOLETE ⌈The function shall return V2X_GNTX_E_MAXSDUSIZEOVFL if the call to EthIf_ProvideTxBuffer returns BUFREQ_E_OVFL.⌋

SWS_V2xGn_00099 requirement

[SWS_V2xGn_00099] ⌈The function shall return V2X_GNTX_E_MAXPACKETLIFE- TIME if the parameter TxParams.maxPacketLifetime is invalid.⌋

SWS_V2xGn_00100 requirement

[SWS_V2xGn_00100] ⌈The function shall return V2X_GNTX_E_TCID if the parameter TxParams.trafficClassId is invalid.⌋

SWS_V2xGn_00101 requirement

[SWS_V2xGn_00101] ⌈The function shall return V2X_GNTX_E_MAXGEOAREASIZE if the parameter TxParams.destinationType is V2X_GNDESTINATION_AREA and the parameter TxParams.destinationArea is invalid.⌋

SWS_V2xGn_00103 requirement

[SWS_V2xGn_00103] ⌈The function V2xGn_RxIndication() shall get reception param- eters of the Wireless Ethernet Driver for a V2X Packet received via an API call to EthIf_GetBufWRxParams.⌋() This is done to get access to the wireless specific reception parameters of the packet that is not available through the V2xGn_RxIndication() API.

SWS_V2xGn_00104 requirement

[SWS_V2xGn_00104] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋()

SWS_V2xGn_00105 requirement

[SWS_V2xGn_00105] Status: OBSOLETE ⌈If development error detection is enabled: the function shall check the parameter DataPtr for being valid. If the check fails, the function shall raise the development error V2XGN_E_PARAM_POINTER.⌋

SWS_V2xGn_00112 requirement

[SWS_V2xGn_00112] Upstream requirements: SRS_V2X_00176 ⌈The function V2xGn_V2xM_CommitPseudonymChange() shall update the pseudonym specific part of the module’s GeoNetworking Address.⌋

SWS_V2xGn_00113 requirement

[SWS_V2xGn_00113] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋ Note: The function requires previous preparation of the pseudonym via an API call to V2xGn_V2xM_PreparePseudonymChange().

SWS_V2xGn_00115 requirement

[SWS_V2xGn_00115] Upstream requirements: SRS_V2X_00176 ⌈The function V2xGn_V2xM_AbortPseudonymChange() shall set the state of the module to the state before the pseudonym change has been prepared.⌋

SWS_V2xGn_00116 requirement

[SWS_V2xGn_00116] ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init() was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋ Note: The function requires previous preparation of the pseudonym via an API call to V2xGn_V2xM_PreparePseudonymChange().

SWS_V2xGn_00127 requirement

[SWS_V2xGn_00127] ⌈The V2xGn module shall call V2xM_SetGlobalRxParams() with CBR information extracted from the GeoNetworking header.⌋

SWS_V2xGn_00128 requirement

[SWS_V2xGn_00128] ⌈The V2xGn module shall call V2xM_GetGlobalTxParams() that delivers own channel CBR information set in the GeoNetworking header to be transmitted.⌋ The transmission request towards the LSduR is performed with direct data provision. With direct data provision, the data for transmission is forwarded in one single call via the LSduR to the lower layer. The lower layer is responsible to transfer the data to a transmit buffer.

SWS_V2xGn_00131 requirement

[SWS_V2xGn_00131] ⌈The V2xGn module shall use V2xM_CalcDistance() when cal- culations of geographical distances are necessary for the V2xGn protocol operations.⌋

SWS_V2xGn_00133 requirement

If development error detection is enabled: The function shall check the parameter CfgPtr for containing a valid configuration. If the check fails, the function shall raise the development error V2XGN_E_INIT_FAILED.

SWS_V2xGn_00135 requirement

[SWS_V2xGn_00135] ⌈The V2xGn module shall create a unique EncapReqId for each packet to be transmitted. This EncapReqId is used to track the result of each encapsu- lation request during which the packet to be transmitted is signed to authenticate the transmitting ITS station.⌋

SWS_V2xGn_00136 requirement

[SWS_V2xGn_00136] Usage of LSduR_V2xGnTransmit() in context of V2xGn_- Transmit() Status: DRAFT Replaces: SWS_V2xGn_00082, SWS_V2xGn_00035 Upstream requirements: SRS_V2X_26011 ⌈The V2xGn module shall transmit packets using the LSduR_V2xGnTransmit() API provided by the LSduR Module. This has to be done during the V2xGn_Transmit() context.⌋

SWS_V2xGn_00137 requirement

[SWS_V2xGn_00137] Transmission request with direct data provision Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If a transmission request need to be performed, then the V2xGn module shall call LSduR_V2XGnTransmit() with the following arguments: • TxPduId equal to the PDU id that is referenced by the used V2xGnTxPdu • PduInfoPtr.SduDataPtr equal to the data pointer • PduInfoPtr.SduLength equal to the data length • PduInfoPtr.MetaDataPtr equal to the pointer of the created MetaDataItem configured at the V2xGnTxPdu that corresponds to the given TxPduId. ⌋

SWS_V2xGn_00138 requirement

[SWS_V2xGn_00138] Meta data handling while containing headers Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If the V2xGn module provides headers necessary for the transmission through PduInfoPtr.MetaDataPtr then MetaDataItem shall be set in the following order: • ETHERNET_MAC_64 equal to the destination MAC address • LISTELEM_PTR equal to the pointer of the created instance of type ListElem- StructType in the following order: – create an instance of type ListElemStructType and set NextLis- tElemPtr to NULL_PTR – set DataPtr to address of the created header and DataLength to the length of the created header • PRIORITY_8 equal to the priority value used for this packet ⌋

SWS_V2xGn_00139 requirement

[SWS_V2xGn_00139] Meta data handling while not containing headers Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If the V2xGn module provides headers necessary for the transmission through PduInfoPtr.SduDataPtr then MetaDataItem shall be set in the following order: • ETHERNET_MAC_64 equal to the Physical destination address (MAC address in network byte order) • LISTELEM_PTR equal to NULL_PTR • PRIORITY_8 equal to the priority value used for this packet ⌋

SWS_V2xGn_00140 requirement

[SWS_V2xGn_00140] Reception parameters derived from PDU Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If a packet is received, the V2xGn module shall derive the frame type (EthIfFram- eType) and the EthIfCtrl (EthIfController) configured in EthIf via the PDU that is referenced by the V2xGnRxPdu which is identified by the given RxPduId.⌋

SWS_V2xGn_00141 requirement

[SWS_V2xGn_00141] Reception parameters derived from meta data items Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If a packet is received, the V2xGn module shall consume meta data items PduIn- foPtr.MetaDataPtr configured at the V2xGnRxPdu that corresponds to the given RxPduId in the following order: • ETHERNET_MAC_64 indicating the Physical source address (MAC address in net- work byte order) • BROADCAST_8 indicating a broadcast frame ⌋

SWS_V2xGn_00147 requirement

[SWS_V2xGn_00147] Error report for aborting the transmission request Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈The V2xGn shall report the runtime error by calling Det_ReportRuntimeError( V2XGN_E_TX_INTERNAL_PROCESSING_FAILED) if one of the following conditions applies: • A transmission processing is requested from LSduR_V2xGnTransmit() and then aborted. ⌋

SWS_V2xGn_00148 requirement

[SWS_V2xGn_00148] Return value if LSduR_V2xGnTransmit() reports E_NOT_OK Status: DRAFT Replaces: SWS_V2xGn_00098 Upstream requirements: SRS_V2X_26011 ⌈The function shall return V2X_GNTX_E_UNSPECIFIED if the call to LSduR_- V2xGnTransmit() returns E_NOT_OK.⌋

SWS_V2xGn_00149 requirement

[SWS_V2xGn_00149] Development error handling for invalid PduInfoPtr Status: DRAFT Replaces: SWS_V2xGn_00105 Upstream requirements: SRS_V2X_26011 ⌈If development error detection is enabled: the function shall check the parameter PduInfoPtr for being valid. If the check fails, the function shall raise the development error V2XGN_E_PARAM_POINTER.⌋

SWS_V2xGn_00150 requirement

[SWS_V2xGn_00150] Development Error handling if V2xGn_TxConfirmation() is indicated while V2XGn module is in uninitialized state Status: DRAFT Upstream requirements: SRS_V2X_26011 ⌈If development error detection is enabled: the function shall check that the service V2xGn_Init was previously called. If the check fails, the function shall raise the development error V2XGN_E_UNINIT.⌋

SWS_V2xGn_20169 requirement

[SWS_V2xGn_20169] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module shall check the distance from the sender position - in the security envelope, if available - and forward only messages with a distance from the sender of equal or less than 6 km.⌋

SWS_V2xGn_20181 requirement

[SWS_V2xGn_20181] Upstream requirements: SRS_V2X_00010 ⌈If the V2xGn module detects a collision of the least significant 32 bit of the "Certifi- cate digest" / "hashedId8" with the "Certificate digest" / "hashedId8" of another ITS station, it shall initiate a change of its authorization ticket (pseudonym) only if the cer- tificate corresponding to the other "Certificate digest" / "hashedId8" is valid, and the current authorization ticket was selected according to rules defined in [SWS_V2xM_ 00201] (that is to say no such collision has already triggered the change to the current authorization ticket).⌋

SWS_V2xGn_20260 requirement

[SWS_V2xGn_20260] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module shall buffer GBC packets when no neighbours are available (store-carry-forward) if the SCF bit of the TC (Traffic Class) field of GBC packets is set to 1.⌋

SWS_V2xGn_20262 requirement

[SWS_V2xGn_20262] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module is not required to offload packets to another channel. Conse- quently, the channel offload bit of the TC (Traffic Class) field in the BTP frames to be sent should be set to 0. Value 1 will be ignored anyway.⌋

SWS_V2xGn_20263 requirement

[SWS_V2xGn_20263] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module shall only use the DCC profiles specified in [SWS_WEth_20235]. Consequently, the DCC Profile ID bits of the TC (Traffic Class) field shall only use the DPID values defined in [SWS_WEth_20235].⌋

SWS_V2xGn_20264 requirement

[SWS_V2xGn_20264] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn shall set the itsGnIsMobile bit of the Flags field to 1.⌋

SWS_V2xGn_20265 requirement

[SWS_V2xGn_20265] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn shall set the Maximum Hop Limit (MHL) field to 10.⌋

SWS_V2xGn_20266 requirement

[SWS_V2xGn_20266] Upstream requirements: SRS_V2X_00010, SRS_V2X_00279 ⌈The V2xGn module shall only support Area forwarding algorithms specified in [9] Annex E.3.⌋

SWS_V2xGn_20267 requirement

[SWS_V2xGn_20267] Upstream requirements: SRS_V2X_00010 ⌈When forwarding packets, the V2xGn module shall use the DCC profile DP3 as de- fined in [19].⌋

SWS_V2xGn_20268 requirement

[SWS_V2xGn_20268] Upstream requirements: SRS_V2X_00010 ⌈The V2xGn module shall only use duplicate packet detection as specified in [9] Annex A.2 and A.3.⌋

SWS_V2xGn_20270 requirement

[SWS_V2xGn_20270] Upstream requirements: SRS_V2X_00010 ⌈All GeoNetworking frames sent by the V2xGn module shall use the EtherType value 0x8947 as listed by the IEEE Registration Authority at [20].⌋

SWS_V2xGn_20401 requirement

[SWS_V2xGn_20401] Upstream requirements: SRS_V2X_00010 ⌈The GN Source Address shall be constructed as follows: • Set the field M (bit 0) to 0. • Set the field ST (bits 1 to 5) to the station type of the ITS-S. The station type in the GN source address shall be identical to the station type in CAMs/DENMs. • Set reserved bits 6 to 15 to 0. • Set the field MID (bits 16 to 63) to the value of the MAC address. ⌋

SWS_V2xGn_91000 requirement

[SWS_V2xGn_91000] Definition of runtime errors in module V2xGn Status: DRAFT ⌈ Type of error Related error code Error value Internal transmission processing aborted V2XGN_E_TX_INTERNAL_PROCESSING_ FAILED 0x01 ⌋

[SWS_V2xGn_CONSTR_00142] Reception PDU constraint for keeping the local buffer Status: DRAFT ⌈Each V2xGnRxPdu shall refer to global PDU that has KeepLocalPduBuffer set to FALSE.⌋