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");