Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ITS - Intelligent Transport Systems
ITS
Commits
8a7a5c3e
Commit
8a7a5c3e
authored
Jul 13, 2017
by
garciay
Browse files
Simplify Payload for GeoNetworking & BTP
==> Check TODO in Security ATS
parent
ff4945fe
Changes
3
Show whitespace changes
Inline
Side-by-side
ttcn/TestCodec/TestCodec_Btp.ttcn
View file @
8a7a5c3e
...
...
@@ -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
)
}
...
...
ttcn/TestCodec/TestCodec_GeoNetworking.ttcn
View file @
8a7a5c3e
...
...
@@ -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
...
...
@@ -545,6 +548,25 @@ module TestCodec_GeoNetworking {
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
(
?
))
{
[]
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"
);
}
}
}
...
...
ttcn/TestCodec/TestCodec_Multiport.ttcn
0 → 100644
View file @
8a7a5c3e
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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment