Commit 18441ee7 authored by garciay's avatar garciay
Browse files

Layers ongoing

parent 13d63685
Loading
Loading
Loading
Loading
+27 −11
Original line number Diff line number Diff line
@@ -8,10 +8,10 @@ LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_any
# 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
@@ -27,24 +27,38 @@ LogEventTypes:= Yes
#   ll_address             : GeoNetworking address of the TestSystem
#   latitude               : latitude of the TestSystem
#   longitude              : longitude of the TestSystem
#   expiry          : Beaconning timer expiry (ms)
#   beaconing              : Set to 1 if GnLayer shall start beaconing
#   Beaconning timer expiry: expiry (ms)
# Ethernet layer
#   Source MAC address: mac_src
#   Broadcast address : mac_bc
#   Ethernet type     : eth_type
# UDP layer (IP/UDP based on Pcap)
#   dst_ip  : destination IPv4 address (aa.bb.cc.dd)
#   dst_port: destination port
#   src_ip  : source IPv4 address (aa.bb.cc.dd)
#   src_port: source port
# Pcap layer
#   Pcap filter: filter
#   Online mode:
#     Local NIC: nic
#                If set, online mode used
#   Offline mode:
#                If set, online mode is used
#   Offline mode (nic is present but not set):
#     File to read    : file
#     Frame offset    : frame_offset
#     Time offset     : time_offset
#     Save sent packet: save_mode=[0|1]
system.geoNetworkingPort.params := "GN(ll_address=F8CAB8083918,latitude=43551050,longitude=10298730,expiry=1000,its_aid=141)/ETH(mac_src=F8CAB8083918,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=F8CAB8083918,nic=enp0s8,file=/home/ubuntu/tmp/test_1_beacon.pcap,filter=ether proto 0x8947,frame_offset=0,save_mode=1)"
#system.geoNetworkingPort.params := "GN(ll_address=F8CAB8083918,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000,its_aid=141)/ETH(mac_src=F8CAB8083918,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=F8CAB8083918,nic=enp0s8,file=/home/ubuntu/tmp/test_1_beacon.pcap,filter=ether proto 0x8947,frame_offset=0,save_mode=1)"
system.geoNetworkingPort.params := "GN(ll_address=F8CAB8083918,latitude=43551050,longitude=10298730,beaconing=1,expiry=1000,its_aid=141)/ETH(mac_src=F8CAB8083918,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=F8CAB8083918,nic=,file=/home/ubuntu/tmp/test_1_cam.pcap,filter=ether proto 0x8947,frame_offset=0,save_mode=0)"


Comp1.geoNetworkingPort.params := "GN(ll_address=F8CAB8083919,latitude=43551050,longitude=10298730,beaconing=1,expiry=1000,its_aid=141)/ETH(mac_src=F8CAB8083918,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=F8CAB8083919,nic=,file=/home/ubuntu/tmp/test_1_cam.pcap,filter=ether proto 0x8947,frame_offset=0,save_mode=0)"
Comp2.geoNetworkingPort.params := "GN(ll_address=F8CAB808391A,latitude=43551050,longitude=10298730,beaconing=1,expiry=1000,its_aid=141)/ETH(mac_src=F8CAB8083918,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=F8CAB808391A,nic=,file=/home/ubuntu/tmp/test_1_cam.pcap,filter=ether proto 0x8947,frame_offset=0,save_mode=0)"


system.btpPort.params := "BTP(type=btpB,dst_port=2000,src_port=0)/GN(ll_address=F8CAB8083918,latitude=43551050,longitude=10298730,expiry=1000,its_aid=141)/ETH(mac_src=F8CAB8083918,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=F8CAB8083918,nic=,file=/home/ubuntu/tmp/test_1_cam.pcap,filter=ether proto 0x8947,frame_offset=0)"
system.camPort.params := "CAM/BTP(type=btpA,dst_port=2000,src_port=0)/GN(ll_address=F8CAB8083918,latitude=43551050,longitude=10298730,expiry=1000,its_aid=141)/ETH(mac_src=F8CAB8083918,mac_bc=FFFFFFFFFFFF,eth_type=8947)/PCAP(mac_src=F8CAB8083918,nic=,file=/home/ubuntu/tmp/test_1_cam.pcap,filter=ether proto 0x8947,frame_offset=0)"
system.utPort.params := "UT/UDP(dst_ip=192.168.56.1,dst_port=12346,src_ip=192.168.156.4,src_port=12345)/ETH(mac_src=026f8338c1e5,mac_dst=F8CAB8083918,eth_type=0800)/PCAP(mac_src=026f8338c1e5,nic=enp0s8,filter=udp port 12346)"

[EXECUTE]
# GeoNetworking Req
@@ -57,10 +71,12 @@ system.camPort.params := "CAM/BTP(type=btpA,dst_port=2000,src_port=0)/GN(ll_addr
# GeoNetworking Ind
#TestCodec_GeoNetworking.tc_GeoNetInd_AnycastPacket
#TestCodec_GeoNetworking.tc_GeoNetInd_BroadcastPacket
#TestCodec_GeoNetworking.tc_GeoNetInd_ShbPacket
#TestCodec_GeoNetworking.tc_GeoNetInd_UnicastPacket
#TestCodec_GeoNetworking.tc_GeoNetInd_BeaconPacket
# GeoNetworking Port
TestCodec_GeoNetworking.tc_GeoNet_Port
#TestCodec_GeoNetworking.tc_GeoNet_MultiPort

# Btp PDU
#TestCodec_Btp.tc_Btp_A_Without_Payload
+123 −2
Original line number Diff line number Diff line
@@ -3,6 +3,9 @@ module TestCodec_GeoNetworking {
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_DataStrings all;
  import from LibCommon_Time all;
  import from LibCommon_VerdictControl all;
  import from LibCommon_Sync all;
  
  // LibIts
  //    import from ITS_Container language "ASN.1:1997" all;
@@ -628,6 +631,10 @@ module TestCodec_GeoNetworking {
	}
                
	map(self:geoNetworkingPort, system:geoNetworkingPort);
	map(self:utPort, system:utPort);

	utPort.send(m_gnInitialize);
	
                
      v_gnReq := valueof(m_geoNwReq_linkLayerBroadcast(
						       m_geoNwPdu(
@@ -698,10 +705,124 @@ module TestCodec_GeoNetworking {
	}
                
	unmap(self:geoNetworkingPort, system:geoNetworkingPort);
	unmap(self:utPort, system:utPort);
                
      } // End of testcase tc_GeoNet_Port
            
      /**
       * @desc validate GeoNetworkingReq/Broadcast
       * @verdict Pass on success, Fail otherwise
       */
      testcase tc_GeoNet_MultiPort() runs on ItsMtc system ItsGeoNetworkingSystem {
	var ItsGeoNetworking v_comp1;
	var ItsGeoNetworking v_comp2;

        v_comp1 := ItsGeoNetworking.create("Comp1") alive;
        v_comp2 := ItsGeoNetworking.create("Comp2") alive;
	
	connect(self:syncPort, mtc:syncPort);
	connect(v_comp1:syncPort, self:syncPort);
	connect(v_comp2:syncPort, self:syncPort);
	map(v_comp1:geoNetworkingPort, system:geoNetworkingPort);
	map(v_comp2:geoNetworkingPort, system:geoNetworkingPort);
	
	v_comp1.start(f_tc_GeoNet_MultiPort());
	v_comp2.start(f_tc_GeoNet_MultiPort());
	// Synchronization
	f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
	

	disconnect(self:syncPort, mtc:syncPort);
	disconnect(v_comp1:syncPort, self:syncPort);
	disconnect(v_comp2:syncPort, self:syncPort);
	unmap(v_comp1:geoNetworkingPort, system:geoNetworkingPort);
	unmap(v_comp2:geoNetworkingPort, system:geoNetworkingPort);
      }

      function f_tc_GeoNet_MultiPort() runs on ItsGeoNetworking {
	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");
	  stop;
	}
                
	f_selfOrClientSyncAndVerdict(c_prDone, e_success);                
      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(
						   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("Receive LsRequest: ", v_msg.msgIn);
	    // Send LsReply
	    f_sendGeoNetMessage(
				m_geoNwReq_linkLayerBroadcast(
							      m_geoNwPdu(
									 m_geoNwLsReplyPacket(
											      m_dummyLongPosVectorNodeA,
											      f_longPosVector2ShortPosVector(
															     valueof(v_msg.msgIn.gnPacket.packet.extendedHeader.lsRequestHeader.srcPosVector)
															     ),
											      vc_localSeqNumber
											      ))));
	    repeat;
	  }
	  [] geoNetworkingPort.receive(
				       mw_geoNwInd(
						   mw_geoNwPdu(
							       mw_geoNwBeaconPacket(?)
							       )
						   )) -> value v_msg {
	    log("Receive beacon: ", v_msg.msgIn);
	    repeat;
	  }
	  [] geoNetworkingPort.receive(
				       mw_geoNwInd(
						   ?
						   )) -> value v_msg {
	    setverdict(fail);
	  }
	  [] tc_ac.timeout {
	    if (v_got_it == false) {
	      setverdict(inconc, "Expected message not received1");
	    }
	  }
	}
	f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
	
      } // End of function f_tc_GeoNet_MultiPort
            
    } // End of group testGeoNetPort 
    } // End of group testMultiGeoNetPort 
        
  } // End of group LibItsGeoNetworking_testCases