Commit 2286026a authored by garciay's avatar garciay
Browse files

GeoNetworking codecs & Layers ongoing

Add PCAP layer
parent 927b844e
module LibItsGeoNetworking_EncdecDeclarations {
import from LibItsGeoNetworking_TypesAndValues all;
import from LibItsGeoNetworking_TestSystem all;
external function fx_enc_GeoNetworkingReq (GeoNetworkingReq p) return bitstring
with {extension "prototype(convert) encode(LibIts_Interface)"}
external function fx_dec_GeoNetworkingReq (inout bitstring b, out GeoNetworkingReq p) return integer
with {extension "prototype(sliding) decode(LibIts_Interface)"}
external function fx_enc_GeoNetworkingInd (GeoNetworkingInd p) return bitstring
with {extension "prototype(convert) encode(LibIts_Interface)"}
external function fx_dec_GeoNetworkingInd (inout bitstring b, out GeoNetworkingInd p) return integer
with {extension "prototype(sliding) decode(LibIts_Interface)"}
external function fx_enc_GeoNetworkingPdu (GeoNetworkingPdu p) return bitstring
with {extension "prototype(convert) encode(LibItsGeoNetworking)"}
......
......@@ -836,7 +836,7 @@ module LibItsGeoNetworking_Functions {
if ((PICS_GN_SECURITY == true) or (PICS_IS_IUT_SECURED == true)) {
f_acDisableSecurity();
}
} // End of function f_initialiseSecuredMode()
} // End of function f_uninitialiseSecuredMode()
} // end geoConfigurationFunctions
......
......@@ -50,7 +50,7 @@ module LibItsGeoNetworking_TestSystem {
*/
type port UpperTesterPort message {
out
UtInitialize, UtChangePosition, UtGnTrigger;
UtInitialize, UtChangePosition, UtAutoInteropTrigger, UtGnTrigger;
in
//FIXME RGY As discussed, boolean results are replaced by a top-level union of results
// UtInitializeResult, UtChangePositionResult, UtGnTriggerResult, UtGnEventInd;
......@@ -163,6 +163,9 @@ module LibItsGeoNetworking_TestSystem {
MacAddress macDestinationAddress,
Bit256 ssp optional,
UInt32 its_aid optional
} with {
// encode "RAW";
variant ""
}
/**
......@@ -172,6 +175,9 @@ module LibItsGeoNetworking_TestSystem {
GeoNetworkingPdu msgOut,
MacAddress macDestinationAddress,
UInt32 its_aid
} with {
// encode "RAW";
variant ""
}
} // end nt2Primitives
......
......@@ -231,6 +231,8 @@ module LibItsGeoNetworking_TypesAndValues {
UInt8 reserved,
Lifetime lifeTime,
UInt8 routerHopLimit
} with {
variant "FIELDORDER(msb)"
}
type enumerated BasicNextHeader {
......@@ -239,7 +241,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_securedPacket(2),
e_reserved
} with {
variant "4 bit"
variant "FIELDLENGTH(4)" //variant "4 bit"
}
/**
......@@ -250,6 +252,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record Lifetime {
UInt6 multiplier,
LtBase ltBase
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -261,7 +265,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_10s(2),
e_100s(3)
} with {
variant "2 bit"
variant "FIELDLENGTH(2)" //variant "2 bit"
}
} // end group geoNetworkingBasicHeader
......@@ -301,6 +305,8 @@ module LibItsGeoNetworking_TypesAndValues {
UInt16 plLength, // The Codec shall set the length of the paylaod if present
UInt8 maxHopLimit,
UInt8 reserved2
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -313,7 +319,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_ipv6(3),
e_reserved
} with {
variant "4 bit"
variant "FIELDLENGTH(4)" //variant "4 bit"
}
/**
......@@ -337,18 +343,21 @@ module LibItsGeoNetworking_TypesAndValues {
SCF scf,
ChannelOffload channelOffload,
TcId tcId
} with {
variant "FIELDORDER(msb)"
}
type enumerated SCF {
e_scfDisabled(0),
e_scfEnable (1)
} with {
variant "1 bit"
variant "FIELDLENGTH(1)" //variant "1 bit"
}
type enumerated ChannelOffload {
e_choffDisabled(0),
e_choffEnable (1)
} with {
variant "1 bit"
variant "FIELDLENGTH(1)" //variant "1 bit"
}
type UInt6 TcId;
......@@ -374,6 +383,8 @@ module LibItsGeoNetworking_TypesAndValues {
LSRequestHeader lsRequestHeader,
LSReplyHeader lsReplyHeader,
AnyHeader anyHeader
} with {
variant ""
}
/**
......@@ -385,6 +396,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record AnyHeader {
UInt16 seqNumber,
UInt16 reserved
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -396,6 +409,8 @@ module LibItsGeoNetworking_TypesAndValues {
*/
type record BeaconHeader {
LongPosVector srcPosVector
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -423,6 +438,8 @@ module LibItsGeoNetworking_TypesAndValues {
UInt16 distanceB,
UInt16 angle,
UInt16 reserved2
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -457,6 +474,8 @@ module LibItsGeoNetworking_TypesAndValues {
UInt16 reserved,
LongPosVector srcPosVector,
ShortPosVector dstPosVector
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -474,6 +493,8 @@ module LibItsGeoNetworking_TypesAndValues {
UInt16 reserved,
LongPosVector srcPosVector,
ShortPosVector dstPosVector
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -491,6 +512,8 @@ module LibItsGeoNetworking_TypesAndValues {
UInt16 reserved,
LongPosVector srcPosVector,
GN_Address gnAddress
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -504,6 +527,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record SHBHeader {
LongPosVector srcPosVector,
UInt32 reserved
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -519,6 +544,8 @@ module LibItsGeoNetworking_TypesAndValues {
UInt16 seqNumber,
UInt16 reserved,
LongPosVector srcPosVector
} with {
variant "FIELDORDER(msb)"
}
group geoNetworkingHeadersSubtypes {
......@@ -531,6 +558,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record AnyHeaderType {
HeaderType headerType(e_any),
UInt4 headerSubType
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -541,6 +570,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record BeaconHeaderType {
HeaderType headerType(e_beacon),
UInt4 headerSubType
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -551,6 +582,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record GeoAnycastHeaderType {
HeaderType headerType(e_geoAnycast),
HeaderSubTypeGeoAnycast headerSubType
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -561,6 +594,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record GeoBroadcastHeaderType {
HeaderType headerType(e_geoBroadcast),
HeaderSubTypeGeoBroadcast headerSubType
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -571,6 +606,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record GeoUnicastHeaderType {
HeaderType headerType(e_geoUnicast),
UInt4 headerSubType
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -581,6 +618,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record LsHeaderType {
HeaderType headerType(e_locationService),
HeaderSubTypeLs headerSubType
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -591,6 +630,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record SaHeaderType {
HeaderType headerType(e_serviceAnnouncement),
HeaderSubTypeSa headerSubType
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -601,6 +642,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record TsbHeaderType {
HeaderType headerType(e_topologicallyScopedBroadcast),
HeaderSubTypeTSB headerSubType
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -612,7 +655,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_geoAnycastElip(2),
e_reserved
} with {
variant "4 bit"
variant "FIELDLENGTH(4)" //variant "4 bit"
}
/**
......@@ -624,7 +667,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_geoBroadcastElip(2),
e_reserved
} with {
variant "4 bit"
variant "FIELDLENGTH(4)" //variant "4 bit"
}
/**
......@@ -635,7 +678,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_multiHop(1),
e_reserved
} with {
variant "4 bit"
variant "FIELDLENGTH(4)" //variant "4 bit"
}
/**
......@@ -646,7 +689,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_lsReply(1),
e_reserved
} with {
variant "4 bit"
variant "FIELDLENGTH(4)" //variant "4 bit"
}
/**
......@@ -657,7 +700,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_saEos(1),
e_reserved
} with {
variant "4 bit"
variant "FIELDLENGTH(4)" //variant "4 bit"
}
/**
......@@ -682,6 +725,8 @@ module LibItsGeoNetworking_TypesAndValues {
LsHeaderType lsHdr,
SaHeaderType saHdr,
UInt8 reserved
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -698,7 +743,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_serviceAnnouncement(7),
e_reserved
} with {
variant "4 bit"
variant "FIELDLENGTH(4)" //variant "4 bit"
}
/**
......@@ -738,6 +783,8 @@ module LibItsGeoNetworking_TypesAndValues {
Bit1 pai,
Int15 speed,
UInt16 heading
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -769,6 +816,8 @@ module LibItsGeoNetworking_TypesAndValues {
UInt32 timestamp_,
Int32 latitude,
Int32 longitude
} with {
variant "FIELDORDER(msb)"
}
group geoNetworkingAddress {
......@@ -796,6 +845,8 @@ module LibItsGeoNetworking_TypesAndValues {
StationType stationType,
UInt10 stationCountryCode,
Oct6 mid
} with {
variant "FIELDORDER(msb)"
}
group geoNetworkingAddressSubtypes {
......@@ -818,7 +869,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_tram(11),
e_roadSideUnit(15)
} with {
variant "5 bit"
variant "FIELDLENGTH(5)" //variant "5 bit"
}
/**
......@@ -829,7 +880,7 @@ module LibItsGeoNetworking_TypesAndValues {
e_manual(1),
e_initial(0)
} with {
variant "1 bit"
variant "FIELDLENGTH(1)" //variant "1 bit"
}
} // end group geoNetworkingAddressSubtypes
......@@ -854,6 +905,8 @@ module LibItsGeoNetworking_TypesAndValues {
type record Payload {
DecodedPayload decodedPayload optional,
GnRawPayload rawPayload
} with {
variant "FIELDORDER(msb)"
}
/**
......@@ -905,6 +958,16 @@ module LibItsGeoNetworking_TypesAndValues {
group utPrimitives {
/**
* @desc AutoInterop UpperTester trigger
* @member utRadioOnOff Set to true to power on the radio (on-link mode), false to power off the radio (off-link).
*/
type union UtAutoInteropTrigger {
boolean utRadioOnOff
} // End of type UtAutoInteropTrigger
type boolean UtAutoInteropTriggerResult;
/**
* @desc UT primitives for GeoNetworking
* @member geoUnicast -
......@@ -1121,5 +1184,6 @@ module LibItsGeoNetworking_TypesAndValues {
}
}
with {
variant ""
encode "LibItsGeoNetworking"
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment