--- a/README.md
+++ b/README.md
@@ -1,8 +1,10 @@
RINA Simulator
====
-###Version progress
-
+###Version changelog
+* July-September 2015 - RIBd notifiers, pre-EFCPv6 updates, CDAPProcessingBase interface,
+ merging partner's contribution (namely routing and congestion control),
+ added Hop Count to PDU header
* May/June 2015 - Enrollment, (N-1)-data/management separation, MIT relicensing,
EFCPv4+ updates, separation of QoSCubes and QoS requirements,
change of QoSCube-id datatype, source code split between
@@ -16,11 +18,15 @@
* November 2014 - Brussels RV1 with AllNodes examples
* October 2014 - Madrid F2F meeting with working SimpleRelay and TwoCSs scenarios
-###Links
+###Resources
* [OpenSourceProject Git with archived RINASim releases](https://opensourceprojects.eu/p/pristine/rinasimulator/rinasim/ci/b323f721944033c9f31924c02e2b67ba9c92c712/tree/)
-* [Out-of-the-box Virtual Machine with RINASim](http://nes.fit.vutbr.cz/ivesely/vm/RINASim.zip)
+* [VMWare Out-of-the-box virtual machine with RINASim](http://nes.fit.vutbr.cz/ivesely/vm/RINASim.zip)
* [PRISTINE webpage](http://ict-pristine.eu/)
* [Developer's mailing-list](https://www.fit.vutbr.cz/mailman/listinfo/rinasim)
+* [Deliverable 2.4 describing RINASim basics](http://ict-pristine.eu/wp-content/uploads/2013/12/PRISTINE-D24-RINASim-draft.pdf)
+
+###Papers
+* [V.Vesely, M.Marek, T.Hykel, O.Rysavy; Skip This Paper - RINASim: Your Recursive InterNetwork Architecture Simulator](http://arxiv.org/abs/1509.03550)
###Directory structure
@@ -37,15 +43,20 @@
/DIF ... DIF component
/policies ... all programable RINA policies
+
+ /scripts
+ fingerprints.sh ... batch for checking/updating fingerprints
+ slocstats.sh ... counts source lines of code
-###Policies
+###Available policies
/DAF ... DAF policies
/DIF ... DIF policies
/FA ... policies related to FA modules
/AllocateRetry ... what happen when M_CREATE is resend by Flow Allocator
/LimitedRetries ... when retransmit treshold is met, allocation is
discontinued
- /MultilevelQoS ...
+ /MultilevelQoS ... when a flow request a new n-1 flow, how its requirements are
+ mapped to n-1 requirements *not used yet
/NewFlowRequest ... when new flow is being allocated, how are its
requirements mapped to RA QoSCubes
/ScoreComparer ... QoSCube with best score wins
@@ -57,15 +68,18 @@
/PrefixMatch ... matching based on address prefix
/PDUFG ... PDU Forwarding Generator providing data used by the
PDU Forwarding policy
- /BiDomainGenerator ...
- /LatGenerator ...
- /MSimpleGenerator ...
- /QoSDomainGenerator ...
- /SimpleGenerator ...
- /SingleDomainGenerator ...
+ /BiDomainGenerator ... populates forwarding policy with entries on the form samePrefix.Id -> port and distinctPrefix.* -> port
+ /LatGenerator ... inform of flow metrics to routing as latency (based on n-1
+ QoS cube) instead of hops
+ /MSimpleGenerator ... inform of flow metrics to routing as hops, populates forwarding
+ policy with all existing best next hops
+ /QoSDomainGenerator ... populates forwarding policy with best next hop per dst + QoS
+ /SimpleGenerator ... inform of flow metrics to routing as hops
+ /SingleDomainGenerator ... inform of flow metrics to routing as hops,
+ variation using Domain based routing
/StaticGenerator ... load forwarding information from XML configuration
/QueueAlloc ... (N-1)-port queue allocation strategy
- /QueuePerNCU
+ /QueuePerNCU ... one queue per (N)-Cherish/Urgency class
/QueuePerNFlow ... one queue per (N)-flow
/QueuePerNQoS ... one queue per (N)-QoS cube
/SingleQueue ... one queue for all
@@ -78,10 +92,11 @@
/RMT ... policies related to RMT modules
/MaxQueue ... policy invoked when a queue size grows over its
threshold
- /DumbMaxQ ...
+ /DumbMaxQ ... request drop probability to monitor, drop random on that.
+ used with "SmartMonitor"s
/ECNMarker ... if queue size >= threshold, apply ECN marking on
new PDUs; if size >= max, drop
- /PortMaxQ ...
+ **/PortMaxQ ... to remove!!**
/ReadRateReducer ... if queue size >= allowed maximum, stop receiving data
from input ports
/REDDropper ... used with Monitor::REDMonitor; Random Early Detection
@@ -90,27 +105,30 @@
/UpstreamNotifier ... if queue size >= allowed maximum, send a notification
to the PDU sender
/Monitor ... state-keeping policy invoked on various queue events
- /BEMonitor ...
- /DLMonitor ...
- /eDLMonitor ...
+ /BEMonitor ... Best-effort as SmartMonitor using multiple queues
+ /DLMonitor ... Dela/Loss monitor implementation as SmartMonitor
+ /eDLMonitor ... enhanced-Dela/Loss monitor implementation as SmartMonitor
/REDMonitor ... used with MaxQueue::REDDropper; Random Early Detection
implementation
/DummyMonitor ... noop
- /SmartMonitor
+ /SmartMonitor ... monitor interface for use with dumbMaxQ/dumbSch.
+ can be queried for drop probability and next queue
/PDUForwarding ... policy used to decide where to forward a PDU
- /DomainTable
+ /DomainTabl ... a table with {domain:{prefix, QoS} ->
+ { Table:{dstAddr -> port}, default:port } }
/MiniTable ... a table with {dstAddr -> port} mappings
- /MultiMiniTable
- /QoSTable
+ /MultiMiniTable ... a table with {dstAddr -> vectior<port>} mappings
+ /QoSTable ... a table with {(dstAddr, QoS) -> port} mappings
/SimpleTable ... a table with {(dstAddr, QoS) -> port} mappings
/Scheduler ... policy deciding which (N-1)-port queue should be
processed next
- /DumbSch
+ /DumbSch ... query the monitor for the next queue to serve.
+ used with "SmartMonitor"s
/LongestQFirst ... pick the queue which contains the most PDUs
/Routing ... routing policies
- /DomainRouting ...
- /DV ...
- /LS ...
+ /DomainRouting ... routing policy based on domains. A domain is defined as a sub-set of the DIF, with its own metrics and routing algorithm.
+ /DV ... simple distance vector algorithm for DomainRouting
+ /LS ... simple link-state algorithm for DomainRouting
/DummyRouting ... noop
/SimpleRouting
/SimpleDV ... a simple distance vector-like protocol