diff --git a/Makefile b/Makefile index 41a8b73a..673828fd 100644 --- a/Makefile +++ b/Makefile @@ -16,52 +16,34 @@ USERIF_LIBS = $(ALL_ENV_LIBS) # that is, $(TKENV_LIBS) $(CMDENV_LIBS) # C++ include paths (with -I) INCLUDE_PATH = \ -I. \ - -Idoc \ - -Idoc/html \ - -Idoc/html/search \ -Iexamples \ -Iexamples/AllNodes \ - -Iexamples/AllNodes/results \ -Iexamples/BigRandNet \ - -Iexamples/BigRandNet/results \ -Iexamples/CongestedNode \ -Iexamples/CongestedNode2 \ -Iexamples/DC \ - -Iexamples/DC/results \ -Iexamples/ExtendedPingTwoCSsSimple \ - -Iexamples/ExtendedPingTwoCSsSimple/results \ -Iexamples/FatTreeTopology \ - -Iexamples/FatTreeTopology/results \ -Iexamples/FatTreeTopologyPref \ - -Iexamples/FatTreeTopologyPref/results \ -Iexamples/SimpleRelay \ -Iexamples/SimpleRelay/results \ -Iexamples/SimpleRelayCongestion \ -Iexamples/SimpleRelayCongestion/results \ -Iexamples/SingleCS \ - -Iexamples/SingleCS/results \ -Iexamples/SmallNetRouting \ - -Iexamples/SmallNetRouting/results \ -Iexamples/SmallNetwork \ - -Iexamples/SmallNetwork/results \ -Iexamples/SmallNetwork2 \ -Iexamples/SmallNetwork2/results \ -Iexamples/SmallRandNet \ - -Iexamples/SmallRandNet/results \ -Iexamples/TreeCongestion \ -Iexamples/TwoCSWithDelay \ - -Iexamples/TwoCSWithDelay/results \ -Iexamples/TwoCSs \ - -Iexamples/TwoCSs/results \ -Iexamples/TwoCSsSimple \ -Iexamples/TwoCSsSimple/results \ -Iexamples/TwoScheduling \ - -Iexamples/TwoScheduling/results \ -Iexamples/TwoScheduling9 \ -Iexamples/randPrefNet \ - -Iexamples/randPrefNet/results \ -Iexamples/treeBipart \ - -Iexamples/treeBipart/results \ -Ipolicies \ -Ipolicies/DAF \ -Ipolicies/DIF \ @@ -247,8 +229,8 @@ OBJS = \ $O/policies/DIF/RA/AddressComparator/AddressComparatorBase.o \ $O/policies/DIF/RA/AddressComparator/ExactMatch/ExactMatch.o \ $O/policies/DIF/RA/AddressComparator/PrefixMatch/PrefixMatch.o \ - $O/policies/DIF/RA/PDUFG/IntBbPDUFG.o \ $O/policies/DIF/RA/PDUFG/IntPDUFG.o \ + $O/policies/DIF/RA/PDUFG/IntBbPDUFG.o \ $O/policies/DIF/RA/PDUFG/PDUFGNeighbor.o \ $O/policies/DIF/RA/PDUFG/BiDomainGenerator/BiDomainGenerator.o \ $O/policies/DIF/RA/PDUFG/QoSDomainGenerator/QoSDomainGenerator.o \ @@ -287,111 +269,111 @@ OBJS = \ $O/policies/DIF/RMT/Scheduler/RMTSchedulingBase.o \ $O/policies/DIF/RMT/Scheduler/DumbSch/DumbSch.o \ $O/policies/DIF/RMT/Scheduler/LongestQFirst/LongestQFirst.o \ - $O/policies/DIF/Routing/IntBbRouting.o \ $O/policies/DIF/Routing/IntRouting.o \ $O/policies/DIF/Routing/IntRoutingUpdate.o \ - $O/policies/DIF/Routing/DomainRouting/rModule.o \ + $O/policies/DIF/Routing/IntBbRouting.o \ $O/policies/DIF/Routing/DomainRouting/Routing.o \ + $O/policies/DIF/Routing/DomainRouting/rModule.o \ $O/policies/DIF/Routing/DomainRouting/DV/DV.o \ $O/policies/DIF/Routing/DomainRouting/LS/LS.o \ $O/policies/DIF/Routing/DummyRouting/DummyRouting.o \ $O/policies/DIF/Routing/SimpleRouting/SimpleDV/SimpleDV.o \ $O/policies/DIF/Routing/SimpleRouting/SimpleLS/SimpleLS.o \ $O/src/Common/Address.o \ + $O/src/Common/Data.o \ + $O/src/Common/Utils.o \ + $O/src/Common/Policy.o \ $O/src/Common/APN.o \ - $O/src/Common/APNamingInfo.o \ $O/src/Common/CongestionDescriptor.o \ - $O/src/Common/ConnectionId.o \ - $O/src/Common/DAP.o \ - $O/src/Common/Data.o \ - $O/src/Common/ExternConsts.o \ - $O/src/Common/Flow.o \ + $O/src/Common/QoSReq.o \ + $O/src/Common/QoSCube.o \ $O/src/Common/ModuleAccess.o \ $O/src/Common/PDU.o \ - $O/src/Common/Policy.o \ - $O/src/Common/QoSCube.o \ - $O/src/Common/QoSReq.o \ - $O/src/Common/RINASignals.o \ + $O/src/Common/DAP.o \ + $O/src/Common/ConnectionId.o \ + $O/src/Common/APNamingInfo.o \ $O/src/Common/SDU.o \ - $O/src/Common/SHA256.o \ + $O/src/Common/Flow.o \ $O/src/Common/Test.o \ - $O/src/Common/Utils.o \ - $O/src/DAF/AE/AE.o \ + $O/src/Common/ExternConsts.o \ + $O/src/Common/SHA256.o \ + $O/src/Common/RINASignals.o \ + $O/src/DAF/AE/AESender.o \ $O/src/DAF/AE/AEBase.o \ + $O/src/DAF/AE/AE.o \ + $O/src/DAF/AE/AEStream.o \ $O/src/DAF/AE/AEExtendedPing.o \ $O/src/DAF/AE/AEListeners.o \ $O/src/DAF/AE/AEPing.o \ - $O/src/DAF/AE/AESender.o \ - $O/src/DAF/AE/AEStream.o \ - $O/src/DAF/CDAP/Auth.o \ - $O/src/DAF/CDAP/AuthListeners.o \ $O/src/DAF/CDAP/CACE.o \ - $O/src/DAF/CDAP/CACEListeners.o \ - $O/src/DAF/CDAP/CDAP.o \ - $O/src/DAF/CDAP/CDAPListeners.o \ - $O/src/DAF/CDAP/CDAPMsgLog.o \ $O/src/DAF/CDAP/CDAPMsgLogEntry.o \ + $O/src/DAF/CDAP/AuthListeners.o \ + $O/src/DAF/CDAP/CDAPMsgLog.o \ + $O/src/DAF/CDAP/CDAPListeners.o \ $O/src/DAF/CDAP/CDAPSplitter.o \ - $O/src/DAF/DA/DA.o \ + $O/src/DAF/CDAP/Auth.o \ + $O/src/DAF/CDAP/CDAP.o \ + $O/src/DAF/CDAP/CACEListeners.o \ $O/src/DAF/DA/Directory.o \ - $O/src/DAF/DA/DirectoryEntry.o \ + $O/src/DAF/DA/DA.o \ + $O/src/DAF/DA/SearchTable.o \ $O/src/DAF/DA/NamingInformation.o \ - $O/src/DAF/DA/NamingInformationEntry.o \ - $O/src/DAF/DA/NeighborTable.o \ + $O/src/DAF/DA/DirectoryEntry.o \ $O/src/DAF/DA/NeighborTableEntry.o \ - $O/src/DAF/DA/SearchTable.o \ $O/src/DAF/DA/SearchTableEntry.o \ - $O/src/DAF/IRM/ConnectionTable.o \ + $O/src/DAF/DA/NamingInformationEntry.o \ + $O/src/DAF/DA/NeighborTable.o \ $O/src/DAF/IRM/ConnectionTableEntry.o \ + $O/src/DAF/IRM/ConnectionTable.o \ $O/src/DAF/IRM/IRM.o \ $O/src/DAF/IRM/IRMListeners.o \ $O/src/DIF/Delimiting/Delimiting.o \ - $O/src/DIF/EFCP/EFCP.o \ - $O/src/DIF/EFCP/EFCPInstance.o \ - $O/src/DIF/EFCP/EFCPListeners.o \ $O/src/DIF/EFCP/EFCPPolicySet.o \ + $O/src/DIF/EFCP/EFCPListeners.o \ + $O/src/DIF/EFCP/EFCPInstance.o \ + $O/src/DIF/EFCP/EFCP.o \ $O/src/DIF/EFCP/MockEFCPI.o \ $O/src/DIF/EFCP/DTCP/DTCP.o \ - $O/src/DIF/EFCP/DTCP/DTCPState.o \ $O/src/DIF/EFCP/DTCP/RXControl.o \ - $O/src/DIF/EFCP/DTP/DataTransferPDU.o \ + $O/src/DIF/EFCP/DTCP/DTCPState.o \ $O/src/DIF/EFCP/DTP/DTP.o \ - $O/src/DIF/EFCP/DTP/DTPState.o \ - $O/src/DIF/EFCP/DTP/DumbGate.o \ $O/src/DIF/EFCP/DTP/PushBackChannel.o \ $O/src/DIF/EFCP/DTP/UserDataField.o \ - $O/src/DIF/EFCP/EFCPTable/EFCPTable.o \ + $O/src/DIF/EFCP/DTP/DataTransferPDU.o \ + $O/src/DIF/EFCP/DTP/DTPState.o \ + $O/src/DIF/EFCP/DTP/DumbGate.o \ $O/src/DIF/EFCP/EFCPTable/EFCPTableEntry.o \ + $O/src/DIF/EFCP/EFCPTable/EFCPTable.o \ $O/src/DIF/Enrollment/Enrollment.o \ - $O/src/DIF/FA/FA.o \ - $O/src/DIF/FA/FABase.o \ + $O/src/DIF/FA/FAListeners.o \ $O/src/DIF/FA/FAI.o \ - $O/src/DIF/FA/FAIBase.o \ + $O/src/DIF/FA/FAITableEntry.o \ $O/src/DIF/FA/FAIListeners.o \ + $O/src/DIF/FA/FAIBase.o \ + $O/src/DIF/FA/FA.o \ + $O/src/DIF/FA/FABase.o \ $O/src/DIF/FA/FAITable.o \ - $O/src/DIF/FA/FAITableEntry.o \ - $O/src/DIF/FA/FAListeners.o \ + $O/src/DIF/NSM/NSM.o \ $O/src/DIF/NSM/DirectoryForwardingTable.o \ $O/src/DIF/NSM/LocalDirectoryCache.o \ - $O/src/DIF/NSM/NSM.o \ $O/src/DIF/RA/NM1FlowTable.o \ - $O/src/DIF/RA/NM1FlowTableItem.o \ - $O/src/DIF/RA/RA.o \ $O/src/DIF/RA/RABase.o \ $O/src/DIF/RA/RAListeners.o \ + $O/src/DIF/RA/RA.o \ + $O/src/DIF/RA/NM1FlowTableItem.o \ + $O/src/DIF/RIB/RIBdSplitter.o \ $O/src/DIF/RIB/RIBd.o \ - $O/src/DIF/RIB/RIBdBase.o \ $O/src/DIF/RIB/RIBdListeners.o \ - $O/src/DIF/RIB/RIBdSplitter.o \ - $O/src/DIF/RMT/RMT.o \ + $O/src/DIF/RIB/RIBdBase.o \ $O/src/DIF/RMT/RMTBase.o \ - $O/src/DIF/RMT/RMTListeners.o \ $O/src/DIF/RMT/RMTModuleAllocator.o \ - $O/src/DIF/RMT/RMTPort.o \ $O/src/DIF/RMT/RMTQueue.o \ - $O/src/Common/Data_m.o \ + $O/src/DIF/RMT/RMT.o \ + $O/src/DIF/RMT/RMTListeners.o \ + $O/src/DIF/RMT/RMTPort.o \ $O/src/Common/PDU_m.o \ $O/src/Common/SDU_m.o \ + $O/src/Common/Data_m.o \ $O/src/DAF/CDAP/CDAPMessage_m.o \ $O/src/DIF/EFCP/DTCP/ControlPDU_m.o \ $O/src/DIF/EFCP/DTCP/DTCPTimers_m.o \ @@ -400,9 +382,9 @@ OBJS = \ # Message files MSGFILES = \ - src/Common/Data.msg \ src/Common/PDU.msg \ src/Common/SDU.msg \ + src/Common/Data.msg \ src/DAF/CDAP/CDAPMessage.msg \ src/DIF/EFCP/DTCP/ControlPDU.msg \ src/DIF/EFCP/DTCP/DTCPTimers.msg \ @@ -459,7 +441,7 @@ all: $O/$(TARGET) $O/$(TARGET): $(OBJS) $(wildcard $(EXTRA_OBJS)) Makefile @$(MKPATH) $O @echo Creating executable: $@ - $(Q)echo >.tmp$$$$ $(OBJS) $(EXTRA_OBJS) && $(AR) .tmplib$$$$ @.tmp$$$$ && $(CXX) -o $O/$(TARGET) $(AS_NEEDED_OFF) $(WHOLE_ARCHIVE_ON) .tmplib$$$$ $(LIBS) $(WHOLE_ARCHIVE_OFF) $(OMNETPP_LIBS) $(LDFLAGS) && rm .tmp$$$$ && rm .tmplib$$$$ + $(Q)$(CXX) $(LDFLAGS) -o $O/$(TARGET) $(OBJS) $(EXTRA_OBJS) $(AS_NEEDED_OFF) $(WHOLE_ARCHIVE_ON) $(LIBS) $(WHOLE_ARCHIVE_OFF) $(OMNETPP_LIBS) .PHONY: all clean cleanall depend msgheaders @@ -481,52 +463,34 @@ clean: $(Q)-rm -rf $O $(Q)-rm -f rina rina.exe librina.so librina.a librina.dll librina.dylib $(Q)-rm -f ./*_m.cc ./*_m.h - $(Q)-rm -f doc/*_m.cc doc/*_m.h - $(Q)-rm -f doc/html/*_m.cc doc/html/*_m.h - $(Q)-rm -f doc/html/search/*_m.cc doc/html/search/*_m.h $(Q)-rm -f examples/*_m.cc examples/*_m.h $(Q)-rm -f examples/AllNodes/*_m.cc examples/AllNodes/*_m.h - $(Q)-rm -f examples/AllNodes/results/*_m.cc examples/AllNodes/results/*_m.h $(Q)-rm -f examples/BigRandNet/*_m.cc examples/BigRandNet/*_m.h - $(Q)-rm -f examples/BigRandNet/results/*_m.cc examples/BigRandNet/results/*_m.h $(Q)-rm -f examples/CongestedNode/*_m.cc examples/CongestedNode/*_m.h $(Q)-rm -f examples/CongestedNode2/*_m.cc examples/CongestedNode2/*_m.h $(Q)-rm -f examples/DC/*_m.cc examples/DC/*_m.h - $(Q)-rm -f examples/DC/results/*_m.cc examples/DC/results/*_m.h $(Q)-rm -f examples/ExtendedPingTwoCSsSimple/*_m.cc examples/ExtendedPingTwoCSsSimple/*_m.h - $(Q)-rm -f examples/ExtendedPingTwoCSsSimple/results/*_m.cc examples/ExtendedPingTwoCSsSimple/results/*_m.h $(Q)-rm -f examples/FatTreeTopology/*_m.cc examples/FatTreeTopology/*_m.h - $(Q)-rm -f examples/FatTreeTopology/results/*_m.cc examples/FatTreeTopology/results/*_m.h $(Q)-rm -f examples/FatTreeTopologyPref/*_m.cc examples/FatTreeTopologyPref/*_m.h - $(Q)-rm -f examples/FatTreeTopologyPref/results/*_m.cc examples/FatTreeTopologyPref/results/*_m.h $(Q)-rm -f examples/SimpleRelay/*_m.cc examples/SimpleRelay/*_m.h $(Q)-rm -f examples/SimpleRelay/results/*_m.cc examples/SimpleRelay/results/*_m.h $(Q)-rm -f examples/SimpleRelayCongestion/*_m.cc examples/SimpleRelayCongestion/*_m.h $(Q)-rm -f examples/SimpleRelayCongestion/results/*_m.cc examples/SimpleRelayCongestion/results/*_m.h $(Q)-rm -f examples/SingleCS/*_m.cc examples/SingleCS/*_m.h - $(Q)-rm -f examples/SingleCS/results/*_m.cc examples/SingleCS/results/*_m.h $(Q)-rm -f examples/SmallNetRouting/*_m.cc examples/SmallNetRouting/*_m.h - $(Q)-rm -f examples/SmallNetRouting/results/*_m.cc examples/SmallNetRouting/results/*_m.h $(Q)-rm -f examples/SmallNetwork/*_m.cc examples/SmallNetwork/*_m.h - $(Q)-rm -f examples/SmallNetwork/results/*_m.cc examples/SmallNetwork/results/*_m.h $(Q)-rm -f examples/SmallNetwork2/*_m.cc examples/SmallNetwork2/*_m.h $(Q)-rm -f examples/SmallNetwork2/results/*_m.cc examples/SmallNetwork2/results/*_m.h $(Q)-rm -f examples/SmallRandNet/*_m.cc examples/SmallRandNet/*_m.h - $(Q)-rm -f examples/SmallRandNet/results/*_m.cc examples/SmallRandNet/results/*_m.h $(Q)-rm -f examples/TreeCongestion/*_m.cc examples/TreeCongestion/*_m.h $(Q)-rm -f examples/TwoCSWithDelay/*_m.cc examples/TwoCSWithDelay/*_m.h - $(Q)-rm -f examples/TwoCSWithDelay/results/*_m.cc examples/TwoCSWithDelay/results/*_m.h $(Q)-rm -f examples/TwoCSs/*_m.cc examples/TwoCSs/*_m.h - $(Q)-rm -f examples/TwoCSs/results/*_m.cc examples/TwoCSs/results/*_m.h $(Q)-rm -f examples/TwoCSsSimple/*_m.cc examples/TwoCSsSimple/*_m.h $(Q)-rm -f examples/TwoCSsSimple/results/*_m.cc examples/TwoCSsSimple/results/*_m.h $(Q)-rm -f examples/TwoScheduling/*_m.cc examples/TwoScheduling/*_m.h - $(Q)-rm -f examples/TwoScheduling/results/*_m.cc examples/TwoScheduling/results/*_m.h $(Q)-rm -f examples/TwoScheduling9/*_m.cc examples/TwoScheduling9/*_m.h $(Q)-rm -f examples/randPrefNet/*_m.cc examples/randPrefNet/*_m.h - $(Q)-rm -f examples/randPrefNet/results/*_m.cc examples/randPrefNet/results/*_m.h $(Q)-rm -f examples/treeBipart/*_m.cc examples/treeBipart/*_m.h - $(Q)-rm -f examples/treeBipart/results/*_m.cc examples/treeBipart/results/*_m.h $(Q)-rm -f policies/*_m.cc policies/*_m.h $(Q)-rm -f policies/DAF/*_m.cc policies/DAF/*_m.h $(Q)-rm -f policies/DIF/*_m.cc policies/DIF/*_m.h @@ -656,7 +620,7 @@ cleanall: clean depend: $(qecho) Creating dependencies... - $(Q)$(MAKEDEPEND) $(INCLUDE_PATH) -f Makefile -P\$$O/ -- $(MSG_CC_FILES) ./*.cc doc/*.cc doc/html/*.cc doc/html/search/*.cc examples/*.cc examples/AllNodes/*.cc examples/AllNodes/results/*.cc examples/BigRandNet/*.cc examples/BigRandNet/results/*.cc examples/CongestedNode/*.cc examples/CongestedNode2/*.cc examples/DC/*.cc examples/DC/results/*.cc examples/ExtendedPingTwoCSsSimple/*.cc examples/ExtendedPingTwoCSsSimple/results/*.cc examples/FatTreeTopology/*.cc examples/FatTreeTopology/results/*.cc examples/FatTreeTopologyPref/*.cc examples/FatTreeTopologyPref/results/*.cc examples/SimpleRelay/*.cc examples/SimpleRelay/results/*.cc examples/SimpleRelayCongestion/*.cc examples/SimpleRelayCongestion/results/*.cc examples/SingleCS/*.cc examples/SingleCS/results/*.cc examples/SmallNetRouting/*.cc examples/SmallNetRouting/results/*.cc examples/SmallNetwork/*.cc examples/SmallNetwork/results/*.cc examples/SmallNetwork2/*.cc examples/SmallNetwork2/results/*.cc examples/SmallRandNet/*.cc examples/SmallRandNet/results/*.cc examples/TreeCongestion/*.cc examples/TwoCSWithDelay/*.cc examples/TwoCSWithDelay/results/*.cc examples/TwoCSs/*.cc examples/TwoCSs/results/*.cc examples/TwoCSsSimple/*.cc examples/TwoCSsSimple/results/*.cc examples/TwoScheduling/*.cc examples/TwoScheduling/results/*.cc examples/TwoScheduling9/*.cc examples/randPrefNet/*.cc examples/randPrefNet/results/*.cc examples/treeBipart/*.cc examples/treeBipart/results/*.cc policies/*.cc policies/DAF/*.cc policies/DIF/*.cc policies/DIF/EFCP/*.cc policies/DIF/EFCP/DTCP/*.cc policies/DIF/EFCP/DTCP/ECN/*.cc policies/DIF/EFCP/DTCP/ECNSlowDown/*.cc policies/DIF/EFCP/DTCP/FCOverrun/*.cc policies/DIF/EFCP/DTCP/FCOverrun/FCOverrunPolicyDefault/*.cc policies/DIF/EFCP/DTCP/LostControlPDU/*.cc policies/DIF/EFCP/DTCP/LostControlPDU/LostControlPDUPolicyDefault/*.cc policies/DIF/EFCP/DTCP/NoOverridePeak/*.cc policies/DIF/EFCP/DTCP/NoOverridePeak/NoOverridePeakPolicyDefault/*.cc policies/DIF/EFCP/DTCP/NoRateSlowDown/*.cc policies/DIF/EFCP/DTCP/NoRateSlowDown/NoRateSlowDownPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RateReduction/*.cc policies/DIF/EFCP/DTCP/RateReduction/RateReductionPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RcvrAck/*.cc policies/DIF/EFCP/DTCP/RcvrAck/RcvrAckPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RcvrControlAck/*.cc policies/DIF/EFCP/DTCP/RcvrControlAck/RcvrControlAckPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RcvrFC/*.cc policies/DIF/EFCP/DTCP/RcvrFC/RcvrFCPolicyDefault/*.cc policies/DIF/EFCP/DTCP/ReceivingFC/*.cc policies/DIF/EFCP/DTCP/ReceivingFC/ReceivingFCPolicyDefault/*.cc policies/DIF/EFCP/DTCP/ReconcileFC/*.cc policies/DIF/EFCP/DTCP/ReconcileFC/ReconcileFCPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RxTimerExpiry/*.cc policies/DIF/EFCP/DTCP/RxTimerExpiry/RxTimerExpiryPolicyDefault/*.cc policies/DIF/EFCP/DTCP/SenderAck/*.cc policies/DIF/EFCP/DTCP/SenderAck/SenderAckPolicyDefault/*.cc policies/DIF/EFCP/DTCP/SendingAck/*.cc policies/DIF/EFCP/DTCP/SendingAck/SendingAckPolicyDefault/*.cc policies/DIF/EFCP/DTCP/TxControl/*.cc policies/DIF/EFCP/DTCP/TxControl/TxControlPolicyDefault/*.cc policies/DIF/EFCP/DTP/*.cc policies/DIF/EFCP/DTP/InitialSeqNum/*.cc policies/DIF/EFCP/DTP/InitialSeqNum/InitialSeqNumPolicyDefault/*.cc policies/DIF/EFCP/DTP/RTTEstimator/*.cc policies/DIF/EFCP/DTP/RTTEstimator/RTTEstimatorPolicyDefault/*.cc policies/DIF/EFCP/DTP/RcvrInactivity/*.cc policies/DIF/EFCP/DTP/RcvrInactivity/RcvrInactivityPolicyDefault/*.cc policies/DIF/EFCP/DTP/SenderInactivity/*.cc policies/DIF/EFCP/DTP/SenderInactivity/SenderInactivityPolicyDefault/*.cc policies/DIF/FA/*.cc policies/DIF/FA/AllocateRetry/*.cc policies/DIF/FA/AllocateRetry/LimitedRetries/*.cc policies/DIF/FA/NewFlowRequest/*.cc policies/DIF/FA/NewFlowRequest/MinComparer/*.cc policies/DIF/FA/NewFlowRequest/ScoreComparer/*.cc policies/DIF/RA/*.cc policies/DIF/RA/AddressComparator/*.cc policies/DIF/RA/AddressComparator/ExactMatch/*.cc policies/DIF/RA/AddressComparator/PrefixMatch/*.cc policies/DIF/RA/PDUFG/*.cc policies/DIF/RA/PDUFG/BiDomainGenerator/*.cc policies/DIF/RA/PDUFG/QoSDomainGenerator/*.cc policies/DIF/RA/PDUFG/SimpleGenerator/*.cc policies/DIF/RA/PDUFG/SingleDomainGenerator/*.cc policies/DIF/RA/PDUFG/StaticGenerator/*.cc policies/DIF/RA/QueueAlloc/*.cc policies/DIF/RA/QueueAlloc/QueuePerNCU/*.cc policies/DIF/RA/QueueAlloc/QueuePerNFlow/*.cc policies/DIF/RA/QueueAlloc/QueuePerNQoS/*.cc policies/DIF/RA/QueueAlloc/SingleQueue/*.cc policies/DIF/RA/QueueIDGen/*.cc policies/DIF/RA/QueueIDGen/IDPerNCU/*.cc policies/DIF/RA/QueueIDGen/IDPerNFlow/*.cc policies/DIF/RA/QueueIDGen/IDPerNQoS/*.cc policies/DIF/RA/QueueIDGen/SingleID/*.cc policies/DIF/RMT/*.cc policies/DIF/RMT/MaxQueue/*.cc policies/DIF/RMT/MaxQueue/DumbMaxQ/*.cc policies/DIF/RMT/MaxQueue/ECNMarker/*.cc policies/DIF/RMT/MaxQueue/PortMaxQ/*.cc policies/DIF/RMT/MaxQueue/REDDropper/*.cc policies/DIF/RMT/MaxQueue/ReadRateReducer/*.cc policies/DIF/RMT/MaxQueue/TailDrop/*.cc policies/DIF/RMT/MaxQueue/UpstreamNotifier/*.cc policies/DIF/RMT/Monitor/*.cc policies/DIF/RMT/Monitor/BEMonitor/*.cc policies/DIF/RMT/Monitor/DLMonitor/*.cc policies/DIF/RMT/Monitor/DummyMonitor/*.cc policies/DIF/RMT/Monitor/REDMonitor/*.cc policies/DIF/RMT/Monitor/SmartMonitor/*.cc policies/DIF/RMT/Monitor/eDLMonitor/*.cc policies/DIF/RMT/PDUForwarding/*.cc policies/DIF/RMT/PDUForwarding/DomainTable/*.cc policies/DIF/RMT/PDUForwarding/MiniTable/*.cc policies/DIF/RMT/PDUForwarding/QoSTable/*.cc policies/DIF/RMT/PDUForwarding/SimpleTable/*.cc policies/DIF/RMT/Scheduler/*.cc policies/DIF/RMT/Scheduler/DumbSch/*.cc policies/DIF/RMT/Scheduler/LongestQFirst/*.cc policies/DIF/Routing/*.cc policies/DIF/Routing/DomainRouting/*.cc policies/DIF/Routing/DomainRouting/DV/*.cc policies/DIF/Routing/DomainRouting/LS/*.cc policies/DIF/Routing/DummyRouting/*.cc policies/DIF/Routing/SimpleRouting/*.cc policies/DIF/Routing/SimpleRouting/SimpleDV/*.cc policies/DIF/Routing/SimpleRouting/SimpleLS/*.cc scripts/*.cc src/*.cc src/CS/*.cc src/Common/*.cc src/DAF/*.cc src/DAF/AE/*.cc src/DAF/CDAP/*.cc src/DAF/DA/*.cc src/DAF/IRM/*.cc src/DIF/*.cc src/DIF/Delimiting/*.cc src/DIF/EFCP/*.cc src/DIF/EFCP/DTCP/*.cc src/DIF/EFCP/DTP/*.cc src/DIF/EFCP/EFCPTable/*.cc src/DIF/Enrollment/*.cc src/DIF/FA/*.cc src/DIF/NSM/*.cc src/DIF/RA/*.cc src/DIF/RIB/*.cc src/DIF/RMT/*.cc + $(Q)$(MAKEDEPEND) $(INCLUDE_PATH) -f Makefile -P\$$O/ -- $(MSG_CC_FILES) ./*.cc examples/*.cc examples/AllNodes/*.cc examples/BigRandNet/*.cc examples/CongestedNode/*.cc examples/CongestedNode2/*.cc examples/DC/*.cc examples/ExtendedPingTwoCSsSimple/*.cc examples/FatTreeTopology/*.cc examples/FatTreeTopologyPref/*.cc examples/SimpleRelay/*.cc examples/SimpleRelay/results/*.cc examples/SimpleRelayCongestion/*.cc examples/SimpleRelayCongestion/results/*.cc examples/SingleCS/*.cc examples/SmallNetRouting/*.cc examples/SmallNetwork/*.cc examples/SmallNetwork2/*.cc examples/SmallNetwork2/results/*.cc examples/SmallRandNet/*.cc examples/TreeCongestion/*.cc examples/TwoCSWithDelay/*.cc examples/TwoCSs/*.cc examples/TwoCSsSimple/*.cc examples/TwoCSsSimple/results/*.cc examples/TwoScheduling/*.cc examples/TwoScheduling9/*.cc examples/randPrefNet/*.cc examples/treeBipart/*.cc policies/*.cc policies/DAF/*.cc policies/DIF/*.cc policies/DIF/EFCP/*.cc policies/DIF/EFCP/DTCP/*.cc policies/DIF/EFCP/DTCP/ECN/*.cc policies/DIF/EFCP/DTCP/ECNSlowDown/*.cc policies/DIF/EFCP/DTCP/FCOverrun/*.cc policies/DIF/EFCP/DTCP/FCOverrun/FCOverrunPolicyDefault/*.cc policies/DIF/EFCP/DTCP/LostControlPDU/*.cc policies/DIF/EFCP/DTCP/LostControlPDU/LostControlPDUPolicyDefault/*.cc policies/DIF/EFCP/DTCP/NoOverridePeak/*.cc policies/DIF/EFCP/DTCP/NoOverridePeak/NoOverridePeakPolicyDefault/*.cc policies/DIF/EFCP/DTCP/NoRateSlowDown/*.cc policies/DIF/EFCP/DTCP/NoRateSlowDown/NoRateSlowDownPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RateReduction/*.cc policies/DIF/EFCP/DTCP/RateReduction/RateReductionPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RcvrAck/*.cc policies/DIF/EFCP/DTCP/RcvrAck/RcvrAckPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RcvrControlAck/*.cc policies/DIF/EFCP/DTCP/RcvrControlAck/RcvrControlAckPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RcvrFC/*.cc policies/DIF/EFCP/DTCP/RcvrFC/RcvrFCPolicyDefault/*.cc policies/DIF/EFCP/DTCP/ReceivingFC/*.cc policies/DIF/EFCP/DTCP/ReceivingFC/ReceivingFCPolicyDefault/*.cc policies/DIF/EFCP/DTCP/ReconcileFC/*.cc policies/DIF/EFCP/DTCP/ReconcileFC/ReconcileFCPolicyDefault/*.cc policies/DIF/EFCP/DTCP/RxTimerExpiry/*.cc policies/DIF/EFCP/DTCP/RxTimerExpiry/RxTimerExpiryPolicyDefault/*.cc policies/DIF/EFCP/DTCP/SenderAck/*.cc policies/DIF/EFCP/DTCP/SenderAck/SenderAckPolicyDefault/*.cc policies/DIF/EFCP/DTCP/SendingAck/*.cc policies/DIF/EFCP/DTCP/SendingAck/SendingAckPolicyDefault/*.cc policies/DIF/EFCP/DTCP/TxControl/*.cc policies/DIF/EFCP/DTCP/TxControl/TxControlPolicyDefault/*.cc policies/DIF/EFCP/DTP/*.cc policies/DIF/EFCP/DTP/InitialSeqNum/*.cc policies/DIF/EFCP/DTP/InitialSeqNum/InitialSeqNumPolicyDefault/*.cc policies/DIF/EFCP/DTP/RTTEstimator/*.cc policies/DIF/EFCP/DTP/RTTEstimator/RTTEstimatorPolicyDefault/*.cc policies/DIF/EFCP/DTP/RcvrInactivity/*.cc policies/DIF/EFCP/DTP/RcvrInactivity/RcvrInactivityPolicyDefault/*.cc policies/DIF/EFCP/DTP/SenderInactivity/*.cc policies/DIF/EFCP/DTP/SenderInactivity/SenderInactivityPolicyDefault/*.cc policies/DIF/FA/*.cc policies/DIF/FA/AllocateRetry/*.cc policies/DIF/FA/AllocateRetry/LimitedRetries/*.cc policies/DIF/FA/NewFlowRequest/*.cc policies/DIF/FA/NewFlowRequest/MinComparer/*.cc policies/DIF/FA/NewFlowRequest/ScoreComparer/*.cc policies/DIF/RA/*.cc policies/DIF/RA/AddressComparator/*.cc policies/DIF/RA/AddressComparator/ExactMatch/*.cc policies/DIF/RA/AddressComparator/PrefixMatch/*.cc policies/DIF/RA/PDUFG/*.cc policies/DIF/RA/PDUFG/BiDomainGenerator/*.cc policies/DIF/RA/PDUFG/QoSDomainGenerator/*.cc policies/DIF/RA/PDUFG/SimpleGenerator/*.cc policies/DIF/RA/PDUFG/SingleDomainGenerator/*.cc policies/DIF/RA/PDUFG/StaticGenerator/*.cc policies/DIF/RA/QueueAlloc/*.cc policies/DIF/RA/QueueAlloc/QueuePerNCU/*.cc policies/DIF/RA/QueueAlloc/QueuePerNFlow/*.cc policies/DIF/RA/QueueAlloc/QueuePerNQoS/*.cc policies/DIF/RA/QueueAlloc/SingleQueue/*.cc policies/DIF/RA/QueueIDGen/*.cc policies/DIF/RA/QueueIDGen/IDPerNCU/*.cc policies/DIF/RA/QueueIDGen/IDPerNFlow/*.cc policies/DIF/RA/QueueIDGen/IDPerNQoS/*.cc policies/DIF/RA/QueueIDGen/SingleID/*.cc policies/DIF/RMT/*.cc policies/DIF/RMT/MaxQueue/*.cc policies/DIF/RMT/MaxQueue/DumbMaxQ/*.cc policies/DIF/RMT/MaxQueue/ECNMarker/*.cc policies/DIF/RMT/MaxQueue/PortMaxQ/*.cc policies/DIF/RMT/MaxQueue/REDDropper/*.cc policies/DIF/RMT/MaxQueue/ReadRateReducer/*.cc policies/DIF/RMT/MaxQueue/TailDrop/*.cc policies/DIF/RMT/MaxQueue/UpstreamNotifier/*.cc policies/DIF/RMT/Monitor/*.cc policies/DIF/RMT/Monitor/BEMonitor/*.cc policies/DIF/RMT/Monitor/DLMonitor/*.cc policies/DIF/RMT/Monitor/DummyMonitor/*.cc policies/DIF/RMT/Monitor/REDMonitor/*.cc policies/DIF/RMT/Monitor/SmartMonitor/*.cc policies/DIF/RMT/Monitor/eDLMonitor/*.cc policies/DIF/RMT/PDUForwarding/*.cc policies/DIF/RMT/PDUForwarding/DomainTable/*.cc policies/DIF/RMT/PDUForwarding/MiniTable/*.cc policies/DIF/RMT/PDUForwarding/QoSTable/*.cc policies/DIF/RMT/PDUForwarding/SimpleTable/*.cc policies/DIF/RMT/Scheduler/*.cc policies/DIF/RMT/Scheduler/DumbSch/*.cc policies/DIF/RMT/Scheduler/LongestQFirst/*.cc policies/DIF/Routing/*.cc policies/DIF/Routing/DomainRouting/*.cc policies/DIF/Routing/DomainRouting/DV/*.cc policies/DIF/Routing/DomainRouting/LS/*.cc policies/DIF/Routing/DummyRouting/*.cc policies/DIF/Routing/SimpleRouting/*.cc policies/DIF/Routing/SimpleRouting/SimpleDV/*.cc policies/DIF/Routing/SimpleRouting/SimpleLS/*.cc scripts/*.cc src/*.cc src/CS/*.cc src/Common/*.cc src/DAF/*.cc src/DAF/AE/*.cc src/DAF/CDAP/*.cc src/DAF/DA/*.cc src/DAF/IRM/*.cc src/DIF/*.cc src/DIF/Delimiting/*.cc src/DIF/EFCP/*.cc src/DIF/EFCP/DTCP/*.cc src/DIF/EFCP/DTP/*.cc src/DIF/EFCP/EFCPTable/*.cc src/DIF/Enrollment/*.cc src/DIF/FA/*.cc src/DIF/NSM/*.cc src/DIF/RA/*.cc src/DIF/RIB/*.cc src/DIF/RMT/*.cc # DO NOT DELETE THIS LINE -- make depend depends on it. $O/policies/DIF/EFCP/EFCPPolicy.o: policies/DIF/EFCP/EFCPPolicy.cc \ diff --git a/examples/SimpleRelayCongestion/config.xml b/examples/SimpleRelayCongestion/config.xml index 552e52ec..8849a931 100644 --- a/examples/SimpleRelayCongestion/config.xml +++ b/examples/SimpleRelayCongestion/config.xml @@ -96,6 +96,28 @@ + + + 12000000 + 1000 + 24000000 + 2000 + 10000000 + 1000000 + 0.01 + 0 + 1500 + 0 + 0 + 0 + 0 + 1000000 + 500000 + 0 + 0 + + + 12000000 @@ -115,7 +137,10 @@ 500000 0 0 - 0 + 0 + 1 + 1 + 0 12000000 @@ -135,7 +160,10 @@ 500000 0 0 - 0 + 0 + 1 + 1 + 0 diff --git a/examples/SimpleRelayCongestion/omnetpp.ini b/examples/SimpleRelayCongestion/omnetpp.ini index 11888722..376eafc9 100644 --- a/examples/SimpleRelayCongestion/omnetpp.ini +++ b/examples/SimpleRelayCongestion/omnetpp.ini @@ -38,7 +38,7 @@ seed-set = ${runnumber} #Specify timeout of CreateRequest message -**.fa.createRequestTimeout = 15s +#**.fa.createRequestTimeout = 15s **.host1.applicationProcess1.applicationEntity.iae.forceOrder = true [Config CongestionPing] fingerprint = "eb02-6de8" diff --git a/src/Common/ExternConsts.cc b/src/Common/ExternConsts.cc index 4058cb00..141a2a1d 100644 --- a/src/Common/ExternConsts.cc +++ b/src/Common/ExternConsts.cc @@ -111,6 +111,11 @@ const char* ELEM_DELAY = "Delay"; const char* ELEM_JITTER = "Jitter"; const char* ELEM_COSTTIME = "CostTime"; const char* ELEM_COSTBITS = "CostBits"; +const char* ELEM_ATIME = "ATime"; +const char* ELEM_RXON = "RxOn"; +const char* ELEM_WINON = "WinOn"; +const char* ELEM_RATEON = "RateOn"; +const char* ELEM_EFCPPOL = "EFCPPolicySet"; //Values diff --git a/src/Common/ExternConsts.h b/src/Common/ExternConsts.h index 177797ce..4f3dfb42 100644 --- a/src/Common/ExternConsts.h +++ b/src/Common/ExternConsts.h @@ -113,6 +113,12 @@ extern const char* ELEM_JITTER; extern const char* ELEM_COSTTIME; extern const char* ELEM_COSTBITS; +extern const char* ELEM_ATIME; +extern const char* ELEM_RXON; +extern const char* ELEM_WINON; +extern const char* ELEM_RATEON; +extern const char* ELEM_EFCPPOL; + //Values extern const int VAL_QOSPARDONOTCARE; extern const bool VAL_QOSPARDEFBOOL; diff --git a/src/Common/QoSCube.cc b/src/Common/QoSCube.cc index 67270984..438390ec 100644 --- a/src/Common/QoSCube.cc +++ b/src/Common/QoSCube.cc @@ -31,8 +31,7 @@ const int VAL_DEFAULT_QOS = 0; const std::string VAL_UNDEF_QOSID = "UNDEF-QoSCube"; const std::string VAL_MGMTQOSID = "MGMT-QoSCube"; -const char* ELEM_ATIME = "ATime"; -const char* ELEM_EFCPPOL = "EFCPPolicySet"; + QoSCube::QoSCube() : qoSId(VAL_UNDEF_QOSID), avgBand(VAL_DEFAULT_QOS), avgSDUBand(VAL_DEFAULT_QOS), peakBandDuration(VAL_DEFAULT_QOS), peakSDUBandDuration(VAL_DEFAULT_QOS), @@ -52,95 +51,135 @@ QoSCube::QoSCube(cXMLElementList& attrs) : qoSId(VAL_UNDEF_QOSID), costTime(VAL_QOSPARDONOTCARE), costBits(VAL_QOSPARDONOTCARE), aTime(VAL_DEFAULT_QOS), rxOn(false), windowFCOn(false), rateFCOn(false), efcpPolicies(new EFCPPolicySet()) { - for (cXMLElementList::iterator jt = attrs.begin(); jt != attrs.end(); ++jt) { - cXMLElement* n = *jt; - - if ( !strcmp(n->getTagName(), ELEM_AVGBW) ) { - avgBand = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (avgBand < 0) - avgBand = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_AVGSDUBW)) { - avgSDUBand = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (avgSDUBand < 0) - avgSDUBand = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_PEAKBWDUR)) { - peakBandDuration = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (peakBandDuration < 0) - peakBandDuration = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_PEAKSDUBWDUR)) { - peakSDUBandDuration = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (peakSDUBandDuration < 0) - peakSDUBandDuration = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_BURSTPERIOD)) { - burstPeriod = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (burstPeriod < 0) - burstPeriod = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_BURSTDURATION)) { - burstDuration = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (burstDuration < 0) - burstDuration = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_UNDETECTBITERR)) { - undetectedBitErr = n->getNodeValue() ? atof(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (undetectedBitErr < 0 || undetectedBitErr > 1 ) - undetectedBitErr = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_PDUDROPPROBAB)) { - pduDropProbability = n->getNodeValue() ? atof(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (pduDropProbability < 0 || pduDropProbability > 1 ) - pduDropProbability = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_MAXSDUSIZE)) { - maxSDUsize = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (maxSDUsize < 0) - maxSDUsize = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_PARTIALDELIVER)) { - partDeliv = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; - } - else if (!strcmp(n->getTagName(), ELEM_INCOMPLETEDELIVER)) { - incompleteDeliv = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; - } - else if (!strcmp(n->getTagName(), ELEM_FORCEORDER)) { - forceOrder = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; - } - else if (!strcmp(n->getTagName(), ELEM_MAXALLOWGAP)) { - maxAllowGap = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (maxAllowGap < 0) - maxAllowGap = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_DELAY)) { - delay = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (delay < 0) - delay = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_JITTER)) { - jitter = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; - if (jitter < 0) - jitter = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_COSTTIME)) { - costTime = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; - if (costTime < 0) - costTime = VAL_QOSPARDONOTCARE; - } - else if (!strcmp(n->getTagName(), ELEM_COSTBITS)) { - costBits = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; - if (costBits < 0) - costBits = VAL_QOSPARDONOTCARE; - }else if (!strcmp(n->getTagName(), ELEM_ATIME)) { - aTime = n->getNodeValue() ? atof(n->getNodeValue()) : VAL_QOSPARDEFBOOL; - if (aTime < 0) - aTime = VAL_QOSPARDONOTCARE; - }else if(!strcmp(n->getTagName(), ELEM_EFCPPOL)) { - efcpPolicies->init(n); - } + for (cXMLElementList::iterator jt = attrs.begin(); jt != attrs.end(); ++jt) + { + cXMLElement* n = *jt; + + if (!strcmp(n->getTagName(), ELEM_AVGBW)) + { + avgBand = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (avgBand < 0) + avgBand = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_AVGSDUBW)) + { + avgSDUBand = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (avgSDUBand < 0) + avgSDUBand = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_PEAKBWDUR)) + { + peakBandDuration = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (peakBandDuration < 0) + peakBandDuration = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_PEAKSDUBWDUR)) + { + peakSDUBandDuration = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (peakSDUBandDuration < 0) + peakSDUBandDuration = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_BURSTPERIOD)) + { + burstPeriod = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (burstPeriod < 0) + burstPeriod = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_BURSTDURATION)) + { + burstDuration = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (burstDuration < 0) + burstDuration = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_UNDETECTBITERR)) + { + undetectedBitErr = n->getNodeValue() ? atof(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (undetectedBitErr < 0 || undetectedBitErr > 1) + undetectedBitErr = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_PDUDROPPROBAB)) + { + pduDropProbability = n->getNodeValue() ? atof(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (pduDropProbability < 0 || pduDropProbability > 1) + pduDropProbability = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_MAXSDUSIZE)) + { + maxSDUsize = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (maxSDUsize < 0) + maxSDUsize = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_PARTIALDELIVER)) + { + partDeliv = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; + } + else if (!strcmp(n->getTagName(), ELEM_INCOMPLETEDELIVER)) + { + incompleteDeliv = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; + } + else if (!strcmp(n->getTagName(), ELEM_FORCEORDER)) + { + forceOrder = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; + } + else if (!strcmp(n->getTagName(), ELEM_MAXALLOWGAP)) + { + maxAllowGap = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (maxAllowGap < 0) + maxAllowGap = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_DELAY)) + { + delay = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (delay < 0) + delay = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_JITTER)) + { + jitter = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (jitter < 0) + jitter = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_COSTTIME)) + { + costTime = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; + if (costTime < 0) + costTime = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_COSTBITS)) + { + costBits = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; + if (costBits < 0) + costBits = VAL_QOSPARDONOTCARE; + } + else if (!strcmp(n->getTagName(), ELEM_ATIME)) + { + aTime = n->getNodeValue() ? atof(n->getNodeValue()) : VAL_QOSPARDONOTCARE; + if (aTime < 0) + aTime = VAL_DEFAULT_QOS; + } + else if (!strcmp(n->getTagName(), ELEM_RXON)) + { + rxOn = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; + if (rxOn < 0) + rxOn = VAL_DEFAULT_QOS; + } + else if (!strcmp(n->getTagName(), ELEM_WINON)) + { + windowFCOn = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; + if (windowFCOn < 0) + windowFCOn = VAL_DEFAULT_QOS; + } + else if (!strcmp(n->getTagName(), ELEM_RATEON)) + { + rateFCOn = n->getNodeValue() ? atoi(n->getNodeValue()) : VAL_QOSPARDEFBOOL; + if (rateFCOn < 0) + rateFCOn = VAL_DEFAULT_QOS; + } + else if (!strcmp(n->getTagName(), ELEM_EFCPPOL)) + { + efcpPolicies->init(n); } + } } QoSCube::QoSCube(std::string tqosid, diff --git a/src/DIF/EFCP/EFCPModule.ned b/src/DIF/EFCP/EFCPModule.ned index 48ce84e8..9ba6e6f8 100644 --- a/src/DIF/EFCP/EFCPModule.ned +++ b/src/DIF/EFCP/EFCPModule.ned @@ -31,7 +31,7 @@ module EFCPModule submodules: efcpTable: EFCPTable { - @display("p=175,44"); + @display("p=151,44"); } efcp: EFCP { @display("p=52,44;i=block/circle");