Commit 8a7a5c3e authored by garciay's avatar garciay
Browse files

Simplify Payload for GeoNetworking & BTP

==> Check TODO in Security ATS
parent ff4945fe
......@@ -33,8 +33,7 @@ module TestCodec_Btp {
template BtpPacket m_btpA_With_Payload (
in template (value) BtpPortId p_destPort,
in template (value) BtpPortId p_sourcePort,
in template DecodedBtpPayload p_decodedPayload,
in template (value) octetstring p_rawPayload
in template BtpRawPayload p_rawPayload
) := {
header := {
btpAHeader := {
......@@ -42,17 +41,13 @@ module TestCodec_Btp {
sourcePort := p_sourcePort
}
},
payload := {
decodedPayload := p_decodedPayload,
rawPayload := p_rawPayload
}
payload :=p_rawPayload
}
template BtpPacket mw_btpA_With_Payload (
in template (present) BtpPortId p_destPort,
in template (present) BtpPortId p_sourcePort,
in template DecodedBtpPayload p_decodedPayload,
in template (present) octetstring p_rawPayload
in template BtpRawPayload p_rawPayload
) := {
header := {
btpAHeader := {
......@@ -60,10 +55,7 @@ module TestCodec_Btp {
sourcePort := p_sourcePort
}
},
payload := {
decodedPayload := p_decodedPayload,
rawPayload := p_rawPayload
}
payload := p_rawPayload
}
template (value) BtpPacket m_btpB_Without_Payload (
......@@ -82,8 +74,7 @@ module TestCodec_Btp {
template BtpPacket m_btpB_With_Payload (
in template (value) BtpPortId p_destPort,
in template (value) BtpPortId p_destinationPortInfo,
in template DecodedBtpPayload p_decodedPayload,
in template (value) octetstring p_rawPayload
in template (value) BtpRawPayload p_rawPayload
) := {
header := {
btpBHeader := {
......@@ -91,10 +82,7 @@ module TestCodec_Btp {
destinationPortInfo := p_destinationPortInfo
}
},
payload := {
decodedPayload := p_decodedPayload,
rawPayload := p_rawPayload
}
payload := p_rawPayload
}
} // End of group LibItsBtp_DummyTemplates
......@@ -117,7 +105,6 @@ module TestCodec_Btp {
m_btpA_With_Payload (
1234,
0,
omit,
'CAFEDECA'O
),
true,
......@@ -130,7 +117,6 @@ module TestCodec_Btp {
m_btpB_With_Payload (
1234,
4567,
omit,
'CAFEDECA'O
),
true,
......@@ -143,7 +129,6 @@ module TestCodec_Btp {
BtpReq:{msgOut := m_btpA_With_Payload (
1234,
0,
omit,
'CAFEDECA'O
)
},
......@@ -177,7 +162,6 @@ module TestCodec_Btp {
BtpReq : { msgOut := m_btpA_With_Payload (
1234,
0,
omit,
'CAFEDECA'O
)
}
......
......@@ -33,7 +33,11 @@ module TestCodec_GeoNetworking {
// import from LibItsSecurity_Templates all;
// import from LibItsSecurity_Functions all;
// import from LibItsSecurity_Pixits all;
//
// LibItsBtp
import from LibItsBtp_TypesAndValues all;
import from LibItsBtp_Templates all;
// LibItsGeoNetworking
import from LibItsGeoNetworking_TypesAndValues all;
import from LibItsGeoNetworking_Templates all;
......@@ -169,12 +173,9 @@ module TestCodec_GeoNetworking {
template (value) GnNonSecuredPacket m_geoNwBeaconPacket_payload(
in template (value) LongPosVector p_sourceLongPosVec,
in template (value) octetstring p_payload
in template (value) GnRawPayload p_payload
) modifies m_geoNwBeaconPacket := {
payload := {
decodedPayload := omit,
rawPayload := p_payload
}
payload := p_payload
}
/**
......@@ -504,6 +505,7 @@ module TestCodec_GeoNetworking {
TestGeoNetworkingReq(
v_gnReq,
false);
v_gnReq.msgOut.gnPacket.packet.payload := omit
TestDecodeGeoNetworkingReq(
v_gnReq,
v_buffer
......@@ -534,6 +536,7 @@ module TestCodec_GeoNetworking {
TestGeoNetworkingReq(
v_gnReq,
false);
v_gnReq.msgOut.gnPacket.packet.payload := omit
TestDecodeGeoNetworkingReq(
v_gnReq,
v_buffer
......@@ -544,7 +547,26 @@ module TestCodec_GeoNetworking {
} // End of group testGeoNetMessages
group testGeoNetPort {
/**
* @desc Receive template for GeoNetworking DENM Packet
* @param p_destinationShortPosVec Short position vector of destination
* @param p_seqNumber Sequence number of GeoUnicast packet
* @param p_nextHeader Id of next header
*/
template (present) GnNonSecuredPacket mw_geoNwTsbPacketWithNextHeader_cam(
in template (present) LongPosVector p_sourceLongPosVec := ?,
in template (present) UInt8 p_hopLimit := ?,
in template (value) NextHeader p_nextHeader
) modifies mw_geoNwShbPacket := {
commonHeader := mw_commonHeaderWithHopLimit(
p_nextHeader,
m_shbHeaderType,
p_hopLimit
),
payload := ?
} // End of template mw_geoNwTsbPacketWithNextHeader_cam
/**
* @desc validate GeoNetworkingReq/Broadcast
* @verdict Pass on success, Fail otherwise
......@@ -553,6 +575,7 @@ module TestCodec_GeoNetworking {
var GeoNetworkingReq v_gnReq;
var ExtendedHeader v_header;
var boolean v_got_it := false;
var GeoNetworkingInd v_msg;
if (PX_GN_UPPER_LAYER != e_any) {
log("PX_GN_UPPER_LAYER shall be set to e_any");
......@@ -572,13 +595,40 @@ module TestCodec_GeoNetworking {
geoNetworkingPort.send(v_gnReq);
tc_ac.start;
alt {
[v_got_it == false] geoNetworkingPort.receive(mw_geoNwInd(?)) {
v_got_it := true;
setverdict(pass);
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwPdu(
mw_geoNwTsbPacketWithNextHeader_cam(
-,
-,
e_btpB
)))) {
if (v_got_it == false) {
v_got_it := true;
setverdict(pass);
}
repeat;
}
[] geoNetworkingPort.receive(
mw_geoNwInd(
mw_geoNwPdu(
mw_geoNwLsRequestPacket(
?,
?
)))) -> value v_msg {
log(
valueof(
v_msg.msgIn.gnPacket.packet.extendedHeader.lsRequestHeader.srcPosVector
));
repeat;
}
[] geoNetworkingPort.receive(mw_geoNwInd(?)) {
setverdict(fail);
}
[] tc_ac.timeout {
setverdict(fail, "Expected message not received1");
if (v_got_it == false) {
setverdict(inconc, "Expected message not received1");
}
}
}
......
module TestCodec_Multiport {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
// import from ITS_Container language "ASN.1:1997" all;
// import from CAM_PDU_Descriptions language "ASN.1:1997"all;
// import from DENM_PDU_Descriptions language "ASN.1:1997" all;
// LibItsCommon
// import from LibItsCommon_TypesAndValues all;
// import from LibItsCommon_Functions all;
// LibItsExternal
import from LibItsExternal_TypesAndValues all;
// LibItsCam
// import from LibItsCam_TypesAndValues all;
import from LibItsCam_TestSystem all;
// import from LibItsCam_Templates {
// template m_camReq;
// group camTemplateFunctions
// };
//
// LibItsDenm
// import from LibItsDenm_Templates all;
import from LibItsDenm_TestSystem all;
//
// // LibItsSecurity
// import from LibItsSecurity_TypesAndValues all;
// import from LibItsSecurity_Templates all;
// import from LibItsSecurity_Functions all;
// import from LibItsSecurity_Pixits all;
//
// LibItsGeoNetworking
import from LibItsGeoNetworking_TypesAndValues all;
import from LibItsGeoNetworking_Templates all;
import from LibItsGeoNetworking_Functions all;
import from LibItsGeoNetworking_TestSystem all;
import from LibItsGeoNetworking_Pixits all;
import from LibItsGeoNetworking_Pics all;
import from LibItsGeoNetworking_EncdecDeclarations all;
// TestCodec
import from TestCodec_TestAndSystem all;
/*type component MultiplePorts extends ItsBaseComponent {
port GeoNetworkingPort;
port CamPort;
port DenmPort;
//component variables
var CamInd vc_camMsg;
var DenmInd vc_camMsg;
var GeoNetworkingInd vc_camMsg;
//default
var default vc_default := null;
//global variables
var boolean vc_camReceived := false;
var UtCamEventIndList vc_utEvents := {};
var boolean vc_utDefaultActive := true;
var boolean vc_camDefaultActive := true;
var boolean vc_denmDefaultActive := true;
var boolean vc_geoNetworkingDefaultActive := true;
} // End of component ItsCam
*/
group LibItsGeoNetworking_testCases {
group LibItsGeoNetworking_DummyTemplates {
/**
* @desc Dummy template for GN_Address
*/
template (value) GN_Address m_dummyGnAddrIut := {
typeOfAddress := e_manual,
stationType := e_roadSideUnit,
stationCountryCode := 33,
mid := 'a4fedecabeef'O
}
/**
* @desc Dummy template for long position vector
*/
template (value) LongPosVector m_dummyLongPosVectorIut := {
gnAddr := m_dummyGnAddrIut,
timestamp_ := 123456,
latitude := 4856,
longitude := 675,
pai := '1'B,
speed := 55,
heading := 9876
}
template (value) GN_Address m_dummyGnAddrNodeA := {
typeOfAddress := e_manual,
stationType := e_pedestrian,
stationCountryCode := 49,
mid := 'a4fdea5ea5ed'O
}
template (value) GN_Address m_dummyGnAddrNodeB := {
typeOfAddress := e_manual,
stationType := e_specialVehicle,
stationCountryCode := 50,
mid := 'a40102030405'O
}
template (value) GN_Address m_dummyGnAddrNodeC := {
typeOfAddress := e_manual,
stationType := e_moped,
stationCountryCode := 42,
mid := 'deadbabebeef'O
}
template (value) LongPosVector m_dummyLongPosVectorNodeA := {
gnAddr := m_dummyGnAddrNodeA,
timestamp_ := 875,
latitude := 265,
longitude := 789,
pai := '0'B,
speed := 80,
heading := 548
}
template (value) LongPosVector m_dummyLongPosVectorNodeB := {
gnAddr := m_dummyGnAddrNodeB,
timestamp_ := 4585,
latitude := 126,
longitude := 123,
pai := '0'B,
speed := 45,
heading := 125
}
template (value) LongPosVector m_dummyLongPosVectorNodeC := {
gnAddr := m_dummyGnAddrNodeC,
timestamp_ := 23644,
latitude := 23754,
longitude := 49645,
pai := '0'B,
speed := 110,
heading := 23
}
template (value) ShortPosVector m_dummyShortPosVectorNodeC := {
gnAddr := m_dummyGnAddrNodeC,
timestamp_ := 23644,
latitude := 23754,
longitude := 49645
}
template (value) Area m_dummyArea1 := {
geoAreaPosLatitude := 298376,
geoAreaPosLongitude := 32745,
distanceA := 1234,
distanceB := 5678,
angle := 9123
}
template (value) Area m_dummyArea2 := {
geoAreaPosLatitude := 873548,
geoAreaPosLongitude := 2837,
distanceA := 8765,
distanceB := 4321,
angle := 4567
}
template (value) GeoBroadcastArea m_dummyGeoBroadcastArea1 := {
geoBroadcastSubType := e_geoBroadcastRect,
geoBroadcastArea := m_dummyArea1
}
template (value) GeoBroadcastArea m_dummyGeoBroadcastArea2 := {
geoBroadcastSubType := e_geoBroadcastElip,
geoBroadcastArea := m_dummyArea2
}
template (value) GeoAnycastArea m_dummyGeoAnycastArea1 := {
geoAnycastSubType := e_geoAnycastCircle,
geoAnycastArea := m_dummyArea1
}
template (value) GeoAnycastArea m_dummyGeoAnycastArea2 := {
geoAnycastSubType := e_geoAnycastRect,
geoAnycastArea := m_dummyArea2
}
template (value) GnNonSecuredPacket m_geoNwBeaconPacket_payload(
in template (value) LongPosVector p_sourceLongPosVec,
in template (value) GnRawPayload p_payload
) modifies m_geoNwBeaconPacket := {
payload := p_payload
}
/**
* @desc Send template for GeoUnicast header
* @param p_sourceLongPosVec Long position vector of source
* @param p_destinationLongPosVec Long position vector of destination
* @param p_senderLongPosVec Long position vector of sender
* @param p_seqNumber Sequence number of GeoUnicast packet
*/
template (value) ExtendedHeader m_geoUnicastHeaderGeoNetworking(
in template (value) LongPosVector p_sourceLongPosVec,
in template (value) ShortPosVector p_dstPosVector,
in template (value) UInt16 p_seqNumber
) := {
geoUnicastHeader := {
seqNumber := p_seqNumber,
reserved := c_uInt8Zero,
srcPosVector := p_sourceLongPosVec,
dstPosVector := p_dstPosVector
}
}
template (value) GeoNetworkingInd m_geoNwInd_withLinkLayerDestination(
in template (value) GeoNetworkingPdu p_geoNwMsg,
in template (value) MacAddress p_llDestinationAdress := 'FFFFFFFFFFFF'O,
in template (value) Bit256 p_ssp := int2bit(0, 256),
in template (value) UInt32 p_its_aid := 0
) := {
msgIn := p_geoNwMsg,
macDestinationAddress := p_llDestinationAdress,
ssp := p_ssp,
its_aid := p_its_aid
}
} // End of group LibItsGeoNetworking_DummyTemplates
group testMultiPort {
/**
* @desc validate GeoNetworkingReq/Broadcast
* @verdict Pass on success, Fail otherwise
*/
testcase tc_GeoNet_Port() runs on ItsGeoNetworking system ItsGeoNetworkingSystem {
var GeoNetworkingReq v_gnReq;
var ExtendedHeader v_header;
if (PX_GN_UPPER_LAYER != e_any) {
log("PX_GN_UPPER_LAYER shall be set to e_any");
stop;
}
map(self:geoNetworkingPort, system:geoNetworkingPort);
v_gnReq := valueof(m_geoNwReq_linkLayerBroadcast(
m_geoNwPdu(
m_geoNwBroadcastPacket(
m_dummyLongPosVectorNodeB,
3456,
m_dummyGeoBroadcastArea1
))));
geoNetworkingPort.send(v_gnReq);
tc_ac.start;
alt {
[] geoNetworkingPort.receive(mw_geoNwInd(?)) {
setverdict(pass);
}
[] tc_ac.timeout {
setverdict(fail, "Expected message not received1");
}
}
unmap(self:geoNetworkingPort, system:geoNetworkingPort);
}
} // End of group testMultiPort
} // End of group LibItsGeoNetworking_testCases
} // End of module
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