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
1f0fe4bb
Commit
1f0fe4bb
authored
Sep 10, 2018
by
Denis Filatov
Browse files
Merge branch 'STF525' of
https://forge.etsi.org/gitlab/ITS/ITS
into STF525
parents
75058f70
4be56b48
Changes
16
Hide whitespace changes
Inline
Side-by-side
.jenkins.sh
View file @
1f0fe4bb
...
...
@@ -3,7 +3,7 @@
# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt
set
-vx
set
-e
#
set -e
cd
$(
dirname
$0
)
...
...
@@ -11,5 +11,7 @@ run_dir=`pwd`
cd
docker
./build-container.sh
./run-container.sh
$run_dir
./v2/build.sh
./v2/run.sh
#./build-container.sh
#./run-container.sh $run_dir
README.md
View file @
1f0fe4bb
...
...
@@ -253,7 +253,7 @@ $ cmake ../wireshark-for-ITS
-
Add specific compiler options to the file epan/dissectors/CMakeFiles/dissectors.dir/flags.make:
-
Find the variable C_FLAGS
-
Append at the end the following compiler options: "-Wno-unused-const-variable -Wno-un
s
ued-function "
-
Append at the end the following compiler options: "-Wno-unused-const-variable -Wno-unu
s
ed-function "
-
Build Wireshark/tshark executing the following command
```
sh
...
...
ccsrc/Ports/LibIts_ports/CAM_ports/UpperTesterPort_CAM.partC
View file @
1f0fe4bb
...
...
@@ -129,10 +129,13 @@ namespace LibItsCam__TestSystem {
return;
}
loggers::get_instance().log("UpperTesterPort_Cam::receive_msg: %s", p_ind.get_descriptor()->name);
if (std::string(p_ind.get_descriptor()->name).compare("@LibItsCam_TypesAndValues.UtCamResults") == 0) { // TODO To be refined
incoming_message((LibItsCam__TypesAndValues::UtCamResults&)p_ind);
} // TODO Implement UtCamEventInd part
incoming_message(static_cast<const LibItsCam__TypesAndValues::UtCamResults&>(p_ind));
} else if (std::string(p_ind.get_descriptor()->name).compare("@LibItsCam_TypesAndValues.UtCamEventInd") == 0) {
incoming_message(static_cast<const LibItsCam__TypesAndValues::UtCamEventInd&>(p_ind));
} else {
loggers::get_instance().warning("UpperTesterPort_Cam::receive_msg: Message not processed: %s", p_ind.get_descriptor()->name);
}
}
} /* end of namespace */
ccsrc/Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC
View file @
1f0fe4bb
...
...
@@ -149,10 +149,13 @@ namespace LibItsDenm__TestSystem {
return;
}
loggers::get_instance().log("UpperTesterPort_Denm::receive_msg: %s", p_ind.get_descriptor()->name);
if (std::string(p_ind.get_descriptor()->name).compare("@LibItsDenm_TypesAndValues.UtDenmResults") == 0) { // TODO To be refined
incoming_message((LibItsDenm__TypesAndValues::UtDenmResults&)p_ind);
} // TODO Implement UtDenmEventInd part
incoming_message(static_cast<const LibItsDenm__TypesAndValues::UtDenmResults&>(p_ind));
} else if (std::string(p_ind.get_descriptor()->name).compare("@LibItsDenm_TypesAndValues.UtDenmEventInd") == 0) {
incoming_message(static_cast<const LibItsDenm__TypesAndValues::UtDenmEventInd&>(p_ind));
} else {
loggers::get_instance().warning("UpperTesterPort_Denm::receive_msg: Message not processed: %s", p_ind.get_descriptor()->name);
}
}
} /* end of namespace */
ccsrc/Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC
View file @
1f0fe4bb
...
...
@@ -130,9 +130,12 @@ namespace LibItsGeoNetworking__TestSystem {
return;
}
//loggers::get_instance().log("UpperTesterPort_Gn::receive_msg: %s", p_ind.get_descriptor()->name);
if (std::string(p_ind.get_descriptor()->name).compare("@LibItsGeoNetworking_TypesAndValues.UtGnResults") == 0) { // TODO To be refined
incoming_message((LibItsGeoNetworking__TypesAndValues::UtGnResults&)p_ind);
} else if (std::string(p_ind.get_descriptor()->name).compare("@LibItsGeoNetworking_TypesAndValues.UtGnEventInd") == 0) {
incoming_message(static_cast<const LibItsGeoNetworking__TypesAndValues::UtGnEventInd&>(p_ind));
} else {
loggers::get_instance().warning("UpperTesterPort_Gn::receive_msg: Message not processed: %s", p_ind.get_descriptor()->name);
}
}
...
...
ccsrc/Protocols/BTP/btp_layer.cc
View file @
1f0fe4bb
...
...
@@ -6,7 +6,7 @@
#include
"converter.hh"
btp_layer
::
btp_layer
(
const
std
::
string
&
p_type
,
const
std
::
string
&
param
)
:
t_layer
<
LibItsBtp__TestSystem
::
BtpPort
>
(
p_type
),
_params
(),
_codec
(),
_device_mode
{
fals
e
}
{
btp_layer
::
btp_layer
(
const
std
::
string
&
p_type
,
const
std
::
string
&
param
)
:
t_layer
<
LibItsBtp__TestSystem
::
BtpPort
>
(
p_type
),
_params
(),
_codec
(),
_device_mode
{
tru
e
}
{
loggers
::
get_instance
().
log
(
">>> btp_layer::btp_layer: %s, %s"
,
to_string
().
c_str
(),
param
.
c_str
());
// Setup parameters
params
::
convert
(
_params
,
param
);
...
...
ccsrc/Protocols/UpperTester/uppertester_cam_codec.cc
View file @
1f0fe4bb
...
...
@@ -222,8 +222,11 @@ std::unique_ptr<Base_Type> uppertester_cam_codec::decode (const OCTETSTRING& dat
const
unsigned
char
*
ptr
=
static_cast
<
const
unsigned
char
*>
(
data
);
if
(
*
ptr
!=
uppertester_cam_codec
::
c_utCamEventInd
)
{
LibItsCam__TypesAndValues
::
UtCamResults
res
;
decode
(
data
,
res
,
params
);
result
.
reset
((
Base_Type
*
)
res
.
clone
());
if
(
decode
(
data
,
res
,
params
)
==
0
)
{
result
.
reset
((
Base_Type
*
)
res
.
clone
());
}
else
{
result
.
reset
(
nullptr
);
}
}
else
{
LibItsCam__TypesAndValues
::
UtCamEventInd
ind
;
decode
(
data
,
ind
,
params
);
...
...
@@ -245,7 +248,8 @@ int uppertester_cam_codec::decode (const OCTETSTRING& data, LibItsCam__TypesAndV
}
else
if
(
*
ptr
==
uppertester_cam_codec
::
c_utCamTriggerResult
)
{
msg
.
utCamTriggerResult
()
=
BOOLEAN
(
*
(
ptr
+
1
)
==
0x01
);
}
else
{
TTCN_warning
(
"uppertester_cam_codec::decode: Unsupported result"
);
loggers
::
get_instance
().
warning
(
"uppertester_cam_codec::decode: Unsupported result"
);
return
-
1
;
}
loggers
::
get_instance
().
log_msg
(
"<<< uppertester_cam_codec::decode"
,
msg
);
...
...
@@ -254,18 +258,22 @@ int uppertester_cam_codec::decode (const OCTETSTRING& data, LibItsCam__TypesAndV
int
uppertester_cam_codec
::
decode
(
const
OCTETSTRING
&
data
,
LibItsCam__TypesAndValues
::
UtCamEventInd
&
msg
,
params
*
params
)
{
loggers
::
get_instance
().
log_to_hexa
(
">>> uppertester_cam_codec::decode: decoding_buffer="
,
data
);
loggers
::
get_instance
().
log_to_hexa
(
">>> uppertester_cam_codec::decode
(1)
: decoding_buffer="
,
data
);
const
unsigned
char
*
ptr
=
static_cast
<
const
unsigned
char
*>
(
data
)
+
1
;
OCTETSTRING
os
(
2
,
ptr
);
const
unsigned
int
length
=
(
const
unsigned
int
)((
*
ptr
<<
8
&
0xff00
)
|
*
(
ptr
+
1
));
ptr
+=
2
;
unsigned
int
length
=
oct2int
(
os
);
loggers
::
get_instance
().
log
(
"uppertester_cam_codec::decode: CAM message length=%d"
,
length
);
loggers
::
get_instance
().
log
(
"uppertester_cam_codec::decode (1): CAM message length=%d"
,
length
);
if
(
data
.
lengthof
()
-
3
!=
(
const
int
)
length
)
{
loggers
::
get_instance
().
warning
(
"uppertester_cam_codec::decode (1) (4): Wrong payload length: %d"
,
length
);
return
-
1
;
}
os
=
OCTETSTRING
(
length
,
ptr
);
loggers
::
get_instance
().
log_to_hexa
(
"uppertester_cam_codec::decode: CAM message="
,
os
);
loggers
::
get_instance
().
log_to_hexa
(
"uppertester_cam_codec::decode
(1)
: CAM message="
,
os
);
cam_codec
codec
;
codec
.
decode
(
os
,
msg
.
camMsg
(),
params
);
loggers
::
get_instance
().
log_msg
(
"<<< uppertester_cam_codec::decode"
,
msg
);
loggers
::
get_instance
().
log_msg
(
"<<< uppertester_cam_codec::decode
(1)
"
,
msg
);
return
0
;
}
ccsrc/Protocols/UpperTester/uppertester_denm_codec.cc
View file @
1f0fe4bb
...
...
@@ -284,7 +284,7 @@ int uppertester_denm_codec::decode (const OCTETSTRING& data, LibItsDenm__TypesAn
r
.
actionId
().
sequenceNumber
()
=
oct2int
(
os
);
msg
.
utDenmUpdateResult
()
=
r
;
}
else
{
TTCN_
warning
(
"uppertester_denm_codec::decode: Unsupported result"
);
loggers
::
get_instance
().
warning
(
"uppertester_denm_codec::decode: Unsupported result"
);
}
loggers
::
get_instance
().
log_msg
(
"<<< uppertester_denm_codec::decode"
,
msg
);
...
...
@@ -293,18 +293,18 @@ int uppertester_denm_codec::decode (const OCTETSTRING& data, LibItsDenm__TypesAn
int
uppertester_denm_codec
::
decode
(
const
OCTETSTRING
&
data
,
LibItsDenm__TypesAndValues
::
UtDenmEventInd
&
msg
,
params
*
params
)
{
loggers
::
get_instance
().
log_to_hexa
(
">>> uppertester_denm_codec::decode: decoding_buffer="
,
data
);
loggers
::
get_instance
().
log_to_hexa
(
">>> uppertester_denm_codec::decode
(1)
: decoding_buffer="
,
data
);
const
unsigned
char
*
ptr
=
static_cast
<
const
unsigned
char
*>
(
data
)
+
1
;
OCTETSTRING
os
(
2
,
ptr
);
ptr
+=
2
;
unsigned
int
length
=
oct2int
(
os
);
loggers
::
get_instance
().
log
(
"uppertester_denm_codec::decode: DENM message length=%d"
,
length
);
loggers
::
get_instance
().
log
(
"uppertester_denm_codec::decode
(1)
: DENM message length=%d"
,
length
);
os
=
OCTETSTRING
(
length
,
ptr
);
loggers
::
get_instance
().
log_to_hexa
(
"uppertester_denm_codec::decode: DENM message="
,
os
);
loggers
::
get_instance
().
log_to_hexa
(
"uppertester_denm_codec::decode
(1)
: DENM message="
,
os
);
denm_codec
codec
;
codec
.
decode
(
os
,
msg
.
denMsg
(),
params
);
loggers
::
get_instance
().
log_msg
(
"<<< uppertester_denm_codec::decode"
,
msg
);
loggers
::
get_instance
().
log_msg
(
"<<< uppertester_denm_codec::decode
(1)
"
,
msg
);
return
0
;
}
ccsrc/Protocols/UpperTester/uppertester_geonetworking_codec.cc
View file @
1f0fe4bb
...
...
@@ -136,10 +136,14 @@ std::unique_ptr<Base_Type> uppertester_geonetworking_codec::decode (const OCTETS
LibItsGeoNetworking__TypesAndValues
::
UtGnResults
res
;
decode
(
data
,
res
,
params
);
result
.
reset
((
Base_Type
*
)
res
.
clone
());
}
else
{
}
else
if
(
(
*
ptr
==
uppertester_geonetworking_codec
::
c_utGnEventIndication
)
)
{
LibItsGeoNetworking__TypesAndValues
::
UtGnEventInd
ind
;
decode
(
data
,
ind
,
params
);
result
.
reset
((
Base_Type
*
)
ind
.
clone
());
}
else
{
loggers
::
get_instance
().
warning
(
"uppertester_geonetworking_codec::decode (2): Unsupported UpperTester command 0x%02x"
,
*
ptr
);
}
return
result
;
...
...
@@ -167,18 +171,19 @@ int uppertester_geonetworking_codec::decode (const OCTETSTRING& data, LibItsGeoN
int
uppertester_geonetworking_codec
::
decode
(
const
OCTETSTRING
&
data
,
LibItsGeoNetworking__TypesAndValues
::
UtGnEventInd
&
msg
,
params
*
params
)
{
loggers
::
get_instance
().
log_msg
(
">>> uppertester_geonetworking_codec::decode (4): "
,
data
);
TTCN_EncDec
::
clear_error
();
TTCN_Buffer
decoding_buffer
(
data
);
_params
=
params
;
/*const unsigned char* ptr = static_cast<const unsigned char*>(data);
if (*ptr == uppertester_geonetworking_codec::c_utDenmInitializeResult) {
msg.utDenmInitializeResult() = BOOLEAN(*(ptr + 1) == 0x01);
} else if (*ptr == uppertester_geonetworking_codec::c_utChangePositionResult) {
msg.utChangePseudonymResult() = BOOLEAN(*(ptr + 1) == 0x01);
} else if (*ptr == uppertester_geonetworking_codec::c_utDenmTriggerResult) {
// TODO msg.utDenmTriggerResult() = BOOLEAN(*(ptr + 1) == 0x01);
} else {
TTCN_warning("uppertester_geonetworking_codec::decode: Unsupported result");
}*/
const
unsigned
int
length
=
(
const
unsigned
int
)((
data
[
1
].
get_octet
()
<<
8
&
0xff00
)
|
data
[
2
].
get_octet
());
if
(
data
.
lengthof
()
-
3
!=
(
const
int
)
length
)
{
loggers
::
get_instance
().
warning
(
"uppertester_geonetworking_codec::decode (4): Wrong payload length: %d"
,
length
);
return
-
1
;
}
loggers
::
get_instance
().
log_msg
(
"<<< uppertester_geonetworking_codec::decode"
,
msg
);
msg
.
rawPayload
()
=
OCTETSTRING
(
length
,
3
+
static_cast
<
const
unsigned
char
*>
(
data
));
loggers
::
get_instance
().
log_msg
(
"<<< uppertester_geonetworking_codec::decode (4): "
,
msg
);
return
0
;
}
ccsrc/Protocols/UpperTester/uppertester_geonetworking_codec.hh
View file @
1f0fe4bb
...
...
@@ -40,6 +40,7 @@ public:
const
unsigned
char
c_utGnTrigger_GeoAnycast
=
0x52
;
const
unsigned
char
c_utGnTrigger_Shb
=
0x53
;
const
unsigned
char
c_utGnTrigger_Tsb
=
0x54
;
const
unsigned
char
c_utGnEventIndication
=
0x55
;
private:
int
encode_
(
const
Base_Type
&
type
,
const
TTCN_Typedescriptor_t
&
field_descriptor
,
TTCN_Buffer
&
encoding_buffer
);
...
...
etc/AtsCAM/AtsCAM.cfg
View file @
1f0fe4bb
...
...
@@ -2,19 +2,13 @@
[MODULE_PARAMETERS]
# This section shall contain the values of all parameters that are defined in your TTCN-3 modules.
# The GeoNetworking address of the IUT.
LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR := {
typeOfAddress := e_initial,
stationType := e_unknown, #e_roadSideUnit,
stationCountryCode := 0, #33,
mid := '4C5E0C14D2EB'O
}
# IUT Station ID. See testdata set and plugtest1026-log-locD 002.pcap
LibItsCommon_Pixits.PX_IUT_STATION_ID := 10143;
# IUT Station ID
LibItsCommon_Pixits.PX_IUT_STATION_ID := 2533729309
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
LibItsCam_Pics.PICS_DANGEROUSGOODS := false
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# you want to log into the file or display on console (standard error).
...
...
@@ -95,22 +89,64 @@ LogEventTypes:= Yes
# time_offset : Time offset, used to skip packets with time offset < time_offset
# save_mode : Set to 1 to save sent packet, 0 otherwise
# Non secured IUT
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP(type=btpB,dst_port=2001,src_port=0,device_mode=1)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1)/ETH(mac_src=080027D2B658)/PCAP(mac_src=080027D2B658,nic=eth1,filter=and ether proto 0x8947)"
# Secured IUT
system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP(type=btpB,dst_port=2001,src_port=0,deviceMode=1)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,expiry=1000,deviceMode=1,secured_mode=1,certificate=CERT_IUT_F_AT,sec_db_path=/home/vagrant/tmp/test_01)/ETH(mac_src=080027D2B658,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=080027D2B658,nic=eth1,filter=and ether proto 0x8947)"
system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1)/ETH(mac_src=080027500f9b)/PCAP(mac_src=080027500f9b,nic=tap0,filter=and ether proto 0x8947)"
# CAM UpperTester port based on UDP
(ETSI Wlan)
system.utPort.params := "UT_CAM
(loopback=0)
/UDP(dst_ip=1
9
2.
168.1.250,dst_port=12345,src_ip=192.168.1.253,src_port=12345)/ETH(mac_src=080027d2b658,mac_dst=90fd61e61902,eth_type=0800)/PCAP(mac_src=080027d2b658,nic=eth1,filter=and udp port 12345
)"
# CAM UpperTester port based on UDP
system.utPort.params := "UT_CAM/UDP(dst_ip=1
7
2.
23.0.1,dst_port=8000
)"
[EXECUTE]
ItsCam_TestCases.TC_CAM_MSD_FMT_BV_01
ItsCam_TestCases.TC_CAM_MSD_FMT_BV_02
#ItsCam_TestCases.TC_CAM_MSD_FMT_BV_01
#ItsCam_TestCases.TC_CAM_MSD_FMT_BV_02
#ItsCam_TestCases.TC_CAM_MSD_FMT_BV_03
#ItsCam_TestCases.TC_CAM_MSD_FMT_BV_04
#ItsCam_TestCases.TC_CAM_MSD_FMT_BV_05
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_01
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_02
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_03
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_04
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_05
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_06
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_07
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_08
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_09
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_10
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_11
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_12
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_13
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_14
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_15
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_16
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_17
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_18
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_19
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_20
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_21
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_22
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_23
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_24
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_25
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_26
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_27
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_28
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_29
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_30
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_31
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_32
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_33
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_34
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_35
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_02
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_03
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_04
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_05
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_06
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_07
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_08
ItsCam_TestCases.TC_CAM_MSP_BV_01
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
KillTimer := 10.0
TCPPort := 0
LocalAddress := 127.0.0.1
TCPPort := 12000
NumHCs := 1
etc/AtsDENM/AtsDENM.cfg
View file @
1f0fe4bb
...
...
@@ -8,8 +8,8 @@ LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR := {
mid := '4C5E0C14D2EB'O
}
# IUT Station ID
. See testdata set and plugtest1026-log-locD 002.pcap
LibItsCommon_Pixits.PX_IUT_STATION_ID :=
10143;
# IUT Station ID
LibItsCommon_Pixits.PX_IUT_STATION_ID :=
2533729309
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
...
...
@@ -93,13 +93,10 @@ LogEventTypes:= Yes
# time_offset : Time offset, used to skip packets with time offset < time_offset
# save_mode : Set to 1 to save sent packet, 0 otherwise
# Non secured device
system.denmPort.params := "DENM(next_header=btpB,header_type=tsb)/BTP(type=btpB,dst_port=2002)/GN(ll_address=0800275c4958,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,expiry=1000,device_mode=1)/ETH(mac_src=0800275c4958)/PCAP(mac_src=0800275c4958,nic=eth1,filter=and ether proto 0x8947)"
# Secured device
#system.denmPort.params := "DENM(next_header=btpB,header_type=tsb)/BTP(type=btpB,dst_port=2002)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,expiry=1000,deviceMode=1,secured_mode=1,certificate=CERT_IUT_F_AT,sec_db_path=/home/vagrant/tmp/test_01)/ETH(mac_src=080027D2B658,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=080027D2B658,nic=eth1,filter=and ether proto 0x8947)"
system.denmPort.params := "DENM(next_header=btpB,header_type=tsb)/BTP(dst_port=2002)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1)/ETH(mac_src=080027500f9b)/PCAP(mac_src=080027500f9b,nic=tap0,filter=and ether proto 0x8947)"
# DENM UpperTester port based on UDP (ETSI Wlan)
system.utPort.params := "UT_DENM
(loopback=1,station_id=10143)" #
/UDP(dst_ip=1
9
2.
168.1.250,dst_port=12345,src_ip=192.168.1.253,src_port=12345)/ETH(mac_src=080027d2b658,mac_dst=90fd61e61902,eth_type=0800)/PCAP(mac_src=080027d2b658,nic=eth1,filter=and udp port 12345
)"
system.utPort.params := "UT_DENM/UDP(dst_ip=1
7
2.
23.0.1,dst_port=8000
)"
[EXECUTE]
ItsDenm_TestCases.TC_DEN_MSGF_BV_01
...
...
etc/AtsGeoNetworking/AtsGeoNetworking.cfg
View file @
1f0fe4bb
...
...
@@ -17,17 +17,17 @@ LibItsGeoNetworking_Pics.PICS_GN_IS_MOBILE := false
LibItsGeoNetworking_Pics.PICS_GN_DEFAULT_HOP_LIMIT := 1
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_any
LibItsGeoNetworking_Pixits.PX_NEIGHBOUR_DISCOVERY_DELAY :=
3
.0
LibItsGeoNetworking_Pixits.PX_NEIGHBOUR_DISCOVERY_DELAY :=
2
.0
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# you want to log into the file or display on console (standard error).
LogFile := "../logs/%e.%h-%r.%s"
FileMask := LOG_ALL | USER | DEBUG | MATCHING
ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
#
FileMask := ERROR | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
#
ConsoleMask := ERROR | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
#
FileMask := LOG_ALL | USER | DEBUG | MATCHING
#
ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
FileMask := ERROR | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
ConsoleMask := ERROR | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
LogSourceInfo := Stack
LogEntityName:= Yes
LogEventTypes:= Yes
...
...
@@ -100,25 +100,99 @@ LogEventTypes:= Yes
# save_mode : Set to 1 to save sent packet, 0 otherwise
# Single GeoNetworking component port
system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730
,beaconing=0,expiry=1000
)/ETH(mac_src=080027500f9b
,mac_bc=FFFFFFFFFFFF,eth_type=8947
)/PCAP(mac_src=080027500f9b,nic=tap0,filter=and ether proto 0x8947)"
system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730)/ETH(mac_src=080027500f9b)/PCAP(mac_src=080027500f9b,nic=tap0,filter=and ether proto 0x8947)"
# Multiple GeoNetworking component port
NodeB.geoNetworkingPort.params := "GN(ll_address=F8CAB8083919,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000)/ETH(mac_src=080027500f9b,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=080027500f9b,nic=tap0,file=,filter=and ether proto 0x8947)"
NodeC.geoNetworkingPort.params := "GN(ll_address=F8CAB808391A,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000)/ETH(mac_src=080027500f9c,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=080027500f9b,nic=tap0,file=,filter=and ether proto 0x8947)"
# Multiple GeoNetworking component portN
NodeA.geoNetworkingPort.params := "GN(ll_address=F8CAB808391A,latitude=43551050,longitude=10298730)/ETH(mac_src=080027500f9a)/PCAP(mac_src=080027500f9a,nic=tap0,filter=and ether proto 0x8947)"
odeB.geoNetworkingPort.params := "GN(ll_address=F8CAB808391B,latitude=43551050,longitude=10298730)/ETH(mac_src=080027500f9b)/PCAP(mac_src=080027500f9b,nic=tap0,filter=and ether proto 0x8947)"
NodeC.geoNetworkingPort.params := "GN(ll_address=F8CAB808391C,latitude=43551050,longitude=10298730)/ETH(mac_src=080027500f9c)/PCAP(mac_src=080027500f9c,nic=tap0,filter=and ether proto 0x8947)"
NodeD.geoNetworkingPort.params := "GN(ll_address=F8CAB808391D,latitude=43551050,longitude=10298730)/ETH(mac_src=080027500f9d)/PCAP(mac_src=080027500f9d,nic=tap0,filter=and ether proto 0x8947)"
# UpperTester port based on UDP
#system.utPort.params := "UT_GN/UDP(dst_ip=192.168.2.2)"
system.utPort.params := "UT_GN/UDP(dst_ip=172.23.0.1,dst_port=8000)"
[EXECUTE]
ItsGeoNetworking_TestCases.TC_GEONW_FDV_BAH_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_BAH_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_COH_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_COH_BV_02
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_COH_BV_03
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_COH_BO_04
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_BEA_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_BEA_BV_02
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_BEA_BV_03
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_BEA_BV_04
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_GUC_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_GBC_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_GAC_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_SHB_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_FDV_TSB_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_02
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_03_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_03_02
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_03_03
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_03_04
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_03_05
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_03_06
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_03_07
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_03_08
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOT_BV_04
#ItsGeoNetworking_TestCases.TC_GEONW_PON_SQN_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_SQN_BV_02
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_02
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_03
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_04
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_05
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_TI_06
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_07
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_08
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BO_09
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_10
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_11
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_12
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_13
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_14
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_15
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_16
#ItsGeoNetworking_TestCases.TC_GEONW_PON_LOS_BV_17
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_02
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_03
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_04
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_06
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_07
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_08
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_09
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_10
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_11
#ItsGeoNetworking_TestCases.TC_GEONW_PON_FPB_BV_12
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GNA_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GNA_BV_02
#ItsGeoNetworking_TestCases.TC_GEONW_PON_BEA_TI_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_BEA_TI_02
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_02
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_03
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BO_04
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_05
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_06
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_07
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_08
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_10
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BV_11
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BO_12
#ItsGeoNetworking_TestCases.TC_GEONW_PON_GUC_BO_13
ItsGeoNetworking_TestCases.TC_GEONW_PON_GBC_BV_01
#ItsGeoNetworking_TestCases.TC_GEONW_CAP_FPB_BV_01
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
KillTimer := 10.0
TCPPort := 0
LocalAddress := 127.0.0.1
TCPPort := 12000
NumHCs := 1
...
...
etc/AtsRSUsSimulator/AtsRSUSimulator.cfg
View file @
1f0fe4bb
...
...
@@ -9,9 +9,9 @@ LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR := {
}
# GeoNetwoking only, no facility layer
#
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_any
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_any
# With facility layer
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
#
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
# Indicate which RSU to simulate
ItsRSUsSimulator_Pixits.PX_RSU_ID := 8;
...
...
@@ -27,8 +27,8 @@ ItsRSUsSimulator_Pixits.PX_ETSI_USE_CASE_ID := 6
# Indicate which zone to simulate
ItsRSUsSimulator_Pixits.PX_ETSI_ZONE_ID := 1
ItsRSUsSimulator_Pixits.PICS_GENERATE_BEACON :=
fals
e
ItsRSUsSimulator_Pixits.PICS_GENERATE_CAM :=
tru
e
ItsRSUsSimulator_Pixits.PICS_GENERATE_BEACON :=
tru
e
ItsRSUsSimulator_Pixits.PICS_GENERATE_CAM :=
fals
e
ItsRSUsSimulator_Pixits.PICS_GENERATE_DENM := false
ItsRSUsSimulator_Pixits.PICS_GENERATE_IVIM := false
ItsRSUsSimulator_Pixits.PICS_GENERATE_MAPEM := false
...
...
@@ -40,14 +40,15 @@ ItsRSUsSimulator_Pics.PICS_CAM_FREQUENCY := 1.0
ItsRSUsSimulator_Pics.PICS_DENM_FREQUENCY := 1.0
ItsRSUsSimulator_Pics.PICS_SEND_CAM_INDICATION := false
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# you want to log into the file or display on console (standard error).
LogFile := "../logs/%e.%h-%r.%s"
#
FileMask := LOG_ALL | USER | DEBUG | MATCHING
#
ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
FileMask := LOG_ALL | USER | DEBUG | MATCHING
ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
#
FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
#
ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
LogSourceInfo := Stack
LogEntityName:= Yes
LogEventTypes:= Yes
...
...
@@ -122,10 +123,10 @@ LogEventTypes:= Yes
# save_mode : Set to 1 to save sent packet, 0 otherwise
# Single GeoNetworking component port
system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,
beaconing=0,device_mode=0,expiry=500,
its_aid=37,secured_mode=
0
,encrypted_mode=0,certificate=CERT_IUT_F_AT,peer_certificate=CERT_TS_F_AT,sec_db_path=/home/
ubu
nt
u
/tmp/
test_01
)/ETH(mac_src=080027
f44e7d,mac_bc=FFFFFFFFFFFF,eth_type=8947
)/PCAP(mac_src=080027
f44e7d
,nic=eth2,filter=and ether proto 0x8947)"
system.geoNetworkingPort.params := "GN(ll_address=4C5E0C14D2EB,latitude=43551050,longitude=10298730,its_aid=37,secured_mode=
1
,encrypted_mode=0,certificate=CERT_IUT_F_AT,peer_certificate=CERT_TS_F_AT,sec_db_path=/home/
vagra
nt/tmp/
asn1c_cert
)/ETH(mac_src=080027
500f9b
)/PCAP(mac_src=080027
500f9b
,nic=eth2,filter=and ether proto 0x8947)"
# Config port based on UDP
system.cfPort.params := "CF(ut=cam)/UDP(dst_ip=192.168.2.2
,dst_port=12345
)"
system.cfPort.params := "CF(ut=cam)/UDP(dst_ip=192.168.2.2)"
[EXECUTE]
ItsRSUsSimulator_TestCases.TC_RSUSIMU_BV_01
...
...
@@ -133,7 +134,6 @@ ItsRSUsSimulator_TestCases.TC_RSUSIMU_BV_01
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
KillTimer := 10.0
TCPPort := 0
LocalAddress := 127.0.0.1
TCPPort := 12000
NumHCs := 1
...
...
scripts/merge_its_project.bash
View file @
1f0fe4bb
...
...
@@ -174,7 +174,7 @@ do
do
BN
=
`
basename
$j
`
s1
=
`
sha256sum
-b
$j
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
TTCN_3_DST_PATH
}
/
$i
/
ttcn/
${
BN
}
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
TTCN_3_DST_PATH
}
/
$i
/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
TTCN_3_DST_PATH
}
/
$i
/ttcn/
${
BN
}
${
DEST_DIR
}
...
...
LibIts
@
10d0d81a
Compare
f91443ce
...
10d0d81a
Subproject commit
f91443ce56c8a83ad689ddcf97e2f122c3b85ed8
Subproject commit
10d0d81a0b08db8b53ae74072a528dd0333e4dd7
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