Switch to unified view

a/README.md b/README.md
1
RINA Simulator
1
RINA Simulator
2
====
2
====
3
3
4
###Version progress
4
###Version progress
5
5
6
* May/June 2015 - Enrollment, (N-1)-data/management separation, MIT relicensing,
7
                  EFCPv4+ updates, separation of QoSCubes and QoS requirements,
8
                  change of QoSCube-id datatype, source code split between
9
                  policies and src, PDU headers for (N)-management frames,
10
                  multiple AEs within single AP communication 
6
* April 2015    - Routing policies prototypes, traceback packet file, CDAP redesign
11
* April 2015    - Routing policies prototypes, traceback packet file, CDAP redesign
7
* March 2015    - Slowdown/Pushupnotif congestion control, basic statistics,
12
* March 2015    - Slowdown/Pushupnotif congestion control, basic statistics,
8
                flow lifecycle, AEStream/ExtendedPing
13
                  flow lifecycle, AEStream/ExtendedPing
9
* February 2015 - After-Ghent release with FA policies
14
* February 2015 - After-Ghent release with FA policies
10
* January 2015  - Ghent meeting with EFCP, RMT, RA, PDUFTG and policies
15
* January 2015  - Ghent meeting with EFCP, RMT, RA, PDUFTG and policies
11
* November 2014 - Brussels RV1 with AllNodes examples
16
* November 2014 - Brussels RV1 with AllNodes examples
12
* October 2014  - Madrid F2F meeting with working SimpleRelay and TwoCSs scenarios
17
* October 2014  - Madrid F2F meeting with working SimpleRelay and TwoCSs scenarios
13
18
19
###Links
20
* [OpenSourceProject Git with archived RINASim releases](https://opensourceprojects.eu/p/pristine/rinasimulator/rinasim/ci/b323f721944033c9f31924c02e2b67ba9c92c712/tree/)
21
* [Out-of-the-box Virtual Machine with RINASim](http://nes.fit.vutbr.cz/ivesely/vm/RINASim.zip)
22
* [PRISTINE webpage](http://ict-pristine.eu/)  
23
* [Developer's mailing-list](https://www.fit.vutbr.cz/mailman/listinfo/rinasim)
24
14
###Directory structure
25
###Directory structure
15
26
16
    /examples                   ... scenarios testing RINA stack
27
    /examples                   ... scenarios testing RINA stack
17
      /AllNodes               ... communication across all types of devices
28
      /Basics                 ... simple testing scenarios
18
      /BigRandNet             ... big network for testing distance-vector routing
29
      /Congestion             ... congestion control
19
      /ExtendedPingTwoCs      ... CACE module testing scenario distance-vector routing        
30
      /Demos                  ... use-cases for tutorials and demo sessions
20
      /FatTreeTopology        ... DC-like environment for testing distance-vector routing
31
      /Routing                ... routing in topologies
21
      /SimpleRelay            ... two CSs exchanging data through an interior router
32
      
22
      /SimpleRelayCongestion  ... same scenario as above demonstrating congestion control
23
      /SingleCS               ... single computing system with two applications       
24
      /SmallNetwork           ... communication across a small network
25
      /SmallNetworkRouting    ... same as above for testing distance-vector routing
26
      /SmallRandNetwork       ... small randomly generated network
27
      /TwoCSs                 ... two directly connected CSs
28
      /TwoCSsSimple           ... two directly connected CSs with only one IPC
29
      /TwoCSsWithDelay        ... delayed channel testing scenario
30
    /src                        ... source codes' folder
33
    /src                        ... source codes' folder
31
        /Common                 ... shared basic classes
34
        /Common                 ... shared basic classes
32
        /CS                     ... computing system simulation nodes
35
        /CS                     ... computing system simulation nodes
33
        /DAF                    ... DAF components
36
        /DAF                    ... DAF components
34
        /DIF                    ... DIF components
37
        /DIF                    ... DIF component
38
  
35
     /policies               ... all programable RINA policies
39
    /policies                   ... all programable RINA policies
36
          /DAF                ... policies related to DAF components
37
          /DIF                ... policies related to DIF components
38
40
39
41
###Policies
42
  /DAF                           ... DAF policies
43
  /DIF                           ... DIF policies
44
      /FA                        ... policies related to FA modules
45
          /AllocateRetry             ... what happen when M_CREATE is resend by Flow Allocator
46
              /LimitedRetries        ... when retransmit treshold is met, allocation is 
47
                                         discontinued
48
          /MultilevelQoS             ...
49
          /NewFlowRequest            ... when new flow is being allocated, how are its 
50
                                         requirements mapped to RA QoSCubes
51
              /ScoreComparer         ... QoSCube with best score wins
52
              /MinComparer           ... QoSCube with minimal feasibility wins
53
      /RA                            ... policies related to RA modules
54
          /AddressComparator         ... policy used for determining whether a PDU address
55
                                         matches the IPCP's address  
56
              /ExactMatch            ... exact matching
57
              /PrefixMatch           ... matching based on address prefix
58
          /PDUFG                     ... PDU Forwarding Generator providing data used by the 
59
                                         PDU Forwarding policy 
60
              /BiDomainGenerator     ...
61
              /LatGenerator          ... 
62
              /MSimpleGenerator      ...
63
              /QoSDomainGenerator    ...
64
              /SimpleGenerator       ...
65
              /SingleDomainGenerator ...
66
              /StaticGenerator       ... load forwarding information from XML configuration 
67
          /QueueAlloc                ... (N-1)-port queue allocation strategy
68
              /QueuePerNCU           
69
              /QueuePerNFlow         ... one queue per (N)-flow 
70
              /QueuePerNQoS          ... one queue per (N)-QoS cube
71
              /SingleQueue           ... one queue for all
72
          /QueueIDGen                ... companion policy to QueueAlloc; returns queue ID 
73
                                         for given PDU or Flow object 
74
              /IDPerNCU              ... used with QueueAlloc::QueuePerNCU
75
              /IDPerNFlow            ... used with QueueAlloc::QueuePerNFlow
76
              /IDPerNQoS             ... used with QueueAlloc::QueuePerNQoS
77
              /SingleID              ... used with QueueAlloc::SingleQueue
78
      /RMT                           ... policies related to RMT modules
79
          /MaxQueue                  ... policy invoked when a queue size grows over its
80
                                         threshold 
81
              /DumbMaxQ              ...
82
              /ECNMarker             ... if queue size >= threshold, apply ECN marking on 
83
                                         new PDUs; if size >= max, drop
84
              /PortMaxQ              ...           
85
              /ReadRateReducer       ... if queue size >= allowed maximum, stop receiving data
86
                                         from input ports 
87
              /REDDropper            ... used with Monitor::REDMonitor; Random Early Detection
88
                                         implementation
89
              /TailDrop              ... if queue size >= allowed maximum, drop new PDUs
90
              /UpstreamNotifier      ... if queue size >= allowed maximum, send a notification 
91
                                         to the PDU sender
92
          /Monitor                   ... state-keeping policy invoked on various queue events 
93
              /BEMonitor             ...  
94
              /DLMonitor             ...
95
              /eDLMonitor            ...
96
              /REDMonitor            ... used with MaxQueue::REDDropper; Random Early Detection 
97
                                         implementation
98
              /DummyMonitor          ... noop
99
              /SmartMonitor
100
          /PDUForwarding             ... policy used to decide where to forward a PDU
101
              /DomainTable
102
              /MiniTable             ... a table with {dstAddr -> port} mappings
103
              /MultiMiniTable
104
              /QoSTable
105
              /SimpleTable           ... a table with {(dstAddr, QoS) -> port} mappings
106
          /Scheduler                 ... policy deciding which (N-1)-port queue should be 
107
                                         processed next
108
              /DumbSch 
109
              /LongestQFirst         ... pick the queue which contains the most PDUs 
110
      /Routing                       ... routing policies
111
          /DomainRouting             ...
112
              /DV                    ...
113
              /LS                    ...
114
          /DummyRouting              ... noop
115
          /SimpleRouting
116
              /SimpleDV              ... a simple distance vector-like protocol
117
              /SimpleLS              ... a simple link-state-like protocol
118
          
119
          
120
  
121