Commit bea5ade9 authored by Yann Garcia's avatar Yann Garcia
Browse files

Bug fixed in btp_layer; Enhance cfg files; Update leap seconds

parent 720683fe
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -85,6 +85,10 @@ void btp_layer::receive_data(OCTETSTRING &data, params &p_params) {
  loggers::get_instance().log_msg(">>> btp_layer::receive_data: ", data);
  //p_params.log();

  if (data.lengthof() == 0) {
    loggers::get_instance().warning("btp_layer::receive_data: No payload");
    return;
  }
  // Decode the payload
  params_its &params = static_cast<params_its&>(p_params);
  LibItsBtp__TypesAndValues::BtpInd p;
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ geonetworking_layer::geonetworking_layer(const std::string &p_type, const std::s
    _tsb_packet(nullptr), _uni_packet(nullptr), _ls_reply(nullptr), _location_table(),
    _pass_beacon_table(), _device_mode{false}, _secured_mode{false}, _beacon_secured_mode{false}, _encrypted_mode{false}, _enable_security_checks{false},
    _sendData(), _timerid{0}, _sev{0}, _its{0}, _freq_nanosecs(0), _mask{0}, _sa{0}, _sequence_number{0}, _latitude{0}, _longitude{0}, _force_certificate{false},
    _leap_delay_us(4000/*Add 4 leap seconds to convert to TAI (as Feb 2019)*/) {
    _leap_delay_us(5000/*Add 5 leap seconds (to ITS time) to convert to TAI (as Sept. 2024)*/) {
  loggers::get_instance().log(">>> geonetworking_layer::geonetworking_layer: %s, %s", to_string().c_str(), p_param.c_str());

  init(p_type, p_param);
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
	<subject type="AT" name="">
		<!-- verification_key -->
		<attribute type="verification_key">
			<public_key algorithm="brainpool384">
			<public_key algorithm="brainpool256">
				<ecc_point type="compressed"/>
			</public_key>
		</attribute>
+40 −40
Original line number Diff line number Diff line
@@ -103,15 +103,15 @@ LogEventTypes:= Yes
#     save_mode   : Set to 1 to save sent packet, 0 otherwise

# Cygwin
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=367470520,longitude=-455595024,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=../data/certificates/certificates)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,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=367470520,longitude=-45559502,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=../data/certificates/certificates)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,filter=and ether proto 0x8947)"
# Linux
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=367470520,longitude=-455595024,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=8c554ac1eee0)/PCAP(mac_src=8c554ac1eee0,nic=wlo1,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=367470520,longitude=-45559502,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=8c554ac1eee0)/PCAP(mac_src=8c554ac1eee0,nic=wlo1,filter=and ether proto 0x8947)"
# Linux over OpenVPN
system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=367470520,longitude=-455595024,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=0000d0e6740f)/PCAP(mac_src=0000d0e6740f,nic=tap0,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=367470520,longitude=-45559502,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=0000d0e6740f)/PCAP(mac_src=0000d0e6740f,nic=tap0,filter=and ether proto 0x8947)"
# Linux over UDP
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=367470520,longitude=-455595024,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=../data/certificates/certificates)/ETH(mac_src=dc536045af7e)/UDP(dst_ip=192.168.146.26,src_port=4041,dst_port=9091)"
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=367470520,longitude=-45559502,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=../data/certificates/certificates)/ETH(mac_src=dc536045af7e)/UDP(dst_ip=192.168.146.26,src_port=4041,dst_port=9091)"
# Linux over LTE/MQTT
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=367470520,longitude=-455595024,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/LTE(mac_src=dc536045af7e,nic=wlo1,filter=and ether proto 0x8947,pc5_layer=QUALCOMM,uu_protocol=mqtt,mqtt_client_id=8c554ac1eee2,mqtt_topics=obu,uu_transport=tcp,debug=1,server=127.0.0.1,port=1883)"
#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=367470520,longitude=-45559502,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/LTE(mac_src=dc536045af7e,nic=wlo1,filter=and ether proto 0x8947,pc5_layer=QUALCOMM,uu_protocol=mqtt,mqtt_client_id=8c554ac1eee2,mqtt_topics=obu,uu_transport=tcp,debug=1,server=127.0.0.1,port=1883)"

# CAM UpperTester port based on UDP
#system.utPort.params := "UT_CAM/UDP(dst_ip=127.0.0.1,dst_port=12345,src_port=12346,reuse_incoming_source_adddress=1)"
@@ -120,7 +120,7 @@ system.utPort.params := "UT_CAM/UDP(dst_ip=10.8.0.48,dst_port=12345,reuse_incomi
[EXECUTE]

# Check that protocolVersion is set to 2 and messageID is set to 2
#ItsCam_TestCases.TC_CAM_MSD_FMT_BV_01
ItsCam_TestCases.TC_CAM_MSD_FMT_BV_01
# Check that LF container is included in 1st CAM since CA basic service activation
#ItsCam_TestCases.TC_CAM_MSD_FMT_BV_02
# Check that LF container is included if time elapsed since the generation of the last CAM with the low frequency container generation is equal or larger than 500 ms
@@ -131,73 +131,73 @@ system.utPort.params := "UT_CAM/UDP(dst_ip=10.8.0.48,dst_port=12345,reuse_incomi
#ItsCam_TestCases.TC_CAM_MSD_FMT_BV_05
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_01
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_02
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_03
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_04
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_05
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_06
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_07
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_08
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_09
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_10
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_11
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_12
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_13
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_14
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_15
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_16
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_17
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_18
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_19
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_20
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_21
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_22
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_23
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_24
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_25
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_26
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_27
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_28
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_29
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_30
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_31
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_32
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_33
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_34
# 
# Check that latest value of in-vehicle data is included in CAM
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_01_35
# Check that publicTransportContainer is included if vehicleRole is set to publicTransport(1)
#ItsCam_TestCases.TC_CAM_MSD_INA_BV_02
@@ -234,7 +234,7 @@ system.utPort.params := "UT_CAM/UDP(dst_ip=10.8.0.48,dst_port=12345,reuse_incomi
# Check that IUT discards CAM if SSP value of the signing certificate is not consistent with the provided containers.
#ItsCam_TestCases.TC_CAM_MSP_SSP_BV_03

ItsCam_TestCases.TC_CAM_MSP_BV_01
#ItsCam_TestCases.TC_CAM_MSP_BV_01

[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
+2 −2
Original line number Diff line number Diff line
@@ -90,8 +90,8 @@ 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

#system.camPort.params := "CAM(next_header=btpB,header_type=tsb,header_sub_type=sh)/BTP/GN(ll_address=4C5E0C14D2EA,latitude=367470520,longitude=-455595024,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=4e685195ff0a)/PCAP(mac_src=ce550426c7e4,nic=tap0,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=367470520,longitude=-455595024,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=f8cab8083918)/PCAP(mac_src=f8cab8083918,nic=eno1,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=367470520,longitude=-45559502,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=4e685195ff0a)/PCAP(mac_src=ce550426c7e4,nic=tap0,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=367470520,longitude=-45559502,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=../data/certificates/certificates)/ETH(mac_src=f8cab8083918)/PCAP(mac_src=f8cab8083918,nic=eno1,filter=and ether proto 0x8947)"

# CAM UpperTester port based on UDP
#system.utPort.params := "UT_CAM/UDP(dst_ip=192.168.20.142,src_port=12345)"
Loading