close
Warning:
Can't synchronize with repository "(default)" ("(default)" is not readable or not a Git repository.). Look in the Trac log for more information.
- Timestamp:
-
Nov 29, 2014, 12:00:57 AM (9 years ago)
- Author:
-
seskar
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v1
|
v2
|
|
1 | | '''Contents:''' |
| 1 | [[TOC(Proto/cModules/a0ClickRouter*)]] |
2 | 2 | |
3 | | [TOC] |
4 | | |
5 | | |
6 | | ----- |
| 3 | = Software Design = |
7 | 4 | |
8 | 5 | == Overview == |
9 | | |
| 6 | {{{ |
| 7 | #!html |
10 | 8 | <pre> |
11 | 9 | PKT PROCESSING OVERVIEW |
… |
… |
|
33 | 31 | |
34 | 32 | </pre> |
| 33 | }}} |
| 34 | |
35 | 35 | Figure above shows the packet-processing pipeline of the Click-based !MobilityFirst (MF) software router. The pipeline shows two main paths: data and control. The data path handles the forwarding of MF data packets and composed mainly of modules for short/medium term buffering, dynamic network address resolution, multi-service routing, and an optional compute-plane interface for advanced packet processing and forwarding ops. As indicated in the figure, the control path can potentially comprise of multiple independent protocol implementations. Protocols would ideally complement (and not compete with) each other while populating the lookup table (LUT) with forwarding entries. The baseline prototype implements the GSTAR intra-domain routing protocol with modules for neighbor discovery, link quality estimation, and link- and storage-state dissemination. |
36 | 36 | |
… |
… |
|
40 | 40 | |
41 | 41 | == Data Path == |
42 | | |
| 42 | {{{ |
| 43 | #!html |
43 | 44 | <pre> |
44 | 45 | DATA PATH |
… |
… |
|
64 | 65 | |
65 | 66 | </pre> |
| 67 | }}} |
66 | 68 | === Hop Block Transfer === |
67 | 69 | |
… |
… |
|
77 | 79 | |
78 | 80 | A chunk can have the follow status: |
79 | | |
| 81 | {{{ |
| 82 | #!html |
80 | 83 | <pre> CHUNK STATUS |
81 | 84 | ++++++++++++ |
… |
… |
|
91 | 94 | A chunk without ST_INITIALIZED cannot be ST_RESOLVING, ST_BUFFERED, ST_CACHED at the same time. |
92 | 95 | A ST_READY_TO_DEL chunk cannot be other status.</pre> |
| 96 | }}} |
| 97 | |
93 | 98 | After aggregator get CSYN, it will allocate memory for that chunk which status is 0. ### Buffer Management |
94 | 99 | |
… |
… |
|
98 | 103 | |
99 | 104 | === Generalized Storage Aware Routing (GSTAR) === |
100 | | |
| 105 | {{{ |
| 106 | #!html |
101 | 107 | <pre> |
102 | 108 | |
… |
… |
|
131 | 137 | |
132 | 138 | </pre> |
| 139 | }}} |