diff --git a/examples/_4gsim/enb.pcap b/examples/_4gsim/enb.pcap index 6949bb80600d800884633fa23617f468da9c65e1..2b03ae0c2001cadfdb0fd46b050f9a44f85962c0 100644 --- a/examples/_4gsim/enb.pcap +++ b/examples/_4gsim/enb.pcap @@ -1,18 +1,17 @@ Session Transcript February 21, 2006 16:45:20.5186 -MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 0.1000 $080000 -MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, s tm 4.1000 $405644f177120000001c4460005000 -MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, s tm 5.1000 $00000c60fd6c81600a0270022004160013094d52ab4b680001 -MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 10.1000 $080000 -MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 20.1000 $080000 -MAC-LTE///// tm 22.0 $>> RACH Preamble Request[UE = 5] [RAPID = 24] [Attempt = 1] -MAC-LTE///// tm 22.0 $>> RACH Preamble Request[UE = 4] [RAPID = 20] [Attempt = 1] -MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, s tm 24.1000 $405644f177120000001c4460005000 -MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, s tm 25.1000 $00000c60fd6c81600a0270022004160013094d52ab4b680001 -MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 30.1000 $080000 -MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 40.1000 $080000 -MAC-LTE///// tm 42.0 $>> RACH Preamble Request[UE = 5] [RAPID = 43] [Attempt = 1] -MAC-LTE///// tm 42.0 $>> RACH Preamble Request[UE = 4] [RAPID = 17] [Attempt = 1] -MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, s tm 44.1000 $405644f177120000001c4460005000 -MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, s tm 45.1000 $00000c60fd6c81600a0270022004160013094d52ab4b680001 -MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 50.1000 $080000 +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 0.0 $080000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, s tm 3.1000 $405644f177120000001c4460005000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, s tm 4.1000 $00000c60fd6c81600a0270022004160013094d52ab4b680001 +MAC-LTE tm 22.0MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,32,5,7, s tm 22.0 $58000000007adf +MAC-LTE tm 22.0MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,22,4,7, s tm 22.0 $6a00000000916a +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 39.1000 $080000 +MAC-LTE tm 42.0MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,322,5,7, s tm 42.0 $5800000000648d +MAC-LTE tm 42.0MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,222,4,7, s tm 42.0 $6a00000000ecf2 +MAC-LTE tm 62.0MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,3222,5,7, s tm 62.0 $5800000000d608 +MAC-LTE tm 62.0MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,2222,4,7, s tm 62.0 $6a00000000122f +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, s tm 79.1000 $080400 +MAC-LTE tm 82.0MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,32222,5,7, s tm 82.0 $5800000000565f +MAC-LTE tm 82.0MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,22222,4,7, s tm 82.0 $6a00000000164e +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, s tm 83.1000 $405644f177120000001c4460005000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, s tm 84.1000 $00000c60fd6c81600a0270022004160013094d52ab4b680001 diff --git a/examples/_4gsim/omnetpp.ini b/examples/_4gsim/omnetpp.ini index eb15ea37f5a82e25bc5dadab8eae1b92fdd4acfd..ad241b406a82443e7774e65de52183db6009966a 100644 --- a/examples/_4gsim/omnetpp.ini +++ b/examples/_4gsim/omnetpp.ini @@ -2,7 +2,7 @@ network = Test1 scheduler-class = cSequentialScheduler #sim-time-limit = -sim-time-limit = 60s +sim-time-limit = 100s tkenv-plugin-path = ../../../etc/plugins #debug-on-errors = true diff --git a/examples/_4gsim/results/General-0.sca b/examples/_4gsim/results/General-0.sca index 49ffea4d867d3e0d3ccf6bc45118b7fecd4221be..77316d28d9706b82db95a1a9b99537d11708bdcc 100644 --- a/examples/_4gsim/results/General-0.sca +++ b/examples/_4gsim/results/General-0.sca @@ -1,14 +1,14 @@ version 2 -run General-0-20130430-17:24:49-6208 +run General-0-20130513-11:59:54-2848 attr configname General -attr datetime 20130430-17:24:49 +attr datetime 20130513-11:59:54 attr experiment General attr inifile omnetpp.ini attr iterationvars "" attr iterationvars2 $repetition=0 attr measurement "" attr network Test1 -attr processid 6208 +attr processid 2848 attr repetition 0 attr replication #0 attr resultdir results diff --git a/examples/_4gsim/ue1.pcap b/examples/_4gsim/ue1.pcap index 8344770e2c63f3692b5afa0e332f74f738f9cded..5c56deccf5bb7537f67e45a12b8c71e5eadf7e1c 100644 --- a/examples/_4gsim/ue1.pcap +++ b/examples/_4gsim/ue1.pcap @@ -5,12 +5,21 @@ MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 5.0 $405644f177120000001c44600 MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 6.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 11.0 $080000 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 21.0 $080000 -MAC-LTE///// tm 21.1000 $>> RACH Preamble Request[UE = 4] [RAPID = 20] [Attempt = 1] MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 25.0 $405644f177120000001c4460005000 MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 26.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 31.0 $080000 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 41.0 $080000 -MAC-LTE///// tm 41.1000 $>> RACH Preamble Request[UE = 4] [RAPID = 17] [Attempt = 1] MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 45.0 $405644f177120000001c4460005000 MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 46.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 51.0 $080000 +MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,22,4,7, r tm 53.0 $6a00000000916a +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 61.0 $080000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 65.0 $405644f177120000001c4460005000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 66.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 71.0 $080000 +MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,222,4,7, r tm 73.0 $6a00000000ecf2 +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 81.0 $080400 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 85.0 $405644f177120000001c4460005000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 86.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 91.0 $080400 +MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,2222,4,7, r tm 93.0 $6a00000000122f diff --git a/examples/_4gsim/ue2.pcap b/examples/_4gsim/ue2.pcap index 0c317b1aeded24d9041617f0f5c784551aa9e3c3..9e05f1bf35d5cf45bb1d824824b4e8ba94bb54a0 100644 --- a/examples/_4gsim/ue2.pcap +++ b/examples/_4gsim/ue2.pcap @@ -5,12 +5,21 @@ MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 5.0 $405644f177120000001c44600 MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 6.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 11.0 $080000 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 21.0 $080000 -MAC-LTE///// tm 21.1000 $>> RACH Preamble Request[UE = 5] [RAPID = 24] [Attempt = 1] MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 25.0 $405644f177120000001c4460005000 MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 26.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 31.0 $080000 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 41.0 $080000 -MAC-LTE///// tm 41.1000 $>> RACH Preamble Request[UE = 5] [RAPID = 43] [Attempt = 1] MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 45.0 $405644f177120000001c4460005000 MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 46.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 51.0 $080000 +MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,32,5,7, r tm 52.0 $58000000007adf +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 61.0 $080000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 65.0 $405644f177120000001c4460005000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 66.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 71.0 $080000 +MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,322,5,7, r tm 72.0 $5800000000648d +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 81.0 $080400 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,15, r tm 85.0 $405644f177120000001c4460005000 +MAC-LTE.1/mac_r9_lte/1,0,4,1,1,0,65535,3,25, r tm 86.0 $00000c60fd6c81600a0270022004160013094d52ab4b680001 +MAC-LTE.1/mac_r9_lte/1,0,0,1,1,0,0,3,3, r tm 91.0 $080400 +MAC-LTE.1/mac_r9_lte/1,0,2,1,1,0,3222,5,7, r tm 92.0 $5800000000d608 diff --git a/src/.tmp4652 b/src/.tmp4652 new file mode 100644 index 0000000000000000000000000000000000000000..b2b0e0b1348b81fccbc008a2606a5f52c05bd97e --- /dev/null +++ b/src/.tmp4652 @@ -0,0 +1 @@ +../out/gcc-debug/src/applications/diameter/DiameterApplication.o ../out/gcc-debug/src/applications/diameter/DiameterBase.o ../out/gcc-debug/src/applications/diameter/DiameterConnection.o ../out/gcc-debug/src/applications/diameter/DiameterMessage.o ../out/gcc-debug/src/applications/diameter/DiameterPeer.o ../out/gcc-debug/src/applications/diameter/DiameterSession.o ../out/gcc-debug/src/applications/diameter/DiameterUtils.o ../out/gcc-debug/src/applications/diameters6a/DiameterS6a.o ../out/gcc-debug/src/applications/ethernet/EtherAppCli.o ../out/gcc-debug/src/applications/ethernet/EtherAppSrv.o ../out/gcc-debug/src/applications/ethernet/EtherTrafGen.o ../out/gcc-debug/src/applications/generic/IPvXTrafGen.o ../out/gcc-debug/src/applications/generic/IPvXTrafSink.o ../out/gcc-debug/src/applications/nas/EMMEntity.o ../out/gcc-debug/src/applications/nas/ESMEntity.o ../out/gcc-debug/src/applications/nas/NAS.o ../out/gcc-debug/src/applications/nas/NASUtils.o ../out/gcc-debug/src/applications/pingapp/PingApp.o ../out/gcc-debug/src/applications/pingapp/PingTestApp.o ../out/gcc-debug/src/applications/s1ap/S1AP.o ../out/gcc-debug/src/applications/s1ap/S1APConnection.o ../out/gcc-debug/src/applications/s1ap/S1APUtils.o ../out/gcc-debug/src/applications/s1ap/message/S1APContainer.o ../out/gcc-debug/src/applications/s1ap/message/S1APIe.o ../out/gcc-debug/src/applications/s1ap/message/S1APPdu.o ../out/gcc-debug/src/applications/sctpapp/SCTPClient.o ../out/gcc-debug/src/applications/sctpapp/SCTPPeer.o ../out/gcc-debug/src/applications/sctpapp/SCTPServer.o ../out/gcc-debug/src/applications/tcpapp/TCPBasicClientApp.o ../out/gcc-debug/src/applications/tcpapp/TCPEchoApp.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericCliAppBase.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericSrvApp.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericSrvThread.o ../out/gcc-debug/src/applications/tcpapp/TCPSessionApp.o ../out/gcc-debug/src/applications/tcpapp/TCPSinkApp.o ../out/gcc-debug/src/applications/tcpapp/TCPSrvHostApp.o ../out/gcc-debug/src/applications/tcpapp/TelnetApp.o ../out/gcc-debug/src/applications/udpapp/UDPBasicApp.o ../out/gcc-debug/src/applications/udpapp/UDPBasicBurst.o ../out/gcc-debug/src/applications/udpapp/UDPEchoApp.o ../out/gcc-debug/src/applications/udpapp/UDPSink.o ../out/gcc-debug/src/applications/udpapp/UDPVideoStreamCli.o ../out/gcc-debug/src/applications/udpapp/UDPVideoStreamSvr.o ../out/gcc-debug/src/base/AbstractQueue.o ../out/gcc-debug/src/base/BasicModule.o ../out/gcc-debug/src/base/ByteArray.o ../out/gcc-debug/src/base/ByteArrayBuffer.o ../out/gcc-debug/src/base/ByteArrayMessage.o ../out/gcc-debug/src/base/Coord.o ../out/gcc-debug/src/base/erfc.o ../out/gcc-debug/src/base/Join.o ../out/gcc-debug/src/base/ModuleAccess.o ../out/gcc-debug/src/base/NedFunctions.o ../out/gcc-debug/src/base/NotificationBoard.o ../out/gcc-debug/src/base/NotifierConsts.o ../out/gcc-debug/src/base/PassiveQueueBase.o ../out/gcc-debug/src/base/ProtocolMap.o ../out/gcc-debug/src/base/QueueBase.o ../out/gcc-debug/src/base/QueueWithQoS.o ../out/gcc-debug/src/base/ReassemblyBuffer.o ../out/gcc-debug/src/base/ResultFilters.o ../out/gcc-debug/src/base/Sink.o ../out/gcc-debug/src/base/Topology.o ../out/gcc-debug/src/base/UnimplementedModule.o ../out/gcc-debug/src/base/WeightedTopology.o ../out/gcc-debug/src/battery/models/BasicBattery.o ../out/gcc-debug/src/battery/models/InetSimpleBattery.o ../out/gcc-debug/src/linklayer/contract/MACAddress.o ../out/gcc-debug/src/linklayer/ethernet/EtherBus.o ../out/gcc-debug/src/linklayer/ethernet/EtherEncap.o ../out/gcc-debug/src/linklayer/ethernet/EtherFrameClassifier.o ../out/gcc-debug/src/linklayer/ethernet/EtherHub.o ../out/gcc-debug/src/linklayer/ethernet/EtherLLC.o ../out/gcc-debug/src/linklayer/ethernet/EtherMAC.o ../out/gcc-debug/src/linklayer/ethernet/EtherMACBase.o ../out/gcc-debug/src/linklayer/ethernet/EtherMACFullDuplex.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitBase.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitNP.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitPP.o ../out/gcc-debug/src/linklayer/ext/cSocketRTScheduler.o ../out/gcc-debug/src/linklayer/ext/ExtInterface.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211eClassifier.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211Mac.o ../out/gcc-debug/src/linklayer/ieee80211/mac/WifiMode.o ../out/gcc-debug/src/linklayer/ieee80211/mac/WirelessMacBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211AgentSTA.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211Etx.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAdhoc.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAdhocWithEtx.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAP.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAPBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAPSimplified.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtSTA.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtSTASimplified.o ../out/gcc-debug/src/linklayer/ieee80211/radio/BerParseFile.o ../out/gcc-debug/src/linklayer/ieee80211/radio/Ieee80211RadioModel.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/dsss-error-rate-model.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/nist-error-rate-model.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/yans-error-rate-model.o ../out/gcc-debug/src/linklayer/lte/LTEConfig.o ../out/gcc-debug/src/linklayer/lte/LTEScheduler.o ../out/gcc-debug/src/linklayer/lte/LTESchedulingInfo.o ../out/gcc-debug/src/linklayer/lte/mac/HARQEntity.o ../out/gcc-debug/src/linklayer/lte/mac/HARQProcess.o ../out/gcc-debug/src/linklayer/lte/mac/MAC.o ../out/gcc-debug/src/linklayer/lte/mac/MACMessage.o ../out/gcc-debug/src/linklayer/lte/mac/MACScheduler.o ../out/gcc-debug/src/linklayer/lte/mac/MACUtils.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCP.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPEntity.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPMessage.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPUtils.o ../out/gcc-debug/src/linklayer/lte/phy/LTEChannelControl.o ../out/gcc-debug/src/linklayer/lte/phy/LTERadio.o ../out/gcc-debug/src/linklayer/lte/phy/LTERadioModel.o ../out/gcc-debug/src/linklayer/lte/rlc/RLC.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCEntity.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCTMEntity.o ../out/gcc-debug/src/linklayer/lte/rrc/RRC.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCEntity.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCUtils.o ../out/gcc-debug/src/linklayer/lte/rrc/message/.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCClassDefinitions.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCInformationElements.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCMessage.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCPDUDefinitions.o ../out/gcc-debug/src/linklayer/ppp/PPP.o ../out/gcc-debug/src/linklayer/queue/AlgorithmicDropperBase.o ../out/gcc-debug/src/linklayer/queue/DropTailQueue.o ../out/gcc-debug/src/linklayer/queue/FIFOQueue.o ../out/gcc-debug/src/linklayer/queue/PriorityScheduler.o ../out/gcc-debug/src/linklayer/queue/REDDropper.o ../out/gcc-debug/src/linklayer/queue/SchedulerBase.o ../out/gcc-debug/src/linklayer/queue/ThresholdDropper.o ../out/gcc-debug/src/linklayer/queue/WRRScheduler.o ../out/gcc-debug/src/linklayer/radio/GenericRadioModel.o ../out/gcc-debug/src/linklayer/radio/Modulation.o ../out/gcc-debug/src/linklayer/radio/Radio.o ../out/gcc-debug/src/linklayer/radio/propagation/FreeSpaceModel.o ../out/gcc-debug/src/linklayer/radio/propagation/LogNormalShadowingModel.o ../out/gcc-debug/src/linklayer/radio/propagation/NakagamiModel.o ../out/gcc-debug/src/linklayer/radio/propagation/RayleighModel.o ../out/gcc-debug/src/linklayer/radio/propagation/RiceModel.o ../out/gcc-debug/src/linklayer/radio/propagation/TwoRayGroundModel.o ../out/gcc-debug/src/mobility/models/ANSimMobility.o ../out/gcc-debug/src/mobility/models/BonnMotionFileCache.o ../out/gcc-debug/src/mobility/models/BonnMotionMobility.o ../out/gcc-debug/src/mobility/models/ChiangMobility.o ../out/gcc-debug/src/mobility/models/CircleMobility.o ../out/gcc-debug/src/mobility/models/ConstSpeedMobility.o ../out/gcc-debug/src/mobility/models/GaussMarkovMobility.o ../out/gcc-debug/src/mobility/models/LinearMobility.o ../out/gcc-debug/src/mobility/models/LinearNodeDistributionMobility.o ../out/gcc-debug/src/mobility/models/LineSegmentsMobilityBase.o ../out/gcc-debug/src/mobility/models/MassMobility.o ../out/gcc-debug/src/mobility/models/MoBANCoordinator.o ../out/gcc-debug/src/mobility/models/MoBANLocal.o ../out/gcc-debug/src/mobility/models/MobilityAccess.o ../out/gcc-debug/src/mobility/models/MobilityBase.o ../out/gcc-debug/src/mobility/models/MovingMobilityBase.o ../out/gcc-debug/src/mobility/models/Ns2MotionMobility.o ../out/gcc-debug/src/mobility/models/Posture.o ../out/gcc-debug/src/mobility/models/PostureTransition.o ../out/gcc-debug/src/mobility/models/RandomWPMobility.o ../out/gcc-debug/src/mobility/models/RectangleMobility.o ../out/gcc-debug/src/mobility/models/StaticGridMobility.o ../out/gcc-debug/src/mobility/models/StationaryMobility.o ../out/gcc-debug/src/mobility/models/TraCIMobility.o ../out/gcc-debug/src/mobility/models/TractorMobility.o ../out/gcc-debug/src/mobility/models/TurtleMobility.o ../out/gcc-debug/src/networklayer/arp/ARP.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/FlatNetworkConfigurator.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/HostAutoConfigurator.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/IPv4NetworkConfigurator.o ../out/gcc-debug/src/networklayer/common/InterfaceEntry.o ../out/gcc-debug/src/networklayer/common/InterfaceTable.o ../out/gcc-debug/src/networklayer/contract/IPv4Address.o ../out/gcc-debug/src/networklayer/contract/IPv4ControlInfo.o ../out/gcc-debug/src/networklayer/contract/IPv6Address.o ../out/gcc-debug/src/networklayer/contract/IPv6ControlInfo.o ../out/gcc-debug/src/networklayer/contract/IPvXAddress.o ../out/gcc-debug/src/networklayer/contract/IPvXAddressResolver.o ../out/gcc-debug/src/networklayer/extras/Dummy.o ../out/gcc-debug/src/networklayer/extras/FailureManager.o ../out/gcc-debug/src/networklayer/gtp/GTP.o ../out/gcc-debug/src/networklayer/gtp/GTPControl.o ../out/gcc-debug/src/networklayer/gtp/GTPMessage.o ../out/gcc-debug/src/networklayer/gtp/GTPUser.o ../out/gcc-debug/src/networklayer/gtp/GTPUtils.o ../out/gcc-debug/src/networklayer/gtp/path/GTPPath.o ../out/gcc-debug/src/networklayer/gtp/path/GTPPathTable.o ../out/gcc-debug/src/networklayer/gtp/tunnel/TunnelEndpoint.o ../out/gcc-debug/src/networklayer/gtp/tunnel/TunnelEndpointTable.o ../out/gcc-debug/src/networklayer/ipv4/ErrorHandling.o ../out/gcc-debug/src/networklayer/ipv4/ICMP.o ../out/gcc-debug/src/networklayer/ipv4/IGMPv2.o ../out/gcc-debug/src/networklayer/ipv4/IPv4.o ../out/gcc-debug/src/networklayer/ipv4/IPv4FragBuf.o ../out/gcc-debug/src/networklayer/ipv4/IPv4InterfaceData.o ../out/gcc-debug/src/networklayer/ipv4/IPv4Route.o ../out/gcc-debug/src/networklayer/ipv4/NetworkInfo.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTable.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTableParser.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTableRecorder.o ../out/gcc-debug/src/transport/contract/SCTPSocket.o ../out/gcc-debug/src/transport/contract/TCPSocket.o ../out/gcc-debug/src/transport/contract/TCPSocketMap.o ../out/gcc-debug/src/transport/contract/UDPSocket.o ../out/gcc-debug/src/transport/sctp/SCTP.o ../out/gcc-debug/src/transport/sctp/SCTPAlg.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationBase.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationEventProc.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationRcvMessage.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationSendAll.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationUtil.o ../out/gcc-debug/src/transport/sctp/SCTPCCFunctions.o ../out/gcc-debug/src/transport/sctp/SCTPMessage.o ../out/gcc-debug/src/transport/sctp/SCTPQueue.o ../out/gcc-debug/src/transport/sctp/SCTPReceiveStream.o ../out/gcc-debug/src/transport/sctp/SCTPSendStream.o ../out/gcc-debug/src/transport/sctp/SCTPSSFunctions.o ../out/gcc-debug/src/transport/tcp/TCP.o ../out/gcc-debug/src/transport/tcp/TCPConnectionBase.o ../out/gcc-debug/src/transport/tcp/TCPConnectionEventProc.o ../out/gcc-debug/src/transport/tcp/TCPConnectionRcvSegment.o ../out/gcc-debug/src/transport/tcp/TCPConnectionSackUtil.o ../out/gcc-debug/src/transport/tcp/TCPConnectionUtil.o ../out/gcc-debug/src/transport/tcp/TCPSACKRexmitQueue.o ../out/gcc-debug/src/transport/tcp/flavours/DumbTCP.o ../out/gcc-debug/src/transport/tcp/flavours/TCPBaseAlg.o ../out/gcc-debug/src/transport/tcp/flavours/TCPNewReno.o ../out/gcc-debug/src/transport/tcp/flavours/TCPNoCongestionControl.o ../out/gcc-debug/src/transport/tcp/flavours/TCPReno.o ../out/gcc-debug/src/transport/tcp/flavours/TCPTahoe.o ../out/gcc-debug/src/transport/tcp/flavours/TCPTahoeRenoFamily.o ../out/gcc-debug/src/transport/tcp/queues/TCPByteStreamRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPByteStreamSendQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPMsgBasedRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPMsgBasedSendQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPVirtualDataRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPVirtualDataSendQueue.o ../out/gcc-debug/src/transport/tcp_common/TCPSegment.o ../out/gcc-debug/src/transport/tcp_common/TCPSpoof.o ../out/gcc-debug/src/transport/udp/UDP.o ../out/gcc-debug/src/util/common.o ../out/gcc-debug/src/util/DCTDump.o ../out/gcc-debug/src/util/Delayer.o ../out/gcc-debug/src/util/int128.o ../out/gcc-debug/src/util/Macho.o ../out/gcc-debug/src/util/MessageChecker.o ../out/gcc-debug/src/util/NetAnimTrace.o ../out/gcc-debug/src/util/opp_utils.o ../out/gcc-debug/src/util/OrdinalBasedDropper.o ../out/gcc-debug/src/util/OrdinalBasedDuplicator.o ../out/gcc-debug/src/util/PacketDump.o ../out/gcc-debug/src/util/PatternMatcher.o ../out/gcc-debug/src/util/PcapDump.o ../out/gcc-debug/src/util/PcapRecorder.o ../out/gcc-debug/src/util/TCPDump.o ../out/gcc-debug/src/util/ThruputMeter.o ../out/gcc-debug/src/util/ThruputMeteringChannel.o ../out/gcc-debug/src/util/uint128.o ../out/gcc-debug/src/util/XMLUtils.o ../out/gcc-debug/src/util/asn/ASNTypes.o ../out/gcc-debug/src/util/asn/PerDecoder.o ../out/gcc-debug/src/util/asn/PerEncoder.o ../out/gcc-debug/src/util/gateway/Gateway.o ../out/gcc-debug/src/util/gateway/GatewayTable.o ../out/gcc-debug/src/util/headerserializers/TCPIPchecksum.o ../out/gcc-debug/src/util/headerserializers/4gsim/DiameterSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/GTPSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/MACSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/NASSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/PDCPSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/RLCSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/RRCSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/ICMPSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/IGMPSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/IPv4Serializer.o ../out/gcc-debug/src/util/headerserializers/sctp/SCTPSerializer.o ../out/gcc-debug/src/util/headerserializers/tcp/TCPSerializer.o ../out/gcc-debug/src/util/headerserializers/udp/UDPSerializer.o ../out/gcc-debug/src/util/subscriber/BearerContext.o ../out/gcc-debug/src/util/subscriber/LTEUtils.o ../out/gcc-debug/src/util/subscriber/PDNConnection.o ../out/gcc-debug/src/util/subscriber/Subscriber.o ../out/gcc-debug/src/util/subscriber/SubscriberTable.o ../out/gcc-debug/src/world/annotations/AnnotationDummy.o ../out/gcc-debug/src/world/annotations/AnnotationManager.o ../out/gcc-debug/src/world/obstacles/Obstacle.o ../out/gcc-debug/src/world/obstacles/ObstacleControl.o ../out/gcc-debug/src/world/powercontrol/PowerControlManager.o ../out/gcc-debug/src/world/radio/ChannelAccess.o ../out/gcc-debug/src/world/radio/ChannelControl.o ../out/gcc-debug/src/world/scenario/ScenarioManager.o ../out/gcc-debug/src/applications/diameter/DiameterMessage_m.o ../out/gcc-debug/src/applications/ethernet/EtherApp_m.o ../out/gcc-debug/src/applications/nas/NASMessage_m.o ../out/gcc-debug/src/applications/pingapp/PingPayload_m.o ../out/gcc-debug/src/applications/s1ap/S1APControlInfo_m.o ../out/gcc-debug/src/applications/tcpapp/GenericAppMsg_m.o ../out/gcc-debug/src/base/ByteArray_m.o ../out/gcc-debug/src/base/ByteArrayMessage_m.o ../out/gcc-debug/src/linklayer/contract/Ieee802Ctrl_m.o ../out/gcc-debug/src/linklayer/contract/PhyControlInfo_m.o ../out/gcc-debug/src/linklayer/ethernet/EtherFrame_m.o ../out/gcc-debug/src/linklayer/ext/ExtFrame_m.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211Frame_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/ETXPacket_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtFrames_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211Primitives_m.o ../out/gcc-debug/src/linklayer/lte/LTEControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/LTESchedulingInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/HARQControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/MACControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/MACMessage_m.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPMessage_m.o ../out/gcc-debug/src/linklayer/lte/phy/LTEFrame_m.o ../out/gcc-debug/src/linklayer/lte/phy/LTEPhyControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCMessage_m.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCMessage_m.o ../out/gcc-debug/src/linklayer/ppp/PPPFrame_m.o ../out/gcc-debug/src/linklayer/radio/AirFrame_m.o ../out/gcc-debug/src/linklayer/radio/Radio80211aControlInfo_m.o ../out/gcc-debug/src/networklayer/arp/ARPPacket_m.o ../out/gcc-debug/src/networklayer/contract/IPProtocolId_m.o ../out/gcc-debug/src/networklayer/contract/IPv4ControlInfo_m.o ../out/gcc-debug/src/networklayer/contract/IPv6ControlInfo_m.o ../out/gcc-debug/src/networklayer/gtp/GTPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/ICMPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/IGMPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/IPv4Datagram_m.o ../out/gcc-debug/src/transport/contract/SCTPCommand_m.o ../out/gcc-debug/src/transport/contract/TCPCommand_m.o ../out/gcc-debug/src/transport/contract/UDPControlInfo_m.o ../out/gcc-debug/src/transport/sctp/SCTPMessage_m.o ../out/gcc-debug/src/transport/tcp_common/TCPSegment_m.o ../out/gcc-debug/src/transport/udp/UDPPacket_m.o ../out/gcc-debug/src/world/powercontrol/PowerControlMessages_m.o diff --git a/src/.tmp4788 b/src/.tmp4788 new file mode 100644 index 0000000000000000000000000000000000000000..b2b0e0b1348b81fccbc008a2606a5f52c05bd97e --- /dev/null +++ b/src/.tmp4788 @@ -0,0 +1 @@ +../out/gcc-debug/src/applications/diameter/DiameterApplication.o ../out/gcc-debug/src/applications/diameter/DiameterBase.o ../out/gcc-debug/src/applications/diameter/DiameterConnection.o ../out/gcc-debug/src/applications/diameter/DiameterMessage.o ../out/gcc-debug/src/applications/diameter/DiameterPeer.o ../out/gcc-debug/src/applications/diameter/DiameterSession.o ../out/gcc-debug/src/applications/diameter/DiameterUtils.o ../out/gcc-debug/src/applications/diameters6a/DiameterS6a.o ../out/gcc-debug/src/applications/ethernet/EtherAppCli.o ../out/gcc-debug/src/applications/ethernet/EtherAppSrv.o ../out/gcc-debug/src/applications/ethernet/EtherTrafGen.o ../out/gcc-debug/src/applications/generic/IPvXTrafGen.o ../out/gcc-debug/src/applications/generic/IPvXTrafSink.o ../out/gcc-debug/src/applications/nas/EMMEntity.o ../out/gcc-debug/src/applications/nas/ESMEntity.o ../out/gcc-debug/src/applications/nas/NAS.o ../out/gcc-debug/src/applications/nas/NASUtils.o ../out/gcc-debug/src/applications/pingapp/PingApp.o ../out/gcc-debug/src/applications/pingapp/PingTestApp.o ../out/gcc-debug/src/applications/s1ap/S1AP.o ../out/gcc-debug/src/applications/s1ap/S1APConnection.o ../out/gcc-debug/src/applications/s1ap/S1APUtils.o ../out/gcc-debug/src/applications/s1ap/message/S1APContainer.o ../out/gcc-debug/src/applications/s1ap/message/S1APIe.o ../out/gcc-debug/src/applications/s1ap/message/S1APPdu.o ../out/gcc-debug/src/applications/sctpapp/SCTPClient.o ../out/gcc-debug/src/applications/sctpapp/SCTPPeer.o ../out/gcc-debug/src/applications/sctpapp/SCTPServer.o ../out/gcc-debug/src/applications/tcpapp/TCPBasicClientApp.o ../out/gcc-debug/src/applications/tcpapp/TCPEchoApp.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericCliAppBase.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericSrvApp.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericSrvThread.o ../out/gcc-debug/src/applications/tcpapp/TCPSessionApp.o ../out/gcc-debug/src/applications/tcpapp/TCPSinkApp.o ../out/gcc-debug/src/applications/tcpapp/TCPSrvHostApp.o ../out/gcc-debug/src/applications/tcpapp/TelnetApp.o ../out/gcc-debug/src/applications/udpapp/UDPBasicApp.o ../out/gcc-debug/src/applications/udpapp/UDPBasicBurst.o ../out/gcc-debug/src/applications/udpapp/UDPEchoApp.o ../out/gcc-debug/src/applications/udpapp/UDPSink.o ../out/gcc-debug/src/applications/udpapp/UDPVideoStreamCli.o ../out/gcc-debug/src/applications/udpapp/UDPVideoStreamSvr.o ../out/gcc-debug/src/base/AbstractQueue.o ../out/gcc-debug/src/base/BasicModule.o ../out/gcc-debug/src/base/ByteArray.o ../out/gcc-debug/src/base/ByteArrayBuffer.o ../out/gcc-debug/src/base/ByteArrayMessage.o ../out/gcc-debug/src/base/Coord.o ../out/gcc-debug/src/base/erfc.o ../out/gcc-debug/src/base/Join.o ../out/gcc-debug/src/base/ModuleAccess.o ../out/gcc-debug/src/base/NedFunctions.o ../out/gcc-debug/src/base/NotificationBoard.o ../out/gcc-debug/src/base/NotifierConsts.o ../out/gcc-debug/src/base/PassiveQueueBase.o ../out/gcc-debug/src/base/ProtocolMap.o ../out/gcc-debug/src/base/QueueBase.o ../out/gcc-debug/src/base/QueueWithQoS.o ../out/gcc-debug/src/base/ReassemblyBuffer.o ../out/gcc-debug/src/base/ResultFilters.o ../out/gcc-debug/src/base/Sink.o ../out/gcc-debug/src/base/Topology.o ../out/gcc-debug/src/base/UnimplementedModule.o ../out/gcc-debug/src/base/WeightedTopology.o ../out/gcc-debug/src/battery/models/BasicBattery.o ../out/gcc-debug/src/battery/models/InetSimpleBattery.o ../out/gcc-debug/src/linklayer/contract/MACAddress.o ../out/gcc-debug/src/linklayer/ethernet/EtherBus.o ../out/gcc-debug/src/linklayer/ethernet/EtherEncap.o ../out/gcc-debug/src/linklayer/ethernet/EtherFrameClassifier.o ../out/gcc-debug/src/linklayer/ethernet/EtherHub.o ../out/gcc-debug/src/linklayer/ethernet/EtherLLC.o ../out/gcc-debug/src/linklayer/ethernet/EtherMAC.o ../out/gcc-debug/src/linklayer/ethernet/EtherMACBase.o ../out/gcc-debug/src/linklayer/ethernet/EtherMACFullDuplex.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitBase.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitNP.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitPP.o ../out/gcc-debug/src/linklayer/ext/cSocketRTScheduler.o ../out/gcc-debug/src/linklayer/ext/ExtInterface.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211eClassifier.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211Mac.o ../out/gcc-debug/src/linklayer/ieee80211/mac/WifiMode.o ../out/gcc-debug/src/linklayer/ieee80211/mac/WirelessMacBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211AgentSTA.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211Etx.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAdhoc.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAdhocWithEtx.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAP.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAPBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAPSimplified.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtSTA.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtSTASimplified.o ../out/gcc-debug/src/linklayer/ieee80211/radio/BerParseFile.o ../out/gcc-debug/src/linklayer/ieee80211/radio/Ieee80211RadioModel.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/dsss-error-rate-model.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/nist-error-rate-model.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/yans-error-rate-model.o ../out/gcc-debug/src/linklayer/lte/LTEConfig.o ../out/gcc-debug/src/linklayer/lte/LTEScheduler.o ../out/gcc-debug/src/linklayer/lte/LTESchedulingInfo.o ../out/gcc-debug/src/linklayer/lte/mac/HARQEntity.o ../out/gcc-debug/src/linklayer/lte/mac/HARQProcess.o ../out/gcc-debug/src/linklayer/lte/mac/MAC.o ../out/gcc-debug/src/linklayer/lte/mac/MACMessage.o ../out/gcc-debug/src/linklayer/lte/mac/MACScheduler.o ../out/gcc-debug/src/linklayer/lte/mac/MACUtils.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCP.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPEntity.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPMessage.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPUtils.o ../out/gcc-debug/src/linklayer/lte/phy/LTEChannelControl.o ../out/gcc-debug/src/linklayer/lte/phy/LTERadio.o ../out/gcc-debug/src/linklayer/lte/phy/LTERadioModel.o ../out/gcc-debug/src/linklayer/lte/rlc/RLC.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCEntity.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCTMEntity.o ../out/gcc-debug/src/linklayer/lte/rrc/RRC.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCEntity.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCUtils.o ../out/gcc-debug/src/linklayer/lte/rrc/message/.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCClassDefinitions.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCInformationElements.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCMessage.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCPDUDefinitions.o ../out/gcc-debug/src/linklayer/ppp/PPP.o ../out/gcc-debug/src/linklayer/queue/AlgorithmicDropperBase.o ../out/gcc-debug/src/linklayer/queue/DropTailQueue.o ../out/gcc-debug/src/linklayer/queue/FIFOQueue.o ../out/gcc-debug/src/linklayer/queue/PriorityScheduler.o ../out/gcc-debug/src/linklayer/queue/REDDropper.o ../out/gcc-debug/src/linklayer/queue/SchedulerBase.o ../out/gcc-debug/src/linklayer/queue/ThresholdDropper.o ../out/gcc-debug/src/linklayer/queue/WRRScheduler.o ../out/gcc-debug/src/linklayer/radio/GenericRadioModel.o ../out/gcc-debug/src/linklayer/radio/Modulation.o ../out/gcc-debug/src/linklayer/radio/Radio.o ../out/gcc-debug/src/linklayer/radio/propagation/FreeSpaceModel.o ../out/gcc-debug/src/linklayer/radio/propagation/LogNormalShadowingModel.o ../out/gcc-debug/src/linklayer/radio/propagation/NakagamiModel.o ../out/gcc-debug/src/linklayer/radio/propagation/RayleighModel.o ../out/gcc-debug/src/linklayer/radio/propagation/RiceModel.o ../out/gcc-debug/src/linklayer/radio/propagation/TwoRayGroundModel.o ../out/gcc-debug/src/mobility/models/ANSimMobility.o ../out/gcc-debug/src/mobility/models/BonnMotionFileCache.o ../out/gcc-debug/src/mobility/models/BonnMotionMobility.o ../out/gcc-debug/src/mobility/models/ChiangMobility.o ../out/gcc-debug/src/mobility/models/CircleMobility.o ../out/gcc-debug/src/mobility/models/ConstSpeedMobility.o ../out/gcc-debug/src/mobility/models/GaussMarkovMobility.o ../out/gcc-debug/src/mobility/models/LinearMobility.o ../out/gcc-debug/src/mobility/models/LinearNodeDistributionMobility.o ../out/gcc-debug/src/mobility/models/LineSegmentsMobilityBase.o ../out/gcc-debug/src/mobility/models/MassMobility.o ../out/gcc-debug/src/mobility/models/MoBANCoordinator.o ../out/gcc-debug/src/mobility/models/MoBANLocal.o ../out/gcc-debug/src/mobility/models/MobilityAccess.o ../out/gcc-debug/src/mobility/models/MobilityBase.o ../out/gcc-debug/src/mobility/models/MovingMobilityBase.o ../out/gcc-debug/src/mobility/models/Ns2MotionMobility.o ../out/gcc-debug/src/mobility/models/Posture.o ../out/gcc-debug/src/mobility/models/PostureTransition.o ../out/gcc-debug/src/mobility/models/RandomWPMobility.o ../out/gcc-debug/src/mobility/models/RectangleMobility.o ../out/gcc-debug/src/mobility/models/StaticGridMobility.o ../out/gcc-debug/src/mobility/models/StationaryMobility.o ../out/gcc-debug/src/mobility/models/TraCIMobility.o ../out/gcc-debug/src/mobility/models/TractorMobility.o ../out/gcc-debug/src/mobility/models/TurtleMobility.o ../out/gcc-debug/src/networklayer/arp/ARP.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/FlatNetworkConfigurator.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/HostAutoConfigurator.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/IPv4NetworkConfigurator.o ../out/gcc-debug/src/networklayer/common/InterfaceEntry.o ../out/gcc-debug/src/networklayer/common/InterfaceTable.o ../out/gcc-debug/src/networklayer/contract/IPv4Address.o ../out/gcc-debug/src/networklayer/contract/IPv4ControlInfo.o ../out/gcc-debug/src/networklayer/contract/IPv6Address.o ../out/gcc-debug/src/networklayer/contract/IPv6ControlInfo.o ../out/gcc-debug/src/networklayer/contract/IPvXAddress.o ../out/gcc-debug/src/networklayer/contract/IPvXAddressResolver.o ../out/gcc-debug/src/networklayer/extras/Dummy.o ../out/gcc-debug/src/networklayer/extras/FailureManager.o ../out/gcc-debug/src/networklayer/gtp/GTP.o ../out/gcc-debug/src/networklayer/gtp/GTPControl.o ../out/gcc-debug/src/networklayer/gtp/GTPMessage.o ../out/gcc-debug/src/networklayer/gtp/GTPUser.o ../out/gcc-debug/src/networklayer/gtp/GTPUtils.o ../out/gcc-debug/src/networklayer/gtp/path/GTPPath.o ../out/gcc-debug/src/networklayer/gtp/path/GTPPathTable.o ../out/gcc-debug/src/networklayer/gtp/tunnel/TunnelEndpoint.o ../out/gcc-debug/src/networklayer/gtp/tunnel/TunnelEndpointTable.o ../out/gcc-debug/src/networklayer/ipv4/ErrorHandling.o ../out/gcc-debug/src/networklayer/ipv4/ICMP.o ../out/gcc-debug/src/networklayer/ipv4/IGMPv2.o ../out/gcc-debug/src/networklayer/ipv4/IPv4.o ../out/gcc-debug/src/networklayer/ipv4/IPv4FragBuf.o ../out/gcc-debug/src/networklayer/ipv4/IPv4InterfaceData.o ../out/gcc-debug/src/networklayer/ipv4/IPv4Route.o ../out/gcc-debug/src/networklayer/ipv4/NetworkInfo.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTable.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTableParser.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTableRecorder.o ../out/gcc-debug/src/transport/contract/SCTPSocket.o ../out/gcc-debug/src/transport/contract/TCPSocket.o ../out/gcc-debug/src/transport/contract/TCPSocketMap.o ../out/gcc-debug/src/transport/contract/UDPSocket.o ../out/gcc-debug/src/transport/sctp/SCTP.o ../out/gcc-debug/src/transport/sctp/SCTPAlg.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationBase.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationEventProc.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationRcvMessage.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationSendAll.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationUtil.o ../out/gcc-debug/src/transport/sctp/SCTPCCFunctions.o ../out/gcc-debug/src/transport/sctp/SCTPMessage.o ../out/gcc-debug/src/transport/sctp/SCTPQueue.o ../out/gcc-debug/src/transport/sctp/SCTPReceiveStream.o ../out/gcc-debug/src/transport/sctp/SCTPSendStream.o ../out/gcc-debug/src/transport/sctp/SCTPSSFunctions.o ../out/gcc-debug/src/transport/tcp/TCP.o ../out/gcc-debug/src/transport/tcp/TCPConnectionBase.o ../out/gcc-debug/src/transport/tcp/TCPConnectionEventProc.o ../out/gcc-debug/src/transport/tcp/TCPConnectionRcvSegment.o ../out/gcc-debug/src/transport/tcp/TCPConnectionSackUtil.o ../out/gcc-debug/src/transport/tcp/TCPConnectionUtil.o ../out/gcc-debug/src/transport/tcp/TCPSACKRexmitQueue.o ../out/gcc-debug/src/transport/tcp/flavours/DumbTCP.o ../out/gcc-debug/src/transport/tcp/flavours/TCPBaseAlg.o ../out/gcc-debug/src/transport/tcp/flavours/TCPNewReno.o ../out/gcc-debug/src/transport/tcp/flavours/TCPNoCongestionControl.o ../out/gcc-debug/src/transport/tcp/flavours/TCPReno.o ../out/gcc-debug/src/transport/tcp/flavours/TCPTahoe.o ../out/gcc-debug/src/transport/tcp/flavours/TCPTahoeRenoFamily.o ../out/gcc-debug/src/transport/tcp/queues/TCPByteStreamRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPByteStreamSendQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPMsgBasedRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPMsgBasedSendQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPVirtualDataRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPVirtualDataSendQueue.o ../out/gcc-debug/src/transport/tcp_common/TCPSegment.o ../out/gcc-debug/src/transport/tcp_common/TCPSpoof.o ../out/gcc-debug/src/transport/udp/UDP.o ../out/gcc-debug/src/util/common.o ../out/gcc-debug/src/util/DCTDump.o ../out/gcc-debug/src/util/Delayer.o ../out/gcc-debug/src/util/int128.o ../out/gcc-debug/src/util/Macho.o ../out/gcc-debug/src/util/MessageChecker.o ../out/gcc-debug/src/util/NetAnimTrace.o ../out/gcc-debug/src/util/opp_utils.o ../out/gcc-debug/src/util/OrdinalBasedDropper.o ../out/gcc-debug/src/util/OrdinalBasedDuplicator.o ../out/gcc-debug/src/util/PacketDump.o ../out/gcc-debug/src/util/PatternMatcher.o ../out/gcc-debug/src/util/PcapDump.o ../out/gcc-debug/src/util/PcapRecorder.o ../out/gcc-debug/src/util/TCPDump.o ../out/gcc-debug/src/util/ThruputMeter.o ../out/gcc-debug/src/util/ThruputMeteringChannel.o ../out/gcc-debug/src/util/uint128.o ../out/gcc-debug/src/util/XMLUtils.o ../out/gcc-debug/src/util/asn/ASNTypes.o ../out/gcc-debug/src/util/asn/PerDecoder.o ../out/gcc-debug/src/util/asn/PerEncoder.o ../out/gcc-debug/src/util/gateway/Gateway.o ../out/gcc-debug/src/util/gateway/GatewayTable.o ../out/gcc-debug/src/util/headerserializers/TCPIPchecksum.o ../out/gcc-debug/src/util/headerserializers/4gsim/DiameterSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/GTPSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/MACSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/NASSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/PDCPSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/RLCSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/RRCSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/ICMPSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/IGMPSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/IPv4Serializer.o ../out/gcc-debug/src/util/headerserializers/sctp/SCTPSerializer.o ../out/gcc-debug/src/util/headerserializers/tcp/TCPSerializer.o ../out/gcc-debug/src/util/headerserializers/udp/UDPSerializer.o ../out/gcc-debug/src/util/subscriber/BearerContext.o ../out/gcc-debug/src/util/subscriber/LTEUtils.o ../out/gcc-debug/src/util/subscriber/PDNConnection.o ../out/gcc-debug/src/util/subscriber/Subscriber.o ../out/gcc-debug/src/util/subscriber/SubscriberTable.o ../out/gcc-debug/src/world/annotations/AnnotationDummy.o ../out/gcc-debug/src/world/annotations/AnnotationManager.o ../out/gcc-debug/src/world/obstacles/Obstacle.o ../out/gcc-debug/src/world/obstacles/ObstacleControl.o ../out/gcc-debug/src/world/powercontrol/PowerControlManager.o ../out/gcc-debug/src/world/radio/ChannelAccess.o ../out/gcc-debug/src/world/radio/ChannelControl.o ../out/gcc-debug/src/world/scenario/ScenarioManager.o ../out/gcc-debug/src/applications/diameter/DiameterMessage_m.o ../out/gcc-debug/src/applications/ethernet/EtherApp_m.o ../out/gcc-debug/src/applications/nas/NASMessage_m.o ../out/gcc-debug/src/applications/pingapp/PingPayload_m.o ../out/gcc-debug/src/applications/s1ap/S1APControlInfo_m.o ../out/gcc-debug/src/applications/tcpapp/GenericAppMsg_m.o ../out/gcc-debug/src/base/ByteArray_m.o ../out/gcc-debug/src/base/ByteArrayMessage_m.o ../out/gcc-debug/src/linklayer/contract/Ieee802Ctrl_m.o ../out/gcc-debug/src/linklayer/contract/PhyControlInfo_m.o ../out/gcc-debug/src/linklayer/ethernet/EtherFrame_m.o ../out/gcc-debug/src/linklayer/ext/ExtFrame_m.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211Frame_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/ETXPacket_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtFrames_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211Primitives_m.o ../out/gcc-debug/src/linklayer/lte/LTEControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/LTESchedulingInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/HARQControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/MACControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/MACMessage_m.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPMessage_m.o ../out/gcc-debug/src/linklayer/lte/phy/LTEFrame_m.o ../out/gcc-debug/src/linklayer/lte/phy/LTEPhyControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCMessage_m.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCMessage_m.o ../out/gcc-debug/src/linklayer/ppp/PPPFrame_m.o ../out/gcc-debug/src/linklayer/radio/AirFrame_m.o ../out/gcc-debug/src/linklayer/radio/Radio80211aControlInfo_m.o ../out/gcc-debug/src/networklayer/arp/ARPPacket_m.o ../out/gcc-debug/src/networklayer/contract/IPProtocolId_m.o ../out/gcc-debug/src/networklayer/contract/IPv4ControlInfo_m.o ../out/gcc-debug/src/networklayer/contract/IPv6ControlInfo_m.o ../out/gcc-debug/src/networklayer/gtp/GTPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/ICMPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/IGMPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/IPv4Datagram_m.o ../out/gcc-debug/src/transport/contract/SCTPCommand_m.o ../out/gcc-debug/src/transport/contract/TCPCommand_m.o ../out/gcc-debug/src/transport/contract/UDPControlInfo_m.o ../out/gcc-debug/src/transport/sctp/SCTPMessage_m.o ../out/gcc-debug/src/transport/tcp_common/TCPSegment_m.o ../out/gcc-debug/src/transport/udp/UDPPacket_m.o ../out/gcc-debug/src/world/powercontrol/PowerControlMessages_m.o diff --git a/src/.tmp7180 b/src/.tmp7180 new file mode 100644 index 0000000000000000000000000000000000000000..b2b0e0b1348b81fccbc008a2606a5f52c05bd97e --- /dev/null +++ b/src/.tmp7180 @@ -0,0 +1 @@ +../out/gcc-debug/src/applications/diameter/DiameterApplication.o ../out/gcc-debug/src/applications/diameter/DiameterBase.o ../out/gcc-debug/src/applications/diameter/DiameterConnection.o ../out/gcc-debug/src/applications/diameter/DiameterMessage.o ../out/gcc-debug/src/applications/diameter/DiameterPeer.o ../out/gcc-debug/src/applications/diameter/DiameterSession.o ../out/gcc-debug/src/applications/diameter/DiameterUtils.o ../out/gcc-debug/src/applications/diameters6a/DiameterS6a.o ../out/gcc-debug/src/applications/ethernet/EtherAppCli.o ../out/gcc-debug/src/applications/ethernet/EtherAppSrv.o ../out/gcc-debug/src/applications/ethernet/EtherTrafGen.o ../out/gcc-debug/src/applications/generic/IPvXTrafGen.o ../out/gcc-debug/src/applications/generic/IPvXTrafSink.o ../out/gcc-debug/src/applications/nas/EMMEntity.o ../out/gcc-debug/src/applications/nas/ESMEntity.o ../out/gcc-debug/src/applications/nas/NAS.o ../out/gcc-debug/src/applications/nas/NASUtils.o ../out/gcc-debug/src/applications/pingapp/PingApp.o ../out/gcc-debug/src/applications/pingapp/PingTestApp.o ../out/gcc-debug/src/applications/s1ap/S1AP.o ../out/gcc-debug/src/applications/s1ap/S1APConnection.o ../out/gcc-debug/src/applications/s1ap/S1APUtils.o ../out/gcc-debug/src/applications/s1ap/message/S1APContainer.o ../out/gcc-debug/src/applications/s1ap/message/S1APIe.o ../out/gcc-debug/src/applications/s1ap/message/S1APPdu.o ../out/gcc-debug/src/applications/sctpapp/SCTPClient.o ../out/gcc-debug/src/applications/sctpapp/SCTPPeer.o ../out/gcc-debug/src/applications/sctpapp/SCTPServer.o ../out/gcc-debug/src/applications/tcpapp/TCPBasicClientApp.o ../out/gcc-debug/src/applications/tcpapp/TCPEchoApp.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericCliAppBase.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericSrvApp.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericSrvThread.o ../out/gcc-debug/src/applications/tcpapp/TCPSessionApp.o ../out/gcc-debug/src/applications/tcpapp/TCPSinkApp.o ../out/gcc-debug/src/applications/tcpapp/TCPSrvHostApp.o ../out/gcc-debug/src/applications/tcpapp/TelnetApp.o ../out/gcc-debug/src/applications/udpapp/UDPBasicApp.o ../out/gcc-debug/src/applications/udpapp/UDPBasicBurst.o ../out/gcc-debug/src/applications/udpapp/UDPEchoApp.o ../out/gcc-debug/src/applications/udpapp/UDPSink.o ../out/gcc-debug/src/applications/udpapp/UDPVideoStreamCli.o ../out/gcc-debug/src/applications/udpapp/UDPVideoStreamSvr.o ../out/gcc-debug/src/base/AbstractQueue.o ../out/gcc-debug/src/base/BasicModule.o ../out/gcc-debug/src/base/ByteArray.o ../out/gcc-debug/src/base/ByteArrayBuffer.o ../out/gcc-debug/src/base/ByteArrayMessage.o ../out/gcc-debug/src/base/Coord.o ../out/gcc-debug/src/base/erfc.o ../out/gcc-debug/src/base/Join.o ../out/gcc-debug/src/base/ModuleAccess.o ../out/gcc-debug/src/base/NedFunctions.o ../out/gcc-debug/src/base/NotificationBoard.o ../out/gcc-debug/src/base/NotifierConsts.o ../out/gcc-debug/src/base/PassiveQueueBase.o ../out/gcc-debug/src/base/ProtocolMap.o ../out/gcc-debug/src/base/QueueBase.o ../out/gcc-debug/src/base/QueueWithQoS.o ../out/gcc-debug/src/base/ReassemblyBuffer.o ../out/gcc-debug/src/base/ResultFilters.o ../out/gcc-debug/src/base/Sink.o ../out/gcc-debug/src/base/Topology.o ../out/gcc-debug/src/base/UnimplementedModule.o ../out/gcc-debug/src/base/WeightedTopology.o ../out/gcc-debug/src/battery/models/BasicBattery.o ../out/gcc-debug/src/battery/models/InetSimpleBattery.o ../out/gcc-debug/src/linklayer/contract/MACAddress.o ../out/gcc-debug/src/linklayer/ethernet/EtherBus.o ../out/gcc-debug/src/linklayer/ethernet/EtherEncap.o ../out/gcc-debug/src/linklayer/ethernet/EtherFrameClassifier.o ../out/gcc-debug/src/linklayer/ethernet/EtherHub.o ../out/gcc-debug/src/linklayer/ethernet/EtherLLC.o ../out/gcc-debug/src/linklayer/ethernet/EtherMAC.o ../out/gcc-debug/src/linklayer/ethernet/EtherMACBase.o ../out/gcc-debug/src/linklayer/ethernet/EtherMACFullDuplex.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitBase.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitNP.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitPP.o ../out/gcc-debug/src/linklayer/ext/cSocketRTScheduler.o ../out/gcc-debug/src/linklayer/ext/ExtInterface.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211eClassifier.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211Mac.o ../out/gcc-debug/src/linklayer/ieee80211/mac/WifiMode.o ../out/gcc-debug/src/linklayer/ieee80211/mac/WirelessMacBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211AgentSTA.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211Etx.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAdhoc.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAdhocWithEtx.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAP.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAPBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAPSimplified.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtSTA.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtSTASimplified.o ../out/gcc-debug/src/linklayer/ieee80211/radio/BerParseFile.o ../out/gcc-debug/src/linklayer/ieee80211/radio/Ieee80211RadioModel.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/dsss-error-rate-model.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/nist-error-rate-model.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/yans-error-rate-model.o ../out/gcc-debug/src/linklayer/lte/LTEConfig.o ../out/gcc-debug/src/linklayer/lte/LTEScheduler.o ../out/gcc-debug/src/linklayer/lte/LTESchedulingInfo.o ../out/gcc-debug/src/linklayer/lte/mac/HARQEntity.o ../out/gcc-debug/src/linklayer/lte/mac/HARQProcess.o ../out/gcc-debug/src/linklayer/lte/mac/MAC.o ../out/gcc-debug/src/linklayer/lte/mac/MACMessage.o ../out/gcc-debug/src/linklayer/lte/mac/MACScheduler.o ../out/gcc-debug/src/linklayer/lte/mac/MACUtils.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCP.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPEntity.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPMessage.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPUtils.o ../out/gcc-debug/src/linklayer/lte/phy/LTEChannelControl.o ../out/gcc-debug/src/linklayer/lte/phy/LTERadio.o ../out/gcc-debug/src/linklayer/lte/phy/LTERadioModel.o ../out/gcc-debug/src/linklayer/lte/rlc/RLC.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCEntity.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCTMEntity.o ../out/gcc-debug/src/linklayer/lte/rrc/RRC.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCEntity.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCUtils.o ../out/gcc-debug/src/linklayer/lte/rrc/message/.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCClassDefinitions.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCInformationElements.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCMessage.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCPDUDefinitions.o ../out/gcc-debug/src/linklayer/ppp/PPP.o ../out/gcc-debug/src/linklayer/queue/AlgorithmicDropperBase.o ../out/gcc-debug/src/linklayer/queue/DropTailQueue.o ../out/gcc-debug/src/linklayer/queue/FIFOQueue.o ../out/gcc-debug/src/linklayer/queue/PriorityScheduler.o ../out/gcc-debug/src/linklayer/queue/REDDropper.o ../out/gcc-debug/src/linklayer/queue/SchedulerBase.o ../out/gcc-debug/src/linklayer/queue/ThresholdDropper.o ../out/gcc-debug/src/linklayer/queue/WRRScheduler.o ../out/gcc-debug/src/linklayer/radio/GenericRadioModel.o ../out/gcc-debug/src/linklayer/radio/Modulation.o ../out/gcc-debug/src/linklayer/radio/Radio.o ../out/gcc-debug/src/linklayer/radio/propagation/FreeSpaceModel.o ../out/gcc-debug/src/linklayer/radio/propagation/LogNormalShadowingModel.o ../out/gcc-debug/src/linklayer/radio/propagation/NakagamiModel.o ../out/gcc-debug/src/linklayer/radio/propagation/RayleighModel.o ../out/gcc-debug/src/linklayer/radio/propagation/RiceModel.o ../out/gcc-debug/src/linklayer/radio/propagation/TwoRayGroundModel.o ../out/gcc-debug/src/mobility/models/ANSimMobility.o ../out/gcc-debug/src/mobility/models/BonnMotionFileCache.o ../out/gcc-debug/src/mobility/models/BonnMotionMobility.o ../out/gcc-debug/src/mobility/models/ChiangMobility.o ../out/gcc-debug/src/mobility/models/CircleMobility.o ../out/gcc-debug/src/mobility/models/ConstSpeedMobility.o ../out/gcc-debug/src/mobility/models/GaussMarkovMobility.o ../out/gcc-debug/src/mobility/models/LinearMobility.o ../out/gcc-debug/src/mobility/models/LinearNodeDistributionMobility.o ../out/gcc-debug/src/mobility/models/LineSegmentsMobilityBase.o ../out/gcc-debug/src/mobility/models/MassMobility.o ../out/gcc-debug/src/mobility/models/MoBANCoordinator.o ../out/gcc-debug/src/mobility/models/MoBANLocal.o ../out/gcc-debug/src/mobility/models/MobilityAccess.o ../out/gcc-debug/src/mobility/models/MobilityBase.o ../out/gcc-debug/src/mobility/models/MovingMobilityBase.o ../out/gcc-debug/src/mobility/models/Ns2MotionMobility.o ../out/gcc-debug/src/mobility/models/Posture.o ../out/gcc-debug/src/mobility/models/PostureTransition.o ../out/gcc-debug/src/mobility/models/RandomWPMobility.o ../out/gcc-debug/src/mobility/models/RectangleMobility.o ../out/gcc-debug/src/mobility/models/StaticGridMobility.o ../out/gcc-debug/src/mobility/models/StationaryMobility.o ../out/gcc-debug/src/mobility/models/TraCIMobility.o ../out/gcc-debug/src/mobility/models/TractorMobility.o ../out/gcc-debug/src/mobility/models/TurtleMobility.o ../out/gcc-debug/src/networklayer/arp/ARP.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/FlatNetworkConfigurator.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/HostAutoConfigurator.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/IPv4NetworkConfigurator.o ../out/gcc-debug/src/networklayer/common/InterfaceEntry.o ../out/gcc-debug/src/networklayer/common/InterfaceTable.o ../out/gcc-debug/src/networklayer/contract/IPv4Address.o ../out/gcc-debug/src/networklayer/contract/IPv4ControlInfo.o ../out/gcc-debug/src/networklayer/contract/IPv6Address.o ../out/gcc-debug/src/networklayer/contract/IPv6ControlInfo.o ../out/gcc-debug/src/networklayer/contract/IPvXAddress.o ../out/gcc-debug/src/networklayer/contract/IPvXAddressResolver.o ../out/gcc-debug/src/networklayer/extras/Dummy.o ../out/gcc-debug/src/networklayer/extras/FailureManager.o ../out/gcc-debug/src/networklayer/gtp/GTP.o ../out/gcc-debug/src/networklayer/gtp/GTPControl.o ../out/gcc-debug/src/networklayer/gtp/GTPMessage.o ../out/gcc-debug/src/networklayer/gtp/GTPUser.o ../out/gcc-debug/src/networklayer/gtp/GTPUtils.o ../out/gcc-debug/src/networklayer/gtp/path/GTPPath.o ../out/gcc-debug/src/networklayer/gtp/path/GTPPathTable.o ../out/gcc-debug/src/networklayer/gtp/tunnel/TunnelEndpoint.o ../out/gcc-debug/src/networklayer/gtp/tunnel/TunnelEndpointTable.o ../out/gcc-debug/src/networklayer/ipv4/ErrorHandling.o ../out/gcc-debug/src/networklayer/ipv4/ICMP.o ../out/gcc-debug/src/networklayer/ipv4/IGMPv2.o ../out/gcc-debug/src/networklayer/ipv4/IPv4.o ../out/gcc-debug/src/networklayer/ipv4/IPv4FragBuf.o ../out/gcc-debug/src/networklayer/ipv4/IPv4InterfaceData.o ../out/gcc-debug/src/networklayer/ipv4/IPv4Route.o ../out/gcc-debug/src/networklayer/ipv4/NetworkInfo.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTable.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTableParser.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTableRecorder.o ../out/gcc-debug/src/transport/contract/SCTPSocket.o ../out/gcc-debug/src/transport/contract/TCPSocket.o ../out/gcc-debug/src/transport/contract/TCPSocketMap.o ../out/gcc-debug/src/transport/contract/UDPSocket.o ../out/gcc-debug/src/transport/sctp/SCTP.o ../out/gcc-debug/src/transport/sctp/SCTPAlg.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationBase.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationEventProc.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationRcvMessage.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationSendAll.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationUtil.o ../out/gcc-debug/src/transport/sctp/SCTPCCFunctions.o ../out/gcc-debug/src/transport/sctp/SCTPMessage.o ../out/gcc-debug/src/transport/sctp/SCTPQueue.o ../out/gcc-debug/src/transport/sctp/SCTPReceiveStream.o ../out/gcc-debug/src/transport/sctp/SCTPSendStream.o ../out/gcc-debug/src/transport/sctp/SCTPSSFunctions.o ../out/gcc-debug/src/transport/tcp/TCP.o ../out/gcc-debug/src/transport/tcp/TCPConnectionBase.o ../out/gcc-debug/src/transport/tcp/TCPConnectionEventProc.o ../out/gcc-debug/src/transport/tcp/TCPConnectionRcvSegment.o ../out/gcc-debug/src/transport/tcp/TCPConnectionSackUtil.o ../out/gcc-debug/src/transport/tcp/TCPConnectionUtil.o ../out/gcc-debug/src/transport/tcp/TCPSACKRexmitQueue.o ../out/gcc-debug/src/transport/tcp/flavours/DumbTCP.o ../out/gcc-debug/src/transport/tcp/flavours/TCPBaseAlg.o ../out/gcc-debug/src/transport/tcp/flavours/TCPNewReno.o ../out/gcc-debug/src/transport/tcp/flavours/TCPNoCongestionControl.o ../out/gcc-debug/src/transport/tcp/flavours/TCPReno.o ../out/gcc-debug/src/transport/tcp/flavours/TCPTahoe.o ../out/gcc-debug/src/transport/tcp/flavours/TCPTahoeRenoFamily.o ../out/gcc-debug/src/transport/tcp/queues/TCPByteStreamRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPByteStreamSendQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPMsgBasedRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPMsgBasedSendQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPVirtualDataRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPVirtualDataSendQueue.o ../out/gcc-debug/src/transport/tcp_common/TCPSegment.o ../out/gcc-debug/src/transport/tcp_common/TCPSpoof.o ../out/gcc-debug/src/transport/udp/UDP.o ../out/gcc-debug/src/util/common.o ../out/gcc-debug/src/util/DCTDump.o ../out/gcc-debug/src/util/Delayer.o ../out/gcc-debug/src/util/int128.o ../out/gcc-debug/src/util/Macho.o ../out/gcc-debug/src/util/MessageChecker.o ../out/gcc-debug/src/util/NetAnimTrace.o ../out/gcc-debug/src/util/opp_utils.o ../out/gcc-debug/src/util/OrdinalBasedDropper.o ../out/gcc-debug/src/util/OrdinalBasedDuplicator.o ../out/gcc-debug/src/util/PacketDump.o ../out/gcc-debug/src/util/PatternMatcher.o ../out/gcc-debug/src/util/PcapDump.o ../out/gcc-debug/src/util/PcapRecorder.o ../out/gcc-debug/src/util/TCPDump.o ../out/gcc-debug/src/util/ThruputMeter.o ../out/gcc-debug/src/util/ThruputMeteringChannel.o ../out/gcc-debug/src/util/uint128.o ../out/gcc-debug/src/util/XMLUtils.o ../out/gcc-debug/src/util/asn/ASNTypes.o ../out/gcc-debug/src/util/asn/PerDecoder.o ../out/gcc-debug/src/util/asn/PerEncoder.o ../out/gcc-debug/src/util/gateway/Gateway.o ../out/gcc-debug/src/util/gateway/GatewayTable.o ../out/gcc-debug/src/util/headerserializers/TCPIPchecksum.o ../out/gcc-debug/src/util/headerserializers/4gsim/DiameterSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/GTPSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/MACSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/NASSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/PDCPSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/RLCSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/RRCSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/ICMPSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/IGMPSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/IPv4Serializer.o ../out/gcc-debug/src/util/headerserializers/sctp/SCTPSerializer.o ../out/gcc-debug/src/util/headerserializers/tcp/TCPSerializer.o ../out/gcc-debug/src/util/headerserializers/udp/UDPSerializer.o ../out/gcc-debug/src/util/subscriber/BearerContext.o ../out/gcc-debug/src/util/subscriber/LTEUtils.o ../out/gcc-debug/src/util/subscriber/PDNConnection.o ../out/gcc-debug/src/util/subscriber/Subscriber.o ../out/gcc-debug/src/util/subscriber/SubscriberTable.o ../out/gcc-debug/src/world/annotations/AnnotationDummy.o ../out/gcc-debug/src/world/annotations/AnnotationManager.o ../out/gcc-debug/src/world/obstacles/Obstacle.o ../out/gcc-debug/src/world/obstacles/ObstacleControl.o ../out/gcc-debug/src/world/powercontrol/PowerControlManager.o ../out/gcc-debug/src/world/radio/ChannelAccess.o ../out/gcc-debug/src/world/radio/ChannelControl.o ../out/gcc-debug/src/world/scenario/ScenarioManager.o ../out/gcc-debug/src/applications/diameter/DiameterMessage_m.o ../out/gcc-debug/src/applications/ethernet/EtherApp_m.o ../out/gcc-debug/src/applications/nas/NASMessage_m.o ../out/gcc-debug/src/applications/pingapp/PingPayload_m.o ../out/gcc-debug/src/applications/s1ap/S1APControlInfo_m.o ../out/gcc-debug/src/applications/tcpapp/GenericAppMsg_m.o ../out/gcc-debug/src/base/ByteArray_m.o ../out/gcc-debug/src/base/ByteArrayMessage_m.o ../out/gcc-debug/src/linklayer/contract/Ieee802Ctrl_m.o ../out/gcc-debug/src/linklayer/contract/PhyControlInfo_m.o ../out/gcc-debug/src/linklayer/ethernet/EtherFrame_m.o ../out/gcc-debug/src/linklayer/ext/ExtFrame_m.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211Frame_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/ETXPacket_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtFrames_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211Primitives_m.o ../out/gcc-debug/src/linklayer/lte/LTEControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/LTESchedulingInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/HARQControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/MACControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/MACMessage_m.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPMessage_m.o ../out/gcc-debug/src/linklayer/lte/phy/LTEFrame_m.o ../out/gcc-debug/src/linklayer/lte/phy/LTEPhyControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCMessage_m.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCMessage_m.o ../out/gcc-debug/src/linklayer/ppp/PPPFrame_m.o ../out/gcc-debug/src/linklayer/radio/AirFrame_m.o ../out/gcc-debug/src/linklayer/radio/Radio80211aControlInfo_m.o ../out/gcc-debug/src/networklayer/arp/ARPPacket_m.o ../out/gcc-debug/src/networklayer/contract/IPProtocolId_m.o ../out/gcc-debug/src/networklayer/contract/IPv4ControlInfo_m.o ../out/gcc-debug/src/networklayer/contract/IPv6ControlInfo_m.o ../out/gcc-debug/src/networklayer/gtp/GTPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/ICMPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/IGMPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/IPv4Datagram_m.o ../out/gcc-debug/src/transport/contract/SCTPCommand_m.o ../out/gcc-debug/src/transport/contract/TCPCommand_m.o ../out/gcc-debug/src/transport/contract/UDPControlInfo_m.o ../out/gcc-debug/src/transport/sctp/SCTPMessage_m.o ../out/gcc-debug/src/transport/tcp_common/TCPSegment_m.o ../out/gcc-debug/src/transport/udp/UDPPacket_m.o ../out/gcc-debug/src/world/powercontrol/PowerControlMessages_m.o diff --git a/src/.tmp7384 b/src/.tmp7384 new file mode 100644 index 0000000000000000000000000000000000000000..b2b0e0b1348b81fccbc008a2606a5f52c05bd97e --- /dev/null +++ b/src/.tmp7384 @@ -0,0 +1 @@ +../out/gcc-debug/src/applications/diameter/DiameterApplication.o ../out/gcc-debug/src/applications/diameter/DiameterBase.o ../out/gcc-debug/src/applications/diameter/DiameterConnection.o ../out/gcc-debug/src/applications/diameter/DiameterMessage.o ../out/gcc-debug/src/applications/diameter/DiameterPeer.o ../out/gcc-debug/src/applications/diameter/DiameterSession.o ../out/gcc-debug/src/applications/diameter/DiameterUtils.o ../out/gcc-debug/src/applications/diameters6a/DiameterS6a.o ../out/gcc-debug/src/applications/ethernet/EtherAppCli.o ../out/gcc-debug/src/applications/ethernet/EtherAppSrv.o ../out/gcc-debug/src/applications/ethernet/EtherTrafGen.o ../out/gcc-debug/src/applications/generic/IPvXTrafGen.o ../out/gcc-debug/src/applications/generic/IPvXTrafSink.o ../out/gcc-debug/src/applications/nas/EMMEntity.o ../out/gcc-debug/src/applications/nas/ESMEntity.o ../out/gcc-debug/src/applications/nas/NAS.o ../out/gcc-debug/src/applications/nas/NASUtils.o ../out/gcc-debug/src/applications/pingapp/PingApp.o ../out/gcc-debug/src/applications/pingapp/PingTestApp.o ../out/gcc-debug/src/applications/s1ap/S1AP.o ../out/gcc-debug/src/applications/s1ap/S1APConnection.o ../out/gcc-debug/src/applications/s1ap/S1APUtils.o ../out/gcc-debug/src/applications/s1ap/message/S1APContainer.o ../out/gcc-debug/src/applications/s1ap/message/S1APIe.o ../out/gcc-debug/src/applications/s1ap/message/S1APPdu.o ../out/gcc-debug/src/applications/sctpapp/SCTPClient.o ../out/gcc-debug/src/applications/sctpapp/SCTPPeer.o ../out/gcc-debug/src/applications/sctpapp/SCTPServer.o ../out/gcc-debug/src/applications/tcpapp/TCPBasicClientApp.o ../out/gcc-debug/src/applications/tcpapp/TCPEchoApp.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericCliAppBase.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericSrvApp.o ../out/gcc-debug/src/applications/tcpapp/TCPGenericSrvThread.o ../out/gcc-debug/src/applications/tcpapp/TCPSessionApp.o ../out/gcc-debug/src/applications/tcpapp/TCPSinkApp.o ../out/gcc-debug/src/applications/tcpapp/TCPSrvHostApp.o ../out/gcc-debug/src/applications/tcpapp/TelnetApp.o ../out/gcc-debug/src/applications/udpapp/UDPBasicApp.o ../out/gcc-debug/src/applications/udpapp/UDPBasicBurst.o ../out/gcc-debug/src/applications/udpapp/UDPEchoApp.o ../out/gcc-debug/src/applications/udpapp/UDPSink.o ../out/gcc-debug/src/applications/udpapp/UDPVideoStreamCli.o ../out/gcc-debug/src/applications/udpapp/UDPVideoStreamSvr.o ../out/gcc-debug/src/base/AbstractQueue.o ../out/gcc-debug/src/base/BasicModule.o ../out/gcc-debug/src/base/ByteArray.o ../out/gcc-debug/src/base/ByteArrayBuffer.o ../out/gcc-debug/src/base/ByteArrayMessage.o ../out/gcc-debug/src/base/Coord.o ../out/gcc-debug/src/base/erfc.o ../out/gcc-debug/src/base/Join.o ../out/gcc-debug/src/base/ModuleAccess.o ../out/gcc-debug/src/base/NedFunctions.o ../out/gcc-debug/src/base/NotificationBoard.o ../out/gcc-debug/src/base/NotifierConsts.o ../out/gcc-debug/src/base/PassiveQueueBase.o ../out/gcc-debug/src/base/ProtocolMap.o ../out/gcc-debug/src/base/QueueBase.o ../out/gcc-debug/src/base/QueueWithQoS.o ../out/gcc-debug/src/base/ReassemblyBuffer.o ../out/gcc-debug/src/base/ResultFilters.o ../out/gcc-debug/src/base/Sink.o ../out/gcc-debug/src/base/Topology.o ../out/gcc-debug/src/base/UnimplementedModule.o ../out/gcc-debug/src/base/WeightedTopology.o ../out/gcc-debug/src/battery/models/BasicBattery.o ../out/gcc-debug/src/battery/models/InetSimpleBattery.o ../out/gcc-debug/src/linklayer/contract/MACAddress.o ../out/gcc-debug/src/linklayer/ethernet/EtherBus.o ../out/gcc-debug/src/linklayer/ethernet/EtherEncap.o ../out/gcc-debug/src/linklayer/ethernet/EtherFrameClassifier.o ../out/gcc-debug/src/linklayer/ethernet/EtherHub.o ../out/gcc-debug/src/linklayer/ethernet/EtherLLC.o ../out/gcc-debug/src/linklayer/ethernet/EtherMAC.o ../out/gcc-debug/src/linklayer/ethernet/EtherMACBase.o ../out/gcc-debug/src/linklayer/ethernet/EtherMACFullDuplex.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitBase.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitNP.o ../out/gcc-debug/src/linklayer/ethernet/switch/MACRelayUnitPP.o ../out/gcc-debug/src/linklayer/ext/cSocketRTScheduler.o ../out/gcc-debug/src/linklayer/ext/ExtInterface.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211eClassifier.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211Mac.o ../out/gcc-debug/src/linklayer/ieee80211/mac/WifiMode.o ../out/gcc-debug/src/linklayer/ieee80211/mac/WirelessMacBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211AgentSTA.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211Etx.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAdhoc.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAdhocWithEtx.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAP.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAPBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtAPSimplified.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtBase.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtSTA.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtSTASimplified.o ../out/gcc-debug/src/linklayer/ieee80211/radio/BerParseFile.o ../out/gcc-debug/src/linklayer/ieee80211/radio/Ieee80211RadioModel.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/dsss-error-rate-model.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/nist-error-rate-model.o ../out/gcc-debug/src/linklayer/ieee80211/radio/errormodel/yans-error-rate-model.o ../out/gcc-debug/src/linklayer/lte/LTEConfig.o ../out/gcc-debug/src/linklayer/lte/LTEScheduler.o ../out/gcc-debug/src/linklayer/lte/LTESchedulingInfo.o ../out/gcc-debug/src/linklayer/lte/mac/HARQEntity.o ../out/gcc-debug/src/linklayer/lte/mac/HARQProcess.o ../out/gcc-debug/src/linklayer/lte/mac/MAC.o ../out/gcc-debug/src/linklayer/lte/mac/MACMessage.o ../out/gcc-debug/src/linklayer/lte/mac/MACScheduler.o ../out/gcc-debug/src/linklayer/lte/mac/MACUtils.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCP.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPEntity.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPMessage.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPUtils.o ../out/gcc-debug/src/linklayer/lte/phy/LTEChannelControl.o ../out/gcc-debug/src/linklayer/lte/phy/LTERadio.o ../out/gcc-debug/src/linklayer/lte/phy/LTERadioModel.o ../out/gcc-debug/src/linklayer/lte/rlc/RLC.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCEntity.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCTMEntity.o ../out/gcc-debug/src/linklayer/lte/rrc/RRC.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCEntity.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCUtils.o ../out/gcc-debug/src/linklayer/lte/rrc/message/.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCClassDefinitions.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCInformationElements.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCMessage.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCPDUDefinitions.o ../out/gcc-debug/src/linklayer/ppp/PPP.o ../out/gcc-debug/src/linklayer/queue/AlgorithmicDropperBase.o ../out/gcc-debug/src/linklayer/queue/DropTailQueue.o ../out/gcc-debug/src/linklayer/queue/FIFOQueue.o ../out/gcc-debug/src/linklayer/queue/PriorityScheduler.o ../out/gcc-debug/src/linklayer/queue/REDDropper.o ../out/gcc-debug/src/linklayer/queue/SchedulerBase.o ../out/gcc-debug/src/linklayer/queue/ThresholdDropper.o ../out/gcc-debug/src/linklayer/queue/WRRScheduler.o ../out/gcc-debug/src/linklayer/radio/GenericRadioModel.o ../out/gcc-debug/src/linklayer/radio/Modulation.o ../out/gcc-debug/src/linklayer/radio/Radio.o ../out/gcc-debug/src/linklayer/radio/propagation/FreeSpaceModel.o ../out/gcc-debug/src/linklayer/radio/propagation/LogNormalShadowingModel.o ../out/gcc-debug/src/linklayer/radio/propagation/NakagamiModel.o ../out/gcc-debug/src/linklayer/radio/propagation/RayleighModel.o ../out/gcc-debug/src/linklayer/radio/propagation/RiceModel.o ../out/gcc-debug/src/linklayer/radio/propagation/TwoRayGroundModel.o ../out/gcc-debug/src/mobility/models/ANSimMobility.o ../out/gcc-debug/src/mobility/models/BonnMotionFileCache.o ../out/gcc-debug/src/mobility/models/BonnMotionMobility.o ../out/gcc-debug/src/mobility/models/ChiangMobility.o ../out/gcc-debug/src/mobility/models/CircleMobility.o ../out/gcc-debug/src/mobility/models/ConstSpeedMobility.o ../out/gcc-debug/src/mobility/models/GaussMarkovMobility.o ../out/gcc-debug/src/mobility/models/LinearMobility.o ../out/gcc-debug/src/mobility/models/LinearNodeDistributionMobility.o ../out/gcc-debug/src/mobility/models/LineSegmentsMobilityBase.o ../out/gcc-debug/src/mobility/models/MassMobility.o ../out/gcc-debug/src/mobility/models/MoBANCoordinator.o ../out/gcc-debug/src/mobility/models/MoBANLocal.o ../out/gcc-debug/src/mobility/models/MobilityAccess.o ../out/gcc-debug/src/mobility/models/MobilityBase.o ../out/gcc-debug/src/mobility/models/MovingMobilityBase.o ../out/gcc-debug/src/mobility/models/Ns2MotionMobility.o ../out/gcc-debug/src/mobility/models/Posture.o ../out/gcc-debug/src/mobility/models/PostureTransition.o ../out/gcc-debug/src/mobility/models/RandomWPMobility.o ../out/gcc-debug/src/mobility/models/RectangleMobility.o ../out/gcc-debug/src/mobility/models/StaticGridMobility.o ../out/gcc-debug/src/mobility/models/StationaryMobility.o ../out/gcc-debug/src/mobility/models/TraCIMobility.o ../out/gcc-debug/src/mobility/models/TractorMobility.o ../out/gcc-debug/src/mobility/models/TurtleMobility.o ../out/gcc-debug/src/networklayer/arp/ARP.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/FlatNetworkConfigurator.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/HostAutoConfigurator.o ../out/gcc-debug/src/networklayer/autorouting/ipv4/IPv4NetworkConfigurator.o ../out/gcc-debug/src/networklayer/common/InterfaceEntry.o ../out/gcc-debug/src/networklayer/common/InterfaceTable.o ../out/gcc-debug/src/networklayer/contract/IPv4Address.o ../out/gcc-debug/src/networklayer/contract/IPv4ControlInfo.o ../out/gcc-debug/src/networklayer/contract/IPv6Address.o ../out/gcc-debug/src/networklayer/contract/IPv6ControlInfo.o ../out/gcc-debug/src/networklayer/contract/IPvXAddress.o ../out/gcc-debug/src/networklayer/contract/IPvXAddressResolver.o ../out/gcc-debug/src/networklayer/extras/Dummy.o ../out/gcc-debug/src/networklayer/extras/FailureManager.o ../out/gcc-debug/src/networklayer/gtp/GTP.o ../out/gcc-debug/src/networklayer/gtp/GTPControl.o ../out/gcc-debug/src/networklayer/gtp/GTPMessage.o ../out/gcc-debug/src/networklayer/gtp/GTPUser.o ../out/gcc-debug/src/networklayer/gtp/GTPUtils.o ../out/gcc-debug/src/networklayer/gtp/path/GTPPath.o ../out/gcc-debug/src/networklayer/gtp/path/GTPPathTable.o ../out/gcc-debug/src/networklayer/gtp/tunnel/TunnelEndpoint.o ../out/gcc-debug/src/networklayer/gtp/tunnel/TunnelEndpointTable.o ../out/gcc-debug/src/networklayer/ipv4/ErrorHandling.o ../out/gcc-debug/src/networklayer/ipv4/ICMP.o ../out/gcc-debug/src/networklayer/ipv4/IGMPv2.o ../out/gcc-debug/src/networklayer/ipv4/IPv4.o ../out/gcc-debug/src/networklayer/ipv4/IPv4FragBuf.o ../out/gcc-debug/src/networklayer/ipv4/IPv4InterfaceData.o ../out/gcc-debug/src/networklayer/ipv4/IPv4Route.o ../out/gcc-debug/src/networklayer/ipv4/NetworkInfo.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTable.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTableParser.o ../out/gcc-debug/src/networklayer/ipv4/RoutingTableRecorder.o ../out/gcc-debug/src/transport/contract/SCTPSocket.o ../out/gcc-debug/src/transport/contract/TCPSocket.o ../out/gcc-debug/src/transport/contract/TCPSocketMap.o ../out/gcc-debug/src/transport/contract/UDPSocket.o ../out/gcc-debug/src/transport/sctp/SCTP.o ../out/gcc-debug/src/transport/sctp/SCTPAlg.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationBase.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationEventProc.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationRcvMessage.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationSendAll.o ../out/gcc-debug/src/transport/sctp/SCTPAssociationUtil.o ../out/gcc-debug/src/transport/sctp/SCTPCCFunctions.o ../out/gcc-debug/src/transport/sctp/SCTPMessage.o ../out/gcc-debug/src/transport/sctp/SCTPQueue.o ../out/gcc-debug/src/transport/sctp/SCTPReceiveStream.o ../out/gcc-debug/src/transport/sctp/SCTPSendStream.o ../out/gcc-debug/src/transport/sctp/SCTPSSFunctions.o ../out/gcc-debug/src/transport/tcp/TCP.o ../out/gcc-debug/src/transport/tcp/TCPConnectionBase.o ../out/gcc-debug/src/transport/tcp/TCPConnectionEventProc.o ../out/gcc-debug/src/transport/tcp/TCPConnectionRcvSegment.o ../out/gcc-debug/src/transport/tcp/TCPConnectionSackUtil.o ../out/gcc-debug/src/transport/tcp/TCPConnectionUtil.o ../out/gcc-debug/src/transport/tcp/TCPSACKRexmitQueue.o ../out/gcc-debug/src/transport/tcp/flavours/DumbTCP.o ../out/gcc-debug/src/transport/tcp/flavours/TCPBaseAlg.o ../out/gcc-debug/src/transport/tcp/flavours/TCPNewReno.o ../out/gcc-debug/src/transport/tcp/flavours/TCPNoCongestionControl.o ../out/gcc-debug/src/transport/tcp/flavours/TCPReno.o ../out/gcc-debug/src/transport/tcp/flavours/TCPTahoe.o ../out/gcc-debug/src/transport/tcp/flavours/TCPTahoeRenoFamily.o ../out/gcc-debug/src/transport/tcp/queues/TCPByteStreamRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPByteStreamSendQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPMsgBasedRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPMsgBasedSendQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPVirtualDataRcvQueue.o ../out/gcc-debug/src/transport/tcp/queues/TCPVirtualDataSendQueue.o ../out/gcc-debug/src/transport/tcp_common/TCPSegment.o ../out/gcc-debug/src/transport/tcp_common/TCPSpoof.o ../out/gcc-debug/src/transport/udp/UDP.o ../out/gcc-debug/src/util/common.o ../out/gcc-debug/src/util/DCTDump.o ../out/gcc-debug/src/util/Delayer.o ../out/gcc-debug/src/util/int128.o ../out/gcc-debug/src/util/Macho.o ../out/gcc-debug/src/util/MessageChecker.o ../out/gcc-debug/src/util/NetAnimTrace.o ../out/gcc-debug/src/util/opp_utils.o ../out/gcc-debug/src/util/OrdinalBasedDropper.o ../out/gcc-debug/src/util/OrdinalBasedDuplicator.o ../out/gcc-debug/src/util/PacketDump.o ../out/gcc-debug/src/util/PatternMatcher.o ../out/gcc-debug/src/util/PcapDump.o ../out/gcc-debug/src/util/PcapRecorder.o ../out/gcc-debug/src/util/TCPDump.o ../out/gcc-debug/src/util/ThruputMeter.o ../out/gcc-debug/src/util/ThruputMeteringChannel.o ../out/gcc-debug/src/util/uint128.o ../out/gcc-debug/src/util/XMLUtils.o ../out/gcc-debug/src/util/asn/ASNTypes.o ../out/gcc-debug/src/util/asn/PerDecoder.o ../out/gcc-debug/src/util/asn/PerEncoder.o ../out/gcc-debug/src/util/gateway/Gateway.o ../out/gcc-debug/src/util/gateway/GatewayTable.o ../out/gcc-debug/src/util/headerserializers/TCPIPchecksum.o ../out/gcc-debug/src/util/headerserializers/4gsim/DiameterSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/GTPSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/MACSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/NASSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/PDCPSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/RLCSerializer.o ../out/gcc-debug/src/util/headerserializers/4gsim/RRCSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/ICMPSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/IGMPSerializer.o ../out/gcc-debug/src/util/headerserializers/ipv4/IPv4Serializer.o ../out/gcc-debug/src/util/headerserializers/sctp/SCTPSerializer.o ../out/gcc-debug/src/util/headerserializers/tcp/TCPSerializer.o ../out/gcc-debug/src/util/headerserializers/udp/UDPSerializer.o ../out/gcc-debug/src/util/subscriber/BearerContext.o ../out/gcc-debug/src/util/subscriber/LTEUtils.o ../out/gcc-debug/src/util/subscriber/PDNConnection.o ../out/gcc-debug/src/util/subscriber/Subscriber.o ../out/gcc-debug/src/util/subscriber/SubscriberTable.o ../out/gcc-debug/src/world/annotations/AnnotationDummy.o ../out/gcc-debug/src/world/annotations/AnnotationManager.o ../out/gcc-debug/src/world/obstacles/Obstacle.o ../out/gcc-debug/src/world/obstacles/ObstacleControl.o ../out/gcc-debug/src/world/powercontrol/PowerControlManager.o ../out/gcc-debug/src/world/radio/ChannelAccess.o ../out/gcc-debug/src/world/radio/ChannelControl.o ../out/gcc-debug/src/world/scenario/ScenarioManager.o ../out/gcc-debug/src/applications/diameter/DiameterMessage_m.o ../out/gcc-debug/src/applications/ethernet/EtherApp_m.o ../out/gcc-debug/src/applications/nas/NASMessage_m.o ../out/gcc-debug/src/applications/pingapp/PingPayload_m.o ../out/gcc-debug/src/applications/s1ap/S1APControlInfo_m.o ../out/gcc-debug/src/applications/tcpapp/GenericAppMsg_m.o ../out/gcc-debug/src/base/ByteArray_m.o ../out/gcc-debug/src/base/ByteArrayMessage_m.o ../out/gcc-debug/src/linklayer/contract/Ieee802Ctrl_m.o ../out/gcc-debug/src/linklayer/contract/PhyControlInfo_m.o ../out/gcc-debug/src/linklayer/ethernet/EtherFrame_m.o ../out/gcc-debug/src/linklayer/ext/ExtFrame_m.o ../out/gcc-debug/src/linklayer/ieee80211/mac/Ieee80211Frame_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/ETXPacket_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211MgmtFrames_m.o ../out/gcc-debug/src/linklayer/ieee80211/mgmt/Ieee80211Primitives_m.o ../out/gcc-debug/src/linklayer/lte/LTEControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/LTESchedulingInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/HARQControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/MACControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/mac/MACMessage_m.o ../out/gcc-debug/src/linklayer/lte/pdcp/PDCPMessage_m.o ../out/gcc-debug/src/linklayer/lte/phy/LTEFrame_m.o ../out/gcc-debug/src/linklayer/lte/phy/LTEPhyControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/rlc/RLCMessage_m.o ../out/gcc-debug/src/linklayer/lte/rrc/RRCControlInfo_m.o ../out/gcc-debug/src/linklayer/lte/rrc/message/RRCMessage_m.o ../out/gcc-debug/src/linklayer/ppp/PPPFrame_m.o ../out/gcc-debug/src/linklayer/radio/AirFrame_m.o ../out/gcc-debug/src/linklayer/radio/Radio80211aControlInfo_m.o ../out/gcc-debug/src/networklayer/arp/ARPPacket_m.o ../out/gcc-debug/src/networklayer/contract/IPProtocolId_m.o ../out/gcc-debug/src/networklayer/contract/IPv4ControlInfo_m.o ../out/gcc-debug/src/networklayer/contract/IPv6ControlInfo_m.o ../out/gcc-debug/src/networklayer/gtp/GTPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/ICMPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/IGMPMessage_m.o ../out/gcc-debug/src/networklayer/ipv4/IPv4Datagram_m.o ../out/gcc-debug/src/transport/contract/SCTPCommand_m.o ../out/gcc-debug/src/transport/contract/TCPCommand_m.o ../out/gcc-debug/src/transport/contract/UDPControlInfo_m.o ../out/gcc-debug/src/transport/sctp/SCTPMessage_m.o ../out/gcc-debug/src/transport/tcp_common/TCPSegment_m.o ../out/gcc-debug/src/transport/udp/UDPPacket_m.o ../out/gcc-debug/src/world/powercontrol/PowerControlMessages_m.o diff --git a/src/.tmplib4652 b/src/.tmplib4652 new file mode 100644 index 0000000000000000000000000000000000000000..8b277f0dd5dcdcb9c4b6c0b7a32153664f111266 --- /dev/null +++ b/src/.tmplib4652 @@ -0,0 +1 @@ +! diff --git a/src/.tmplib4788 b/src/.tmplib4788 new file mode 100644 index 0000000000000000000000000000000000000000..4cda20dca242ba81ca58d810cc3f29761d0db41a Binary files /dev/null and b/src/.tmplib4788 differ diff --git a/src/.tmplib7180 b/src/.tmplib7180 new file mode 100644 index 0000000000000000000000000000000000000000..8b277f0dd5dcdcb9c4b6c0b7a32153664f111266 --- /dev/null +++ b/src/.tmplib7180 @@ -0,0 +1 @@ +! diff --git a/src/.tmplib7384 b/src/.tmplib7384 new file mode 100644 index 0000000000000000000000000000000000000000..cafb80b6622e3a3dd84153907e5c0511bf06ebe1 Binary files /dev/null and b/src/.tmplib7384 differ diff --git a/src/linklayer/lte/LTEConfig.cc b/src/linklayer/lte/LTEConfig.cc index 143266a1da0304134f5347b42e8b99c23055f702..ad735e964f1fff7faa391a6ca95d6a3a5714d749 100644 --- a/src/linklayer/lte/LTEConfig.cc +++ b/src/linklayer/lte/LTEConfig.cc @@ -34,35 +34,39 @@ LTEConfig::LTEConfig() { prachCfgIndex = 0; prachFreqOff = 0; preambleFmt = 0; - raSt = -1; transMode = FDD_MODE; preambleIndex = 0; prachMaskIndex = -1; } -void LTEConfig::initialize() { +void LTEConfig::initialize(int stage) { // TODO - Generated method body - const char *fileName = par("configFile"); - if (fileName == NULL || (!strcmp(fileName, ""))) - error("LTEConfig: Error reading configuration from file %s", fileName); - this->loadConfigFromXML(fileName); - - symbNumber = 7; - - WATCH(dlBandwith); - WATCH(phichDuration); - WATCH(phichResource); - WATCH(symbNumber); - WATCH(nrOfRAPreambles); - WATCH(sizeOfRAPreamblesGroupA); - WATCH(preambleTransMax); - WATCH(raRespWdwSize); - WATCH(macContResolTimer); - WATCH(maxHARQMsg3Tx); - WATCH(preambleFmt); - WATCH(prachCfgIndex); - WATCH(prachFreqOff); + if (stage == 4) { + nb = NotificationBoardAccess().get(); + lteSched = LTESchedulerAccess().get(); + + const char *fileName = par("configFile"); + if (fileName == NULL || (!strcmp(fileName, ""))) + error("LTEConfig: Error reading configuration from file %s", fileName); + this->loadConfigFromXML(fileName); + + symbNumber = 7; + + WATCH(dlBandwith); + WATCH(phichDuration); + WATCH(phichResource); + WATCH(symbNumber); + WATCH(nrOfRAPreambles); + WATCH(sizeOfRAPreamblesGroupA); + WATCH(preambleTransMax); + WATCH(raRespWdwSize); + WATCH(macContResolTimer); + WATCH(maxHARQMsg3Tx); + WATCH(preambleFmt); + WATCH(prachCfgIndex); + WATCH(prachFreqOff); + } } void LTEConfig::handleMessage(cMessage *msg) { diff --git a/src/linklayer/lte/LTEConfig.h b/src/linklayer/lte/LTEConfig.h index e1753d985bcae73e8ea5ac1bc6e953d8655ca8ad..758d2a52ff9261f6f4467ec6cf573edbfc4b650f 100644 --- a/src/linklayer/lte/LTEConfig.h +++ b/src/linklayer/lte/LTEConfig.h @@ -18,6 +18,8 @@ #include #include "RRCClassDefinitions.h" +#include "NotificationBoard.h" +#include "LTESchedulerAccess.h" static const unsigned dlBandwiths[6] = { 6, 15, 25, 50, 75, 100 }; static const std::string phichDurations[2] = { "normal", "extended" }; @@ -29,16 +31,12 @@ static const unsigned preambleTransMaxs[11] = { 3, 4, 5, 6, 7, 8, 10, 20, 50, 10 static const unsigned raRespWdwSizes[8] = { 2, 3, 4, 5, 6, 7, 8, 10 }; static const unsigned macContResolTimers[8] = { 8, 16, 24, 32, 40, 48, 56, 64 }; static const unsigned maxHARQMsg3Txs[8] = { 1, 2, 3, 4, 5, 6, 7, 8 }; +static const int prachCfgIndex0TTIs[1] = { 1 }; #define TDD_MODE 0 #define FDD_MODE 1 -//struct LTEResource { -// int msgId; -// int prbId; -//}; - -class LTEConfig : public cSimpleModule { +class LTEConfig : public cSimpleModule, public INotifiable { private: struct PLMNIdentity { std::string mcc; @@ -65,15 +63,20 @@ private: unsigned preambleIndex; int prachMaskIndex; - int raSt; + LTEScheduler *lteSched; + + NotificationBoard *nb; unsigned find(double value, const double *array, unsigned size); unsigned find(unsigned value, const unsigned *array, unsigned size); unsigned find(std::string value, const std::string *array, unsigned size); void loadConfigFromXML(const char *filename); + virtual void receiveChangeNotification(int category, const cPolymorphic *details) {} + protected: - virtual void initialize(); + virtual int numInitStages() const { return 5; } + virtual void initialize(int stage); virtual void handleMessage(cMessage *msg); public: @@ -101,7 +104,6 @@ public: char *getCellId() { return cellId; } unsigned getPRACHFreqOffset() { return prachFreqOff; } unsigned getPRACHCfgIndex() { return prachCfgIndex; } - int getRAState() { return raSt; } bool getTransmissionMode() { return transMode; } unsigned getPreambleIndex() { return preambleIndex; } int getPRACHMaskIndex() { return prachMaskIndex; } @@ -128,7 +130,6 @@ public: void setMaxHARQMsg3Tx(unsigned maxHARQMsg3Tx) { this->maxHARQMsg3Tx = maxHARQMsg3Txs[find(maxHARQMsg3Tx, maxHARQMsg3Txs, 8)]; } void setPRACHFreqOffset(unsigned prachFreqOff) { if (prachFreqOff < 95) this->prachFreqOff = prachFreqOff; } void setPRACHCfgIndex(unsigned prachCfgIndex) { if (prachCfgIndex < 64) this->prachCfgIndex = prachCfgIndex; } - void setRAState(int raSt) { this->raSt = raSt; } // void schedulePRBs(bool direction, int sfnBegin, int sfnPeriod, int sfnSize, int ttiBegin, int ttiPeriod, int ttiSize, int prbBegin, int prbPeriod, int prbSize); }; diff --git a/src/linklayer/lte/LTEControlInfo.msg b/src/linklayer/lte/LTEControlInfo.msg index a74963f2f1fd6f95b47b257d821a5190c442b023..b09718f2973e236fc774bff05c5db2ac37f5f286 100644 --- a/src/linklayer/lte/LTEControlInfo.msg +++ b/src/linklayer/lte/LTEControlInfo.msg @@ -27,20 +27,25 @@ enum LTELogicalChannels enum LTETransportChannels { - ULSCH = 20; - RACH = 21; - DLSCH0 = 22; - DLSCH1 = 23; - BCH = 24; + SCH_CCCH = 20; + SCH_DxCH = 21; + SCH_RAR = 22; + RACH = 23; + DLSCH0 = 24; + DLSCH1 = 25; + BCH = 26; } enum LTEPhyChannels { PRACH = 30; PDSCH = 31; - PUSCH = 32; - PHICH = 33; - PBCH = 34; + PDSCH0 = 32; + PDSCH1 = 33; + PUSCH = 34; + PHICH = 35; + PBCH = 36; + PDCCH = 37; }; enum LTEDirection diff --git a/src/linklayer/lte/LTEScheduler.cc b/src/linklayer/lte/LTEScheduler.cc index 75a6ddd17c0a3d7c314dcc922cae5c55da13932a..ba5c0ceaede163aaf20641336272510c98f31cc7 100644 --- a/src/linklayer/lte/LTEScheduler.cc +++ b/src/linklayer/lte/LTEScheduler.cc @@ -13,6 +13,7 @@ // along with this program. If not, see http://www.gnu.org/licenses/. // +#include #include "LTEScheduler.h" Define_Module(LTEScheduler); @@ -30,14 +31,15 @@ LTEScheduler::LTEScheduler() { } LTEScheduler::~LTEScheduler() { - // TODO Auto-generated destructor stub + // TODO Auto-generated destructor stub + erase(0, schedulings.size()); } void LTEScheduler::initialize() { // TODO - Generated method body WATCH(tti); WATCH(sfn); - WATCH_VECTOR(schedulings); + WATCH_PTRVECTOR(schedulings); } void LTEScheduler::handleMessage(cMessage *msg) { @@ -51,13 +53,14 @@ void LTEScheduler::incrementTTI() { // also clean scheduled messages which have expired tti = 0; sfn++; + // EV << "LTE-Sched: Cleaning expired UL and DL schedulings.\n"; LTESchedulings::iterator i = schedulings.begin(); LTESchedulings::iterator last = schedulings.end(); for (;i != last;) { - if ((*i).getSfnEnd() < sfn) { + if ((*i)->getSfnEnd() < sfn) { // EV << "LTE-Sched: Found one expired scheduling. Cleaning it.\n"; -// delete (*i); + delete (*i); i = schedulings.erase(i); } else ++i; @@ -99,33 +102,34 @@ bool LTEScheduler::scheduleMessage(bool direction, int msgId, unsigned sfnBegin, // TODO check also PRBs for (unsigned i = 0; i < schedulings.size(); i++) { - LTESchedulingInfo schInfo = schedulings.at(i); + LTESchedulingInfo *schInfo = schedulings.at(i); bool checkTTI = false; // first check direction - if (direction != schInfo.getDirection()) { + if (direction != schInfo->getDirection()) { // the direction of incoming and current scheduling are not the same continue; } // second check sfn overlap - if (sfnBegin > schInfo.getSfnEnd()) { + if (sfnBegin > schInfo->getSfnEnd()) { // the incoming scheduling info is after the current scheduling info in the queue continue; - } else if (sfnEnd == UINT32_MAX && schInfo.getSfnEnd() == UINT32_MAX) { + } else if (sfnEnd == UINT32_MAX && schInfo->getSfnEnd() == UINT32_MAX) { // incoming and current scheduling info are unlimited, so they are bound to overlap at some point checkTTI = true; } else { // else find the least common multiplier to see if at some point incoming and current scheduling overlap - unsigned overlap = lcm(sfnPeriod, schInfo.getSfnPeriod()); - while (overlap <= sfnEnd && overlap <= schInfo.getSfnEnd()) { + unsigned step = lcm(sfnPeriod, schInfo->getSfnPeriod()); + unsigned overlap = step; + while (overlap <= sfnEnd && overlap <= schInfo->getSfnEnd()) { // must not go over one of the end limit (incoming or current scheduling) - if ((overlap >= sfnBegin && overlap <= sfnEnd) && (overlap >= schInfo.getSfnBegin() && (overlap <= schInfo.getSfnEnd()))) { + if ((overlap >= sfnBegin && overlap <= sfnEnd) && (overlap >= schInfo->getSfnBegin() && (overlap <= schInfo->getSfnEnd()))) { // found the overlap checkTTI = true; break; } - overlap += overlap; + overlap += step; } // if no overlap was found checkTTI will remain false } @@ -133,48 +137,95 @@ bool LTEScheduler::scheduleMessage(bool direction, int msgId, unsigned sfnBegin, // third check tti overlap if (checkTTI) { for (unsigned j = 0; j < ttiSize; j++) { - for (unsigned k = 0; k < schInfo.getTtisArraySize(); k++) { + for (unsigned k = 0; k < schInfo->getTtisArraySize(); k++) { // if at least one tti from incoming and current scheduling is overlapping, no scheduling is possible // and no scheduling will be added to the queue - if (tti[j] == schInfo.getTtis(k)) + if (tti[j] == schInfo->getTtis(k)) return false; } } } } - LTESchedulingInfo newSchedInfo; - newSchedInfo.setDirection(direction); - newSchedInfo.setMsgId(msgId); - newSchedInfo.setSfnBegin(sfnBegin); - newSchedInfo.setSfnPeriod(sfnPeriod); - newSchedInfo.setSfnEnd(sfnEnd); + LTESchedulingInfo *newSchedInfo = new LTESchedulingInfo(); + newSchedInfo->setDirection(direction); + newSchedInfo->setMsgId(msgId); + newSchedInfo->setSfnBegin(sfnBegin); + newSchedInfo->setSfnPeriod(sfnPeriod); + newSchedInfo->setSfnEnd(sfnEnd); for (unsigned i = 0; i < ttiSize; i++) { - newSchedInfo.pushTti(tti[i]); + newSchedInfo->pushTti(tti[i]); } - newSchedInfo.setPrbBegin(prbBegin); - newSchedInfo.setPrbSize(prbSize); + newSchedInfo->setPrbBegin(prbBegin); + newSchedInfo->setPrbSize(prbSize); schedulings.push_back(newSchedInfo); return true; } +int LTEScheduler::scheduleMessage(bool direction, unsigned sfnBegin, unsigned sfnEnd) { + int msgId = msgIds++; + for (unsigned i = sfnBegin; i <= sfnEnd; i++) { + for (int j = 0; j < 10; j++) { + int ttis[1]; + ttis[0] = j; + if (scheduleMessage(direction, msgId, i, 1, i, ttis, 1, 0, 0)) + return msgId; + } + } + + return -1; +} + int LTEScheduler::getMessageId(bool direction) { // TODO check also prbSize and prbBegin +// EV << "LTE-Sched: Retrieving message id during SFN = " << sfn << " and TTI = " << tti << ".\n"; for (unsigned i = 0; i < schedulings.size(); i++) { - LTESchedulingInfo schInfo = schedulings.at(i); - if (direction == schInfo.getDirection() && sfn % schInfo.getSfnPeriod() == 0) { -// EV << "LTE-Sched: SFN period = " << schInfo.getSfnPeriod() << " matches for message id = " << schInfo.getMsgId() << ".\n"; - for (unsigned j = 0; j < schInfo.getTtisArraySize(); j++) { - if (tti == schInfo.getTtis(j)) { -// EV << "LTE-Sched: TTI = " << schInfo.getTtis(j) << " matches for message id = " << schInfo.getMsgId() << ".\n"; - return schInfo.getMsgId(); + LTESchedulingInfo *schInfo = schedulings.at(i); + if ((direction == schInfo->getDirection()) && (sfn % schInfo->getSfnPeriod() == 0) + && (sfn >= schInfo->getSfnBegin()) && (sfn <= schInfo->getSfnEnd())) { +// EV << "LTE-Sched: SFN period = " << schInfo->getSfnPeriod() << " matches for message id = " << schInfo->getMsgId() << ".\n"; + for (unsigned j = 0; j < schInfo->getTtisArraySize(); j++) { + if (tti == schInfo->getTtis(j)) { +// EV << "LTE-Sched: TTI = " << schInfo->getTtis(j) << " matches for message id = " << schInfo->getMsgId() << ".\n"; + return schInfo->getMsgId(); } } } } return -1; +} + +int LTEScheduler::getMessageId(bool direction, unsigned tti) { + // TODO check also prbSize and prbBegin + +// EV << "LTE-Sched: Retrieving message id during SFN = " << sfn << " and TTI = " << tti << ".\n"; + for (unsigned i = 0; i < schedulings.size(); i++) { + LTESchedulingInfo *schInfo = schedulings.at(i); + if ((direction == schInfo->getDirection()) && (sfn % schInfo->getSfnPeriod() == 0) + && (sfn >= schInfo->getSfnBegin()) && (sfn <= schInfo->getSfnEnd())) { +// EV << "LTE-Sched: SFN period = " << schInfo->getSfnPeriod() << " matches for message id = " << schInfo->getMsgId() << ".\n"; + for (unsigned j = 0; j < schInfo->getTtisArraySize(); j++) { + if (tti == schInfo->getTtis(j)) { +// EV << "LTE-Sched: TTI = " << schInfo->getTtis(j) << " matches for message id = " << schInfo->getMsgId() << ".\n"; + return schInfo->getMsgId(); + } + } + } + } + + return -1; +} + +void LTEScheduler::erase(unsigned start, unsigned end) { + LTESchedulings::iterator first = schedulings.begin() + start; + LTESchedulings::iterator last = schedulings.begin() + end; + LTESchedulings::iterator i = first; + for (;i != last; ++i) { + delete *i; + } + schedulings.erase(first, last); } diff --git a/src/linklayer/lte/LTEScheduler.h b/src/linklayer/lte/LTEScheduler.h index 10e567f9b29bf952b56c0e39dcfa4b111c7d5e05..17e5f561de674a68fc4cffd4ae8c2ae9ffaad2da 100644 --- a/src/linklayer/lte/LTEScheduler.h +++ b/src/linklayer/lte/LTEScheduler.h @@ -21,17 +21,19 @@ class LTEScheduler : public cSimpleModule { private: - unsigned short tti; - unsigned short sfn; + unsigned tti; + unsigned sfn; - typedef std::vector LTESchedulings; + typedef std::vector LTESchedulings; LTESchedulings schedulings; int msgIds; unsigned gcd(unsigned a, unsigned b); unsigned lcm(unsigned a, unsigned b); - + + void erase(unsigned start, unsigned end); + public: LTEScheduler(); virtual ~LTEScheduler(); @@ -39,15 +41,18 @@ public: virtual void initialize(); virtual void handleMessage(cMessage *msg); - unsigned short getTTI() { return tti; } - unsigned short getSFN() { return sfn; } + unsigned getTTI() { return tti; } + unsigned getSFN() { return sfn; } int generateMessageId() { return msgIds++; } int getMessageId(bool direction); + int getMessageId(bool direction, unsigned tti); // void setSFN(unsigned short sfn) { this->sfn = sfn; } void incrementTTI(); // void addFixedScheduling(bool direction, int msgId, unsigned sfnPeriod, const int *tti, unsigned ttiSize, int prbId, int prbSize); bool scheduleMessage(bool direction, int msgId, unsigned sfnBegin, unsigned sfnPeriod, unsigned sfnEnd, const int *tti, unsigned ttiSize, int prbBegin, int prbSize); + int scheduleMessage(bool direction, unsigned sfnBegin, unsigned sfnEnd); + }; #endif /* LTESCHEDULER_H_ */ diff --git a/src/linklayer/lte/LTESchedulingInfo.h b/src/linklayer/lte/LTESchedulingInfo.h index e20cee5c9a208ef81ba4b55e413244f6d914fc66..093c76839f38ec9d9c82dd6f39d595362fff1815 100644 --- a/src/linklayer/lte/LTESchedulingInfo.h +++ b/src/linklayer/lte/LTESchedulingInfo.h @@ -53,7 +53,8 @@ public: */ void pushTti(int tti) { ttis.push_back(tti); } - virtual std::string info() const; + virtual std::string info() const; + }; #endif /* LTESCHEDULINGINFO_H_ */ diff --git a/src/linklayer/lte/LTESchedulingInfo.msg b/src/linklayer/lte/LTESchedulingInfo.msg index 4f35bd0a22aa58733a23fa814f413ab5fcd961f2..f600a1fca852179c6963f7e6bc8c732653156650 100644 --- a/src/linklayer/lte/LTESchedulingInfo.msg +++ b/src/linklayer/lte/LTESchedulingInfo.msg @@ -17,7 +17,7 @@ cplusplus {{ #define MIB_MSG_ID 0 #define SIB1_MSG_ID 1 #define SIB2_MSG_ID 2 - #define RA_MSG_ID 3 + #define RAP_MSG_ID 3 #define UL_SCHEDULING 0 #define DL_SCHEDULING 1 diff --git a/src/linklayer/lte/mac/MAC.cc b/src/linklayer/lte/mac/MAC.cc index 029a37dd8885bf03113905fd39c3bccae515cd15..374c682b368d67179541b04d3b92af75cf2f3177 100644 --- a/src/linklayer/lte/mac/MAC.cc +++ b/src/linklayer/lte/mac/MAC.cc @@ -31,7 +31,11 @@ MAC::MAC() { // TODO Auto-generated constructor stub // ttiId = 0; // ueId = 0; -// bcchMsg = NULL; +// bcchMsg = NULL; + rarLimit = 0; + + raFSM = cFSM("fsm-RA"); + raFSM.setState(PROC_NULL); } MAC::~MAC() { @@ -91,26 +95,38 @@ void MAC::handleLowerMessage(cMessage *msg) { sendUp(msg, BCCH0); break; } - case RACH: { - RandomAccessPreamble *rap = check_and_cast(msg); - MACSubHeaderRar *header = MACUtils().createHeaderRar(true, rap->getRapid()); -// MACServiceDataUnit *sdu = MACUtils().createRAR(0, 0, uniform(0, 65535)); /* TODO UL grant split into bits */ -// MACProtocolDataUnit *pdu = new MACProtocolDataUnit("RandomAccessResponse"); -// pdu->pushSubHdr(header); -// pdu->pushSdu(sdu); -// rnti = ctrl->getRnti(); -// rntiType = ctrl->getRntiType(); -// ueId = ctrl->getUeId(); -//// schTtid += TTI_VALUE; -// sendDown(pdu, DLSCH); - break; - } - case DLSCH0: { - if (tb->getRntiType() == SiRnti) { - // TODO redundancy version - addHarqInformation(tb, HARQ_BCAST_PROC_ID); - dlEntity->indicateDownlinkAssignment(tb); + case RACH: { + RandomAccessPreamble *rap = check_and_cast(msg); + + int msgId = lteSched->scheduleMessage(DL_SCHEDULING, lteSched->getSFN() + 3, lteSched->getSFN() + 3 + lteCfg->getRaRespWdwSize()); + if (msgId != -1) { + MACProtocolDataUnit *pdu = new MACProtocolDataUnit("RandomAccessResponse"); +// MACControlInfo *ctrl = new MACControlInfo(); + + MACSubHeaderRar *header = MACUtils().createHeaderRar(true, rap->getRapid()); + MACRandomAccessResponse *rar = MACUtils().createRAR(0, 0, uniform(0, 65535)); /* TODO UL grant split into bits */ + pdu->pushSubHdr(header); + pdu->pushSdu(rar); + pdu->setKind(msgId); + +// ctrl->setChannel(DLSCH1); +// ctrl->setRnti(rap->getRnti()); +// ctrl->setRntiType(rap->getRntiType()); +// ctrl->setUeId(rap->getUeId()); + + sendDown(DLSCH1, rap->getRntiType(), rap->getRnti(), rap->getUeId(), pdu); + +// pdu->setControlInfo(ctrl); +// queue[pdu->getKind()] = pdu; + } + break; } + case DLSCH0: { + if (tb->getRntiType() == SiRnti) { + // TODO redundancy version + addHarqInformation(tb, HARQ_BCAST_PROC_ID); + dlEntity->indicateDownlinkAssignment(tb); + } // if (ueId == ctrl->getUeId()) { // MACProtocolDataUnit *pdu = check_and_cast(msg); // if (ctrl->getRntiType() == RaRnti) { @@ -123,8 +139,20 @@ void MAC::handleLowerMessage(cMessage *msg) { // EV << "LTE-MAC: Message received for incorrect UeId = " << ctrl->getUeId() << ". Discarding message.\n"; // } // nb->fireChangeNotification(NF_RAND_ACCESS_COMPL, NULL); - break; - } + break; + } + case DLSCH1: { + MACProtocolDataUnit *pdu = check_and_cast(tb->decapsulate()); + DCIFormat1A *dci = check_and_cast(tb->removeControlInfo()); + pdu->setControlInfo(dci); + + if (tb->getRntiType() == RaRnti) { + queueUp.push_back(pdu); + performRAStateTransition(ReceiveResp); + + } + break; + } // case ULSCH: { // MACProtocolDataUnit *pdu = check_and_cast(msg); // MACSubHeaderUlDl *header = check_and_cast(pdu->getSubHdrs(0)); @@ -148,31 +176,50 @@ void MAC::handleUpperMessage(cMessage *msg) { LTEControlInfo *lteCtrl = check_and_cast(msg->removeControlInfo()); MACProtocolDataUnit *pdu = new MACProtocolDataUnit(msg->getName()); - MACControlInfo *ctrl = new MACControlInfo(); + pdu->setKind(msg->getKind()); + pdu->encapsulate(PK(msg)); + LTEControlInfo *ctrl = new LTEControlInfo(); switch(lteCtrl->getChannel()) { case BCCH0: { - pdu->encapsulate(PK(msg)); - ctrl->setRnti(NoRnti); - ctrl->setChannel(BCH); +// pdu->encapsulate(PK(msg)); +// ctrl->setRnti(NoRnti); +// ctrl->setChannel(BCH); +// MACControlInfo *ctrl = check_and_cast(pdu->getControlInfo()); + sendDown(BCH, NoRnti, 0, this->getParentModule()->getId(), pdu); break; } case BCCH1: { - pdu->encapsulate(PK(msg)); - ctrl->setRntiType(SiRnti); - ctrl->setRnti(65535); - ctrl->setChannel(DLSCH0); +// pdu->encapsulate(PK(msg)); +// ctrl->setRntiType(SiRnti); +// ctrl->setRnti(65535); +// ctrl->setChannel(DLSCH0); + sendDown(DLSCH0, SiRnti, 65535, this->getParentModule()->getId(), pdu); + break; + } + case ULCCCH: { +// pdu->encapsulate(PK(msg)); +// ctrl->setRntiType(CRnti); + ctrl->setChannel(SCH_CCCH); + pdu->setControlInfo(ctrl); + queueUp.push_back(pdu); + if (raFSM.getState() == PROC_NULL) + performRAStateTransition(InitializeProc); break; } default: break; } - pdu->setKind(msg->getKind()); - pdu->setControlInfo(ctrl); - - if (pdu->getKind() != -1) { // already scheduled messages - queue[pdu->getKind()] = pdu; - } +// pdu->setKind(msg->getKind()); +// pdu->setControlInfo(ctrl); +// +// if (pdu->getKind() != -1) { // already scheduled messages +// queue[pdu->getKind()] = pdu; +// } else { +// if (ctrl->getChannel() == ULSCH_CCCH) { // check if +// +// } +// } // scheduler->addMACProtocolDataUnit(pdu); @@ -190,6 +237,25 @@ void MAC::handleUpperMessage(cMessage *msg) { // entity->pushMsg3(pdu); } +void MAC::sendDown(int channel, unsigned rntiType, unsigned rnti, unsigned ueId, MACProtocolDataUnit *pdu) { +// TransportBlock *tb = new TransportBlock(); +// tb->setChannel(channel); +// tb->setRntiType(rntiType); +// tb->setRnti(rnti); +// tb->setUeId(ueId); +// tb->setName(pdu->getName()); +// tb->encapsulate(pdu); +// tb->setKind(pdu->getKind()); +// queueDown[tb->getKind()] = tb; + MACControlInfo *ctrl = new MACControlInfo(); + ctrl->setChannel(channel); + ctrl->setRnti(rnti); + ctrl->setRntiType(rntiType); + ctrl->setUeId(ueId); + pdu->setControlInfo(ctrl); + this->send(pdu, gate("lowerLayerOut")); +} + //void MAC::sendDown(cMessage *msg, int channelNumber, unsigned rntiType, unsigned short rnti) { // TransportBlock *tb = new TransportBlock(); // tb->setName(msg->getName()); @@ -213,24 +279,301 @@ void MAC::handleUpperMessage(cMessage *msg) { //} const char *MAC::channelName(int channelNumber) { -#define CASE(x) case x: s=#x; break - const char *s = "unknown"; - switch (channelNumber) { - CASE(ULSCH); - CASE(RACH); - CASE(DLSCH0); - } - return s; -#undef CASE +//#define CASE(x) case x: s=#x; break +// const char *s = "unknown"; +// switch (channelNumber) { +// CASE(ULSCH); +// CASE(RACH); +// CASE(DLSCH0); +// } +// return s; +//#undef CASE } -void MAC::sendUp(cMessage *msg, int channelNumber) { +void MAC::sendUp(cMessage *msg, int channel) { LTEControlInfo *ctrl = new LTEControlInfo(); - ctrl->setChannel(channelNumber); + ctrl->setChannel(channel); msg->setControlInfo(ctrl); this->send(msg, gate("upperLayerOut")); } +void MAC::performRAStateTransition(RAEvent event) { + int oldState = raFSM.getState(); + + switch(oldState) { + case PROC_NULL: + switch(event) { + case InitializeProc: { + FSM_Goto(raFSM, PROC_INITIALIZATION); + break; + } + default: + EV << "LTE-MAC: Received unexpected RA event.\n"; + break; + } + break; + case PROC_INITIALIZATION: + switch(event) { + case SelectRes: { + FSM_Goto(raFSM, RES_SELECTION); + break; + } + default: + EV << "LTE-MAC: Received unexpected RA event.\n"; + break; + } + break; + case RES_SELECTION: + switch(event) { + case TransmitPrbl: { + FSM_Goto(raFSM, PRBL_TRANSMISSION); + break; + } + default: + EV << "LTE-MAC: Received unexpected RA event.\n"; + break; + } + break; + case PRBL_TRANSMISSION: + switch(event) { + case ReceiveResp: { + FSM_Goto(raFSM, RESP_RECEPTION); + break; + } + default: + EV << "LTE-MAC: Received unexpected RA event.\n"; + break; + } + break; + case RESP_RECEPTION: + switch(event) { + case CorrectResp: { + FSM_Goto(raFSM, RESP_CORRECT); + break; + } + default: + EV << "LTE-MAC: Received unexpected RA event.\n"; + break; + } + break; + case RESP_CORRECT: + switch(event) { + case CorrectProc: { + FSM_Goto(raFSM, PROC_DONE); + break; + } + case IncorrectProc: { + FSM_Goto(raFSM, PROC_ERROR); + break; + } + default: + EV << "LTE-MAC: Received unexpected RA event.\n"; + break; + } + break; + default: + EV << "LTE-MAC: Unknown RA state.\n"; + break; + } + + raStateEntered(); +} + +void MAC::raStateEntered() { + switch(raFSM.getState()) { + case PROC_INITIALIZATION: { + EV << "LTE-MAC: Random Access Procedure initialization.\n"; + msg3Buffer.clear(); + preambleTransCount = 1; + backoffParam = 0; + + // TODO rest of the table 3GPP TS 36211 Table 5.7.1-2 pag. 32 + switch (lteCfg->getPRACHCfgIndex() % 16) { + case 0: + lteSched->scheduleMessage(UL_SCHEDULING, RAP_MSG_ID, 0, 2, UINT32_MAX, prachCfgIndex0TTIs, 1, lteCfg->getPRACHFreqOffset(), 6); + break; + default: + break; + } + + performRAStateTransition(SelectRes); + break; + } + case RES_SELECTION: { + EV << "LTE-MAC: Random Access Resource selection.\n"; + unsigned prachMaskIndex; + + if (lteCfg->getPreambleIndex() != 0 && lteCfg->getPRACHMaskIndex() != -1) { + preambleIndex = lteCfg->getPreambleIndex(); + // prachMaskIndex = lteCfg->getPRACHMaskIndex(); + } else { + if (msg3Buffer.size() == 0) { // msg3 has not been transmitted + if (lteCfg->getNrOfRAPreambles() != lteCfg->getSizeOfRAPreamblesGroupA()) { // TODO select group B + + } else { // select group A + preambleIndex = uniform(0, lteCfg->getSizeOfRAPreamblesGroupA()); + prachMaskIndex = 0; + // TODO not sure if this is how PRACH selection is done + if (lteCfg->getTransmissionMode() == TDD_MODE && prachMaskIndex == 0) { + if (lteCfg->getPreambleIndex() != 0) { + // randomly select PRACH from determined subframe + prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); + } else { + // TODO randomly select PRACH from determined subframe and next 2 subframes + prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); + } + } else { + // determine PRACH with PRACH Mask Index + if (prachMaskIndex == 0) { + prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); + } else { + // TODO + } + } + } + } else { // TODO select the same group of Random Access Preambles as for previous transmission + + } + } + performRAStateTransition(TransmitPrbl); + break; + } + case PRBL_TRANSMISSION: { + EV << "LTE-MAC: Random Access Preamble transmission.\n"; + // TODO preambleInitialReceivedTargetPower = ... + // RAPControlInfo *ctrl = check_and_cast(pdu->getControlInfo()); +// MACProtocolDataUnit *pdu = new MACProtocolDataUnit(); +// pdu->setName("RandomAccessPreamble"); +// pdu->setKind(RAP_MSG_ID); +// RandomAccessPreamble *rap = new RandomAccessPreamble("RandomAccessPreamble"); +// rap->setChannel(RACH); +// rap->setName(pdu->getName()); +// rap->setKind(RAP_MSG_ID); +// rap->setRnti(prachIndex); +// rap->setRntiType(RaRnti); +// rap->setRapid(preambleIndex); +// rap->setAttempt(preambleTransCount); +// rap->setUeId(this->getParentModule()->getId()); +// RAPControlInfo *ctrl = new RAPControlInfo(); +// ctrl->setRapid(preambleIndex); +// ctrl->setAttempt(preambleTransCount); +// ctrl->setRnti(prachIndex); +// ctrl->setUeId(this->getParentModule()->getId()); + +// msg->setControlInfo(ctrl); +// queueDown[rap->getKind()] = rap; + + cMessage *msg = new cMessage("RAPTransmissionCommand"); + RAPControlInfo *rap = new RAPControlInfo(); + rap->setChannel(RACH); + rap->setRnti(prachIndex); + rap->setRntiType(RaRnti); + rap->setRapid(preambleIndex); + rap->setAttempt(preambleTransCount); + rap->setUeId(this->getParentModule()->getId()); + msg->setControlInfo(rap); + this->send(msg, gate("lowerLayerOut")); + + break; + } + case RESP_RECEPTION: { + EV << "LTE-MAC: Random Access Response reception.\n"; + MACProtocolDataUnit *pdu = queueUp.back(); + MACSubHeaderRar *rar = check_and_cast(pdu->getSubHdrs(0)); + DCIFormat1A *dci = check_and_cast(pdu->getControlInfo()); + + if (dci->getAllocation() == lteSched->getTTI()) { + if (rar->getT() == false) { // is backoff indicator present + backoffParam = rar->getRapidOrBi(); + } else + backoffParam = 0; + + if (preambleIndex == rar->getRapidOrBi()) { + performRAStateTransition(CorrectResp); + } + } + break; + } + case RESP_CORRECT: { + EV << "LTE-MAC: Random Access Response received successfully.\n"; + MACProtocolDataUnit *pdu = queueUp.back(); + MACRandomAccessResponse *rar = check_and_cast(pdu->getSdus(0)); + MACSubHeaderRar *header = check_and_cast(pdu->getSubHdrs(0)); +// rars.push_back(rar); + + // TODO process Timing Advance Command + + // TODO indicate preambleInitialReceivedTargetPower ... to lower layers + + // TODO process UL grant and indicate to lower layers + + if (lteCfg->getPreambleIndex() != 0) { + performRAStateTransition(CorrectProc); + } else { + unsigned ulGrant = rar->getUlGrant(); + unsigned rarNr = 0; + for (unsigned i = 0; i < queueUp.size(); i++) { + MACProtocolDataUnit *pdu = queueUp[i]; + MACRandomAccessResponse *queueRar = dynamic_cast(pdu->getSdus(0)); + if (queueRar) { + rarNr++; + if (ulGrant == queueRar->getUlGrant()) { + // set tempcrnti + } + } + } + + if (rarNr == 1) { // first successfully received Random Access Response + bool isCCCHTrans = false; + for (QueueUp::iterator i = queueUp.begin(); i != queueUp.end();) { + LTEControlInfo *ctrl = dynamic_cast((*i)->getControlInfo()); + if (ctrl && ctrl->getChannel() == SCH_CCCH) { + isCCCHTrans = true; + msg3Buffer[ulGrant] = (*i); + i = queueUp.erase(i); + } else + ++i; + } + + if (!isCCCHTrans) { + // TODO indicate multiplex and assembly entity to include a C-RNTI MAC control element for + // subsequent transmission + } + } + } + + if (lteSched->getSFN() > rarLimit || preambleIndex != header->getRapidOrBi()) + performRAStateTransition(IncorrectProc); + else + performRAStateTransition(CorrectProc); + + break; + } + case PROC_DONE: { + break; + } + case PROC_ERROR: { + preambleTransCount++; + if (preambleTransCount == lteCfg->getPreambleTransMax() + 1) { + // TODO indicate a random access problem to upper layers + } + + // TODO if random access preamble was selected by MAC ... + + performRAStateTransition(SelectRes); + break; + } + default: + break; + } +} + +void MAC::ulschDataTransfer(int channel, unsigned rnti, unsigned rntiType) { + if (channel == SCH_CCCH || (channel == PDCCH && (rntiType == CRnti || rntiType == TempCRnti))) { + + } +} + void MAC::receiveChangeNotification(int category, const cPolymorphic *details) { Enter_Method_Silent(); if (category == NF_PHY_PER_CB) { @@ -247,98 +590,101 @@ void MAC::receiveChangeNotification(int category, const cPolymorphic *details) { // } // } // continue scheduling - int msgId = -1; - if (!strncmp(this->getParentModule()->getComponentType()->getName(), "ENB", 3)) { - msgId = lteSched->getMessageId(DL_SCHEDULING); - } else { - msgId = lteSched->getMessageId(UL_SCHEDULING); - } - - if (msgId != -1) { - EV << "LTE-MAC: Sending scheduled message with id " << msgId << ".\n"; - MACProtocolDataUnit *pdu = queue[msgId]; - TransportBlock *tb = new TransportBlock(); - if (msgId == RA_MSG_ID) { - RAPControlInfo *ctrl = check_and_cast(pdu->getControlInfo()); - RandomAccessPreamble *rap = new RandomAccessPreamble(); - rap->setChannel(RACH); - rap->setRnti(1 + lteSched->getTTI() + 10 * ctrl->getRnti()); - rap->setRntiType(RaRnti); - rap->setRapid(ctrl->getRapid()); - rap->setAttempt(ctrl->getAttempt()); - tb = rap; - } else { - MACControlInfo *ctrl = check_and_cast(pdu->getControlInfo()); - tb->setChannel(ctrl->getChannel()); - tb->setRntiType(ctrl->getRntiType()); - tb->setRnti(ctrl->getRnti()); - - } - tb->setName(pdu->getName()); - tb->encapsulate(pdu->dup()); - tb->setUeId(this->getParentModule()->getId()); - this->send(tb, gate("lowerLayerOut")); - } +// int msgId = -1; +// if (!strncmp(this->getParentModule()->getComponentType()->getName(), "ENB", 3)) { +// msgId = lteSched->getMessageId(DL_SCHEDULING); +// } else { +// msgId = lteSched->getMessageId(UL_SCHEDULING); +// } +// +// if (msgId != -1) { +// EV << "LTE-MAC: Sending scheduled message with id " << msgId << ".\n"; +// MACProtocolDataUnit *pdu = queue[msgId]; +// TransportBlock *tb = queueDown[msgId]; +// if (msgId == RAP_MSG_ID) { +// RAPControlInfo *ctrl = check_and_cast(pdu->getControlInfo()); +// RandomAccessPreamble *rap = new RandomAccessPreamble(); +// rap->setChannel(RACH); +// tb->setRnti(1 + lteSched->getTTI() + 10 * tb->getRnti()); +// rap->setRntiType(RaRnti); +// rap->setRapid(ctrl->getRapid()); +// rap->setAttempt(ctrl->getAttempt()); +// rap->setUeId(ctrl->getUeId()); +// tb = rap; +// rarLimit = lteSched->getSFN() + 3 + lteCfg->getRaRespWdwSize(); +// } +// else { +// MACControlInfo *ctrl = check_and_cast(pdu->getControlInfo()); +// tb->setChannel(ctrl->getChannel()); +// tb->setRntiType(ctrl->getRntiType()); +// tb->setRnti(ctrl->getRnti()); +// tb->setUeId(ctrl->getUeId()); +// +// } +// tb->setName(pdu->getName()); +// tb->encapsulate(pdu->dup()); +// this->send(tb->dup(), gate("lowerLayerOut")); +// } // TransportBlock *tb = scheduler->getMessageToBeSent(); // if (tb) // this->send(tb, gate("lowerLayerOut")); // ttiId++; } else if (category == NF_MAC_BEGIN_RA) { - EV << "LTE-MAC: Random Access Procedure intialization.\n"; - msg3Buffer.clear(); - preambleTransCount = 1; - backoffParam = 0; - - EV << "LTE-MAC: Random Access Resource selection.\n"; - unsigned preambleIndex; - unsigned prachMaskIndex; - unsigned prachIndex; - - if (lteCfg->getPreambleIndex() != 0 && lteCfg->getPRACHMaskIndex() != -1) { - preambleIndex = lteCfg->getPreambleIndex(); -// prachMaskIndex = lteCfg->getPRACHMaskIndex(); - } else { - if (msg3Buffer.size() == 0) { // msg3 has not been transmitted - if (lteCfg->getNrOfRAPreambles() != lteCfg->getSizeOfRAPreamblesGroupA()) { // TODO select group B - - } else { // select group A - preambleIndex = uniform(0, lteCfg->getSizeOfRAPreamblesGroupA()); - prachMaskIndex = 0; - // TODO not sure if this is how PRACH selection is done - if (lteCfg->getTransmissionMode() == TDD_MODE && prachMaskIndex == 0) { - if (lteCfg->getPreambleIndex() != 0) { - // randomly select PRACH from determined subframe - prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); - } else { - // TODO randomly select PRACH from determined subframe and next 2 subframes - prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); - } - } else { - // determine PRACH with PRACH Mask Index - if (prachMaskIndex == 0) { - prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); - } else { - // TODO - } - } - } - } else { // TODO select the same group of Random Access Preambles as for previous transmission - - } - } - - EV << "LTE-MAC: Random Access Preamble transmission.\n"; - // TODO preambleInitialReceivedTargetPower = ... - RAPControlInfo *ctrl = new RAPControlInfo(); - ctrl->setRapid(preambleIndex); - ctrl->setAttempt(preambleTransCount); - ctrl->setRnti(prachIndex); - MACProtocolDataUnit *msg = new MACProtocolDataUnit(); - msg->setName("RandomAccessPreamble"); - msg->setKind(RA_MSG_ID); - msg->setControlInfo(ctrl); - queue[msg->getKind()] = msg; +// EV << "LTE-MAC: Random Access Procedure intialization.\n"; +// msg3Buffer.clear(); +// preambleTransCount = 1; +// backoffParam = 0; +// +// EV << "LTE-MAC: Random Access Resource selection.\n"; +// unsigned prachMaskIndex; +// unsigned prachIndex; +// +// if (lteCfg->getPreambleIndex() != 0 && lteCfg->getPRACHMaskIndex() != -1) { +// preambleIndex = lteCfg->getPreambleIndex(); +//// prachMaskIndex = lteCfg->getPRACHMaskIndex(); +// } else { +// if (msg3Buffer.size() == 0) { // msg3 has not been transmitted +// if (lteCfg->getNrOfRAPreambles() != lteCfg->getSizeOfRAPreamblesGroupA()) { // TODO select group B +// +// } else { // select group A +// preambleIndex = uniform(0, lteCfg->getSizeOfRAPreamblesGroupA()); +// prachMaskIndex = 0; +// // TODO not sure if this is how PRACH selection is done +// if (lteCfg->getTransmissionMode() == TDD_MODE && prachMaskIndex == 0) { +// if (lteCfg->getPreambleIndex() != 0) { +// // randomly select PRACH from determined subframe +// prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); +// } else { +// // TODO randomly select PRACH from determined subframe and next 2 subframes +// prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); +// } +// } else { +// // determine PRACH with PRACH Mask Index +// if (prachMaskIndex == 0) { +// prachIndex = uniform(lteCfg->getPRACHFreqOffset(), lteCfg->getPRACHFreqOffset() + 5); +// } else { +// // TODO +// } +// } +// } +// } else { // TODO select the same group of Random Access Preambles as for previous transmission +// +// } +// } +// +// EV << "LTE-MAC: Random Access Preamble transmission.\n"; +// // TODO preambleInitialReceivedTargetPower = ... +// RAPControlInfo *ctrl = new RAPControlInfo(); +// ctrl->setRapid(preambleIndex); +// ctrl->setAttempt(preambleTransCount); +// ctrl->setRnti(prachIndex); +// ctrl->setUeId(this->getParentModule()->getId()); +// MACProtocolDataUnit *msg = new MACProtocolDataUnit(); +// msg->setName("RandomAccessPreamble"); +// msg->setKind(RAP_MSG_ID); +// msg->setControlInfo(ctrl); +// queue[msg->getKind()] = msg; } } diff --git a/src/linklayer/lte/mac/MAC.h b/src/linklayer/lte/mac/MAC.h index 5875f97a8e90c33d2aca487c2ad442dcd826f091..e8a884aa0160569d9f67bbb3c077b391ee44cd3a 100644 --- a/src/linklayer/lte/mac/MAC.h +++ b/src/linklayer/lte/mac/MAC.h @@ -31,6 +31,27 @@ #define C_RNTI_MAX_VALUE 65523 //#define TTI_VALUE 1 +enum RAState { + PROC_NULL = FSM_Steady(0), + PROC_INITIALIZATION = FSM_Steady(1), + RES_SELECTION = FSM_Steady(2), + PRBL_TRANSMISSION = FSM_Steady(3), + RESP_RECEPTION = FSM_Steady(4), + RESP_CORRECT = FSM_Steady(5), + PROC_DONE = FSM_Steady(6), + PROC_ERROR = FSM_Steady(7) +}; + +enum RAEvent { + InitializeProc, + SelectRes, + TransmitPrbl, + ReceiveResp, + CorrectResp, + CorrectProc, + IncorrectProc +}; + class MAC : public cSimpleModule, public INotifiable { protected: // unsigned rntiType; @@ -38,6 +59,9 @@ protected: // unsigned ueId; unsigned preambleTransCount; unsigned backoffParam; + unsigned rarLimit; + unsigned preambleIndex; + unsigned prachIndex; cMessage *ttiTimer; // unsigned ttiId; @@ -48,20 +72,33 @@ protected: NotificationBoard *nb; + cFSM raFSM; + // MACProtocolDataUnit *bcchMsg; LTEConfig *lteCfg; LTEScheduler *lteSched; - typedef std::map MACBuffer; - MACBuffer queue; + typedef std::vector QueueUp; + QueueUp queueUp; +// std::map queueDown; + + + typedef std::map MACBuffer; +// MACBuffer queue; MACBuffer msg3Buffer; +// std::vector rars; virtual void receiveChangeNotification(int category, const cPolymorphic *details); void addHarqInformation(TransportBlock *tb, int harqProcId); const char *channelName(int channelNumber); + + void performRAStateTransition(RAEvent event); + + void raStateEntered(); + public: MAC(); virtual ~MAC(); @@ -75,8 +112,14 @@ public: void handleUpperMessage(cMessage *msg); // void sendDown(cMessage *msg, int channelNumber, unsigned rntiType, unsigned short rnti); - void sendUp(cMessage *msg, int channelNumber); + void sendUp(cMessage *msg, int channel); + void sendDown(int channel, unsigned rntiType, unsigned rnti, unsigned ueId, MACProtocolDataUnit *pdu); + // unsigned getUeId() { return ueId; } + + void ulschDataTransfer(int channel, unsigned rnti, unsigned rntiType); + +// void sendRACommand(int channel, int rnti, int rntiType); }; #endif /* MAC_H_ */ diff --git a/src/linklayer/lte/mac/MACControlInfo.msg b/src/linklayer/lte/mac/MACControlInfo.msg index 87c893b5f12c5caec2a56d8f5291af011054f4e6..3aed787ac9e176cf62427d26a53631fcd759990b 100644 --- a/src/linklayer/lte/mac/MACControlInfo.msg +++ b/src/linklayer/lte/mac/MACControlInfo.msg @@ -21,8 +21,9 @@ class noncobject LTEControlInfo; class MACControlInfo extends LTEControlInfo { + unsigned int ueId; unsigned int rntiType; - unsigned short rnti = 0; + unsigned short rnti = 0; } class RAPControlInfo extends MACControlInfo diff --git a/src/linklayer/lte/mac/MACMessage.msg b/src/linklayer/lte/mac/MACMessage.msg index 400eaf88fb8849a7fbb5cd615c97b3ec6141cdf6..7b1daf7b96d23fb7ed9c538daad8e66ff9a8570b 100644 --- a/src/linklayer/lte/mac/MACMessage.msg +++ b/src/linklayer/lte/mac/MACMessage.msg @@ -78,4 +78,9 @@ packet RandomAccessPreamble extends TransportBlock { unsigned int rapid; unsigned int attempt; +} + +packet DCIFormat1C extends TransportBlock +{ + } \ No newline at end of file diff --git a/src/linklayer/lte/mac/MACScheduler.cc b/src/linklayer/lte/mac/MACScheduler.cc index 757daf5ba79053eb244a11f6bfe97cebf744ee5c..e3421c62c6ddcde56579203c0216c373c539fd7b 100644 --- a/src/linklayer/lte/mac/MACScheduler.cc +++ b/src/linklayer/lte/mac/MACScheduler.cc @@ -95,6 +95,6 @@ void MACScheduler::initRandomAccessProcedure() { * determine next available subframe * */ - lteCfg->setRAState(1); +// lteCfg->setRAState(1); } diff --git a/src/linklayer/lte/phy/LTEFrame.msg b/src/linklayer/lte/phy/LTEFrame.msg index f03bd7f0101b6011fcb63d3447ff08a764fcc38d..83137740444b03adbffae82da5535125b057bdbd 100644 --- a/src/linklayer/lte/phy/LTEFrame.msg +++ b/src/linklayer/lte/phy/LTEFrame.msg @@ -28,6 +28,19 @@ message PhysicalResourceBlock extends AirFrame // unsigned int tbId = 0; } +message DCIFormat extends PhysicalResourceBlock +{ + unsigned int rnti; + unsigned int rntiType; + unsigned int allocation; // should be resource block allocation, but now it is used to signal de tti for DLSCH +} + +message DCIFormat1A extends DCIFormat +{ + bool ndi; + unsigned char harqNo; +} + enum LTERadioTypes { FDDRadioType = 0; @@ -49,6 +62,7 @@ enum LTERntiTypes SiRnti = 4; SpsRnti = 5; MRnti = 6; + TempCRnti = 7; } //message RAPreamble extends LTEFrame diff --git a/src/linklayer/lte/phy/LTERadio.cc b/src/linklayer/lte/phy/LTERadio.cc index cf30c8e555d48df6a6acedd3d5f5cf6aaf65678d..a7035c8c209ba8fe97815ff5a303cb086d134cb2 100644 --- a/src/linklayer/lte/phy/LTERadio.cc +++ b/src/linklayer/lte/phy/LTERadio.cc @@ -24,6 +24,7 @@ #include "IPv4InterfaceData.h" #include "LTEChannelControl.h" #include "MACMessage.h" +#include "MACControlInfo_m.h" //#include "HARQProcess.h" Define_Module(LTERadio); @@ -70,7 +71,7 @@ void LTERadio::initialize(int stage) { // TODO rest of the table 3GPP TS 36211 Table 5.7.1-2 pag. 32 switch (lteCfg->getPRACHCfgIndex() % 16) { case 0: - lteSched->scheduleMessage(UL_SCHEDULING, RA_MSG_ID, 0, 2, UINT32_MAX, prachCfgIndex0TTIs, 1, lteCfg->getPRACHFreqOffset(), 6); + lteSched->scheduleMessage(UL_SCHEDULING, RAP_MSG_ID, 0, 2, UINT32_MAX, prachCfgIndex0TTIs, 1, lteCfg->getPRACHFreqOffset(), 6); break; default: break; @@ -79,8 +80,11 @@ void LTERadio::initialize(int stage) { } else if (!strncmp(this->getParentModule()->getComponentType()->getName(), "UE", 2)) { EV << "LTE-Radio: LTE physical module for UE.\n"; cc->setRadioChannel(myRadioRef, PDSCH); + cc->setRadioChannel(myRadioRef, PDSCH0); + cc->setRadioChannel(myRadioRef, PDSCH1); cc->setRadioChannel(myRadioRef, PHICH); cc->setRadioChannel(myRadioRef, PBCH); + cc->setRadioChannel(myRadioRef, PDCCH); // cc->setRadioChannel(myRadioRef, Downlink); } } @@ -115,7 +119,28 @@ void LTERadio::initialize(int stage) { void LTERadio::handleMessage(cMessage *msg) { if (msg->isSelfMessage()) { if (msg == ttiTimer) { - nb->fireChangeNotification(NF_PHY_PER_CB, NULL); +// nb->fireChangeNotification(NF_PHY_PER_CB, NULL); + + int msgId = -1; + if (!strncmp(this->getParentModule()->getComponentType()->getName(), "ENB", 3)) { + msgId = lteSched->getMessageId(DL_SCHEDULING); + if (lteSched->getTTI() == 0) + sendDCIFormats(); + } else { + msgId = lteSched->getMessageId(UL_SCHEDULING); + } + + if (msgId != -1) { + EV << "LTE-Radio: Sending scheduled message with id " << msgId << ".\n"; + TransportBlock *tb = queue[msgId]; + if (msgId == RAP_MSG_ID) { + tb->setRnti(1 + lteSched->getTTI() + 10 * tb->getRnti()); +// rarLimit = lteSched->getSFN() + 3 + lteCfg->getRaRespWdwSize(); + } +// this->send(tb->dup(), gate("lowerLayerOut")); + sendDown(tb->dup()); + } + this->cancelEvent(ttiTimer); this->scheduleAt(simTime() + TTI_VALUE, ttiTimer); lteSched->incrementTTI(); @@ -156,6 +181,24 @@ void LTERadio::sendToRadio(cMessage *msg, int channel) { } +void LTERadio::sendDCIFormats() { +// bool direction = !strncmp(this->getParentModule()->getComponentType()->getName(), "ENB", 3) ? DL_SCHEDULING : UL_SCHEDULING; + for (unsigned i = 0; i < 10; i++) { + int msgId = lteSched->getMessageId(DL_SCHEDULING, i); + if (msgId != -1 && queue[msgId] != NULL) { + TransportBlock *tb = queue[msgId]; + if (tb->getChannel() == DLSCH1) { + EV << "LTE-Radio: Sending DCIFormat1A for message with id = " << msgId <<".\n"; + DCIFormat1A *dci = new DCIFormat1A(); + dci->setName("DCIFormat1A"); + dci->setRnti(tb->getRnti()); + dci->setRntiType(tb->getRntiType()); + sendToChannel(dci); + } + } + } +} + //AirFrame *LTERadio::encapsulatePacket(cPacket *frame) { //// PhyControlInfo *ctrl = dynamic_cast(frame->removeControlInfo()); //// @@ -180,12 +223,7 @@ void LTERadio::sendToRadio(cMessage *msg, int channel) { //// return airframe; //} -void LTERadio::handleUpperMessage(cMessage* msg) { - - // no point in sending n Physical Resource Blocks and will send only one Physical Resource - // Block with the Transport Block encapsulated - - TransportBlock *tb = check_and_cast(msg); +void LTERadio::sendDown(TransportBlock *tb) { PhysicalResourceBlock *prb = new PhysicalResourceBlock(); switch (tb->getChannel()) { case RACH: { @@ -197,7 +235,10 @@ void LTERadio::handleUpperMessage(cMessage* msg) { break; } case DLSCH0: - prb->setChannelNumber(PDSCH); + prb->setChannelNumber(PDSCH0); + break; + case DLSCH1: + prb->setChannelNumber(PDSCH1); break; // case ULSCH: // frame->setChannelNumber(PUSCH); @@ -212,6 +253,66 @@ void LTERadio::handleUpperMessage(cMessage* msg) { prb->encapsulate(tb); prb->setName(tb->getName()); sendToChannel(prb); +} + +void LTERadio::handleUpperMessage(cMessage* msg) { + + // no point in sending n Physical Resource Blocks and will send only one Physical Resource + // Block with the Transport Block encapsulated + + MACProtocolDataUnit *pdu = dynamic_cast(msg); + MACControlInfo *ctrl = dynamic_cast(msg->removeControlInfo()); + + if (ctrl) { + TransportBlock *tb = new TransportBlock(); + if (ctrl->getChannel() == RACH) { + RAPControlInfo *rapCtrl = check_and_cast(ctrl); + RandomAccessPreamble *rap = new RandomAccessPreamble(); + rap->setRapid(rapCtrl->getRapid()); + rap->setAttempt(rapCtrl->getAttempt()); + rap->setName("RandomAccessPreamble"); + rap->setKind(RAP_MSG_ID); + tb = rap; + } else { + tb->setName(pdu->getName()); + tb->encapsulate(pdu); + tb->setKind(pdu->getKind()); + } + tb->setChannel(ctrl->getChannel()); + tb->setRntiType(ctrl->getRntiType()); + tb->setRnti(ctrl->getRnti()); + tb->setUeId(ctrl->getUeId()); + queue[tb->getKind()] = tb; + } + +// switch (ctrl->getChannel()) { +// case RACH: { +// RAPreamble *rap = new RAPreamble(); +// rap->setChannelNumber(PRACH); +// rap->setRapid(ctrl->getRapid()); +// frame = rap; +// prb->setChannelNumber(PRACH); +// break; +// } +// case DLSCH0: +// prb->setChannelNumber(PDSCH0); +// break; +// case DLSCH1: +// prb->setChannelNumber(PDSCH1); +// break; +// case ULSCH: +// frame->setChannelNumber(PUSCH); +// break; +// case BCH: +// prb->setChannelNumber(PBCH); +// break; +// default: +// break; +// } + +// prb->encapsulate(tb); +// prb->setName(tb->getName()); +// sendToChannel(prb); //// lteFrame->setType(ctrl->getType()); // frame->setRntiType(ctrl->getRntiType()); // frame->setRnti(ctrl->getRnti()); @@ -246,10 +347,25 @@ void LTERadio::handleRadioMessage(cMessage *msg) { PhysicalResourceBlock *prb = check_and_cast(msg); if (prb->getEncapsulatedPacket()) { TransportBlock *tb = check_and_cast(prb->decapsulate()); - tb->setTbId(lteSched->getSFN() * 10 + lteSched->getTTI()); - send(tb, gate("upperLayerOut")); + if ((tb->getChannel() == BCH) || (tb->getChannel() == DLSCH0) + || (tb->getChannel() == RACH) || (tb->getUeId() == this->getParentModule()->getId())) { + if (tb->getChannel() == DLSCH1) { + checkDCIFormats(tb); + } + tb->setTbId(lteSched->getSFN() * 10 + lteSched->getTTI()); + send(tb, gate("upperLayerOut")); + } else { + EV << "LTE-Radio: Received unexpected packet on channel = " << tb->getChannel() << ". Dropping it.\n"; + } + delete prb; + } + + DCIFormat *dci = dynamic_cast(msg); + if (dci) { + dcis.push_back(dci); } - delete prb; + + // LTESubFrame *subFrame = check_and_cast(msg); // scheduleAt(simTime() + subFrame->getDuration(), subFrame); // if (dynamic_cast(msg)) { @@ -290,6 +406,17 @@ void LTERadio::handleRadioMessage(cMessage *msg) { // delete msg; } +void LTERadio::checkDCIFormats(TransportBlock *tb) { + for (DCIFormats::iterator i = dcis.begin(); i != dcis.end();) { + if ((*i)->getRntiType() == tb->getRntiType() && (*i)->getRnti() == tb->getRnti()) { + tb->setControlInfo((*i)); + i = dcis.erase(i); + } else { + ++i; + } + } +} + void LTERadio::sendUp(LTEFrame *frame, LTEPhyControlInfo *ctrl) { // // ctrl->setType(lteFrame->getType()); // ctrl->setRntiType(frame->getRntiType()); diff --git a/src/linklayer/lte/phy/LTERadio.h b/src/linklayer/lte/phy/LTERadio.h index e3498b49028c76889e660b3cf3afd5563a790058..3d86e73f4f434e11fb1dbd5435f64248678e8509 100644 --- a/src/linklayer/lte/phy/LTERadio.h +++ b/src/linklayer/lte/phy/LTERadio.h @@ -32,6 +32,7 @@ #include "LTEFrame_m.h" #include "LTEConfigAccess.h" #include "LTESchedulerAccess.h" +#include "MACMessage.h" #define HARQ_FEEDBACK_DELAY 1 #define HARQ_FEEDBACK_ACK 1 @@ -44,7 +45,6 @@ //}; //static const char *prbNames[PRB_MAX_SIZE] = { "PRB1", "PRB2", "PRB3", "PRB4", "PRB5", "PRB6" }; -static const int prachCfgIndex0TTIs[1] = { 1 }; class LTERadio : public ChannelAccess, INotifiable { public: @@ -68,6 +68,10 @@ protected: LTEConfig *lteCfg; LTEScheduler *lteSched; + std::map queue; + typedef std::vector DCIFormats; + DCIFormats dcis; + unsigned dir; char *dirStr; @@ -92,6 +96,9 @@ protected: void scheduleHARQFeedback(bool harqIndicator, unsigned ueId); virtual void receiveChangeNotification(int category, const cPolymorphic *details) {} + void sendDown(TransportBlock *tb); + void sendDCIFormats(); + void checkDCIFormats(TransportBlock *tb); //virtual void sendDown(AirFrame *airframe); // virtual void sendUp(AirFrame *airframe); }; diff --git a/src/linklayer/lte/rrc/RRC.cc b/src/linklayer/lte/rrc/RRC.cc index b37803460c12cc0e1de06c858393b7a7c19198fe..1e7f817b6473b3da9fdea6aa6574fe0c7698f3ec 100644 --- a/src/linklayer/lte/rrc/RRC.cc +++ b/src/linklayer/lte/rrc/RRC.cc @@ -448,16 +448,11 @@ void RRC::processSIB2(SystemInformationBlockType2 *sib2) { lteCfg->setPRACHCfgIndex(prachCfgInfo.getPRACHConfigInfoPrachConfigIndex().getValue()); lteCfg->setPRACHFreqOffset(prachCfgInfo.getPRACHConfigInfoPrachFreqOffset().getValue()); - // TODO rest of the table 3GPP TS 36211 Table 5.7.1-2 pag. 32 - switch (lteCfg->getPRACHCfgIndex() % 16) { - case 0: - lteSched->scheduleMessage(UL_SCHEDULING, RA_MSG_ID, 0, 2, UINT32_MAX, prachCfgIndex0TTIs, 1, lteCfg->getPRACHFreqOffset(), 6); - break; - default: - break; - } - - nb->fireChangeNotification(NF_MAC_BEGIN_RA, NULL); + Subscriber *sub = subT->at(0); + RRCEntity *rrc = sub->getRrcEntity(); + if (rrc->getState() == UE_RRC_IDLE) + rrc->performStateTransition(ConnectionEstablishment); +// lteCfg->performRAStateTransition(RAInitialization); // lteCfg->setRAState(0); diff --git a/src/linklayer/lte/rrc/RRCEntity.cc b/src/linklayer/lte/rrc/RRCEntity.cc index e6cd13dd874c9601814c92497c666d9c1314602b..01a0e92f75347eb419c049900a8ea22b88893b1c 100644 --- a/src/linklayer/lte/rrc/RRCEntity.cc +++ b/src/linklayer/lte/rrc/RRCEntity.cc @@ -92,7 +92,7 @@ void RRCEntity::sendRRCConnectionRequest() { ULCCCHMessageTypeC1 *c1 = new ULCCCHMessageTypeC1(); c1->setValue(rrcConnReq, ULCCCHMessageTypeC1::rrcConnectionRequest); -// module->sendDown(ULCCCH, ULCCCHMessageType::uLCCCHMessageTypeC1, "RRCConnectionRequest", c1); + module->sendDown(-1, ULCCCH, ULCCCHMessageType::uLCCCHMessageTypeC1, "RRCConnectionRequest", c1); } void RRCEntity::sendRRCConnectionSetup() { diff --git a/src/sta05212 b/src/sta05212 new file mode 100644 index 0000000000000000000000000000000000000000..8b277f0dd5dcdcb9c4b6c0b7a32153664f111266 --- /dev/null +++ b/src/sta05212 @@ -0,0 +1 @@ +! diff --git a/src/sta07872 b/src/sta07872 new file mode 100644 index 0000000000000000000000000000000000000000..8b277f0dd5dcdcb9c4b6c0b7a32153664f111266 --- /dev/null +++ b/src/sta07872 @@ -0,0 +1 @@ +! diff --git a/src/util/DCTDump.cc b/src/util/DCTDump.cc index bc8fe6678794806c1259b80028e39dd22cb4148d..9d29ed19ef1216da139b4b8c4a3df0cd569aceae 100644 --- a/src/util/DCTDump.cc +++ b/src/util/DCTDump.cc @@ -22,6 +22,7 @@ #include "MACSerializer.h" #include "LTEPhyControlInfo_m.h" #include "LTEFrame_m.h" +#include "MACControlInfo_m.h" #define MAXBUFLENGTH 65536 #define MAXDCTLENGTH 100 @@ -99,7 +100,7 @@ void DCTDump::handleMessage(cMessage *msg) { buf_len = IPv4Serializer().serialize(ipPacket, buf, sizeof(buf), true); } - // context name - MACProtocolDataUnit + // context name - TransportBlock TransportBlock *tb = dynamic_cast(msg); if (tb) { strncpy(p, "MAC-LTE", 7); @@ -122,6 +123,28 @@ void DCTDump::handleMessage(cMessage *msg) { } } + // context name - MACProtocolDataUnit + MACProtocolDataUnit *pdu = dynamic_cast(msg); + if (pdu) { + MACControlInfo *ctrl = check_and_cast(msg->getControlInfo()); + strncpy(p, "MAC-LTE", 7); + p += 7; + + if (ctrl->getChannel() == RACH) { +// hasComment = true; +// +// writeAscii = true; + + } else { + strncpy(p, ".", 1); + p += 1; + + writeHex = true; + + buf_len = MACSerializer().serialize(pdu, buf, sizeof(buf)); + } + } + // context name - MAC Random Access Preamble // if (dynamic_cast(msg->getControlInfo())) { // LTEPhyControlInfo *ctrl = check_and_cast(msg->getControlInfo()); @@ -136,16 +159,16 @@ void DCTDump::handleMessage(cMessage *msg) { // } if (hasComment) { - strncpy(p, "/////", 5); - p += 5; - - RandomAccessPreamble *rap = check_and_cast(msg); - comment << ">> RACH Preamble Request[UE = " - << rap->getUeId() << "] [RAPID = " - << rap->getRapid() << "] [Attempt = " - << rap->getAttempt() << "]"; - strncpy((char*)buf, comment.str().c_str(), strlen(comment.str().c_str())); - buf_len = strlen(comment.str().c_str()); +// strncpy(p, "/////", 5); +// p += 5; +// +// RandomAccessPreamble *rap = check_and_cast(msg); +// comment << ">> RACH Preamble Request[UE = " +// << rap->getUeId() << "] [RAPID = " +// << rap->getRapid() << "] [Attempt = " +// << rap->getAttempt() << "]"; +// strncpy((char*)buf, comment.str().c_str(), strlen(comment.str().c_str())); +// buf_len = strlen(comment.str().c_str()); } else { @@ -166,8 +189,8 @@ void DCTDump::handleMessage(cMessage *msg) { p++; } - // protocol - MACProtocolDataUnit - if (tb) { + // protocol - MACProtocolDataUnit or TransportBlock + if (tb || pdu) { vers << 1; strncpy(p, "mac_r9_lte/", 11); @@ -182,7 +205,7 @@ void DCTDump::handleMessage(cMessage *msg) { // out-header if (hasOutHdr) { - if (tb) { + if (tb || pdu) { unsigned direction; if (!strncmp(this->getParentModule()->getComponentType()->getName(), "UE", 2)) if (msg->getArrivalGate()->isName("lowerLayerIn")) @@ -194,15 +217,29 @@ void DCTDump::handleMessage(cMessage *msg) { direction = UplinkDirection; else direction = DownlinkDirection; - outHdr << "," - << FDDRadioType << "," - << tb->getRntiType() << "," - << direction << "," - << "1," // Subframe number - << "0," // is predefined data - << tb->getRnti() << "," - << tb->getUeId() << "," - << buf_len << ","; + + if (tb) { + outHdr << "," + << FDDRadioType << "," + << tb->getRntiType() << "," + << direction << "," + << "1," // Subframe number + << "0," // is predefined data + << tb->getRnti() << "," + << tb->getUeId() << "," + << buf_len << ","; + } else { + MACControlInfo *ctrl = check_and_cast(msg->getControlInfo()); + outHdr << "," + << FDDRadioType << "," + << ctrl->getRntiType() << "," + << direction << "," + << "1," // Subframe number + << "0," // is predefined data + << ctrl->getRnti() << "," + << ctrl->getUeId() << "," + << buf_len << ","; + } } strncpy(p, outHdr.str().c_str(), strlen(outHdr.str().c_str())); diff --git a/src/util/headerserializers/4gsim/MACSerializer.cc b/src/util/headerserializers/4gsim/MACSerializer.cc index edc3e700b2b703c53492ccc1c4c244f38fa3dee1..73ce1e819bcc7d7ffcb95b76e1fa6c2d0e2a899a 100644 --- a/src/util/headerserializers/4gsim/MACSerializer.cc +++ b/src/util/headerserializers/4gsim/MACSerializer.cc @@ -33,7 +33,7 @@ unsigned MACSerializer::serializeHeader(MACSubHeader *header, bool isExt, bool i MACSubHeaderRar *rarHdr = dynamic_cast(header); *((unsigned char*)(p)) = ((isExt << 7) & 0x80) | ((rarHdr->getT() << 6) & 0x40); - if (rarHdr->getT()) // BI + if (!rarHdr->getT()) // BI *((unsigned char*)(p)) += rarHdr->getRapidOrBi() & 0x0f; else *((unsigned char*)(p)) += rarHdr->getRapidOrBi() & 0x3f;