blob: 31d9633119a3bd186355c863500ea908a648a26f [file] [log] [blame]
akmhoque157b0a42014-05-13 00:26:37 -05001; the general section contains all the general settings for router
akmhoqueba094742014-02-28 11:47:21 -06002
akmhoque157b0a42014-05-13 00:26:37 -05003general
4{
Alexander Afanasyev8388ec62014-08-16 18:38:57 -07005 ; mandatory configuration command section network, site and router
akmhoqueba094742014-02-28 11:47:21 -06006
Alexander Afanasyev8388ec62014-08-16 18:38:57 -07007 network /ndn/ ; name of the network the router belongs to in ndn URI format
8 site /edu/memphis ; name of the site the router belongs to in ndn URI format
9 router /%C1.Router/cs/pollux ; name of the router in ndn URI format
akmhoque157b0a42014-05-13 00:26:37 -050010
Alexander Afanasyev8388ec62014-08-16 18:38:57 -070011 ; lsa-refresh-time is the time in seconds, after which router will refresh its LSAs
Alexander Afanasyev8388ec62014-08-16 18:38:57 -070012 lsa-refresh-time 1800 ; default value 1800. Valid values 240-7200
akmhoque157b0a42014-05-13 00:26:37 -050013
Alexander Afanasyev411ee4b2014-08-16 23:17:03 -070014 ; InterestLifetime (in seconds) for LSA fetching
15 lsa-interest-lifetime 4 ; default value 4. Valid values 1-60
16
Vince Lehmanf99b87f2014-08-26 15:54:27 -050017 ; log-level is used to set the logging level for NLSR.
18 ; All debugging levels listed above the selected value are enabled.
19 ;
20 ; Valid values:
21 ;
22 ; NONE ; no messages
23 ; ERROR ; error messages
24 ; WARN ; warning messages
25 ; INFO ; informational messages (default)
26 ; DEBUG ; debugging messages
27 ; TRACE ; trace messages (most verbose)
28 ; ALL ; all messages
akmhoque157b0a42014-05-13 00:26:37 -050029
Vince Lehmanf99b87f2014-08-26 15:54:27 -050030 log-level INFO
31
Muktadir R Chowdhurybfa27602014-10-31 10:57:41 -050032 log-dir /var/log/nlsr/ ; path for log directory (Absolute path)
33 seq-dir /var/lib/nlsr/ ; path for sequence directory (Absolute path)
34 ;log4cxx-conf /path/to/log4cxx-conf ; path for log4cxx configuration file (Absolute path)
akmhoque157b0a42014-05-13 00:26:37 -050035}
36
37; the neighbors section contains the configuration for router's neighbors and hello's behavior
38
39neighbors
40{
Alexander Afanasyev8388ec62014-08-16 18:38:57 -070041 ; in case hello interest timed out, router will try 'hello-retries' times at 'hello-timeout'
42 ; seconds interval before giving up for any neighbors (deciding link is down)
akmhoque157b0a42014-05-13 00:26:37 -050043
44 hello-retries 3 ; interest retries number in integer. Default value 3
45 ; valid values 1-10
46
47 hello-timeout 1 ; interest time out value in integer. Default value 1
48 ; Valid values 1-15
49
50 hello-interval 60 ; interest sending interval in seconds. Default value 60
51 ; valid values 30-90
akmhoque157b0a42014-05-13 00:26:37 -050052
Vince Lehman7b616582014-10-17 16:25:39 -050053 ; adj-lsa-build-interval is the time to wait in seconds after an Adjacency LSA build is scheduled
54 ; before actually building the Adjacency LSA
55
56 adj-lsa-build-interval 5 ; default value 5. Valid values 0-5. It is recommended that
57 ; adj-lsa-build-interval have a lower value than routing-calc-interval
58
59 ; first-hello-interval is the time to wait in seconds before sending the first Hello Interest
60
61 first-hello-interval 10 ; Default value 10. Valid values 0-10
62
Alexander Afanasyev8388ec62014-08-16 18:38:57 -070063 ; neighbor command is used to configure router's neighbor. Each neighbor will need
64 ; one block of neighbor command
65
66 neighbor
67 {
68 name /ndn/edu/memphis/%C1.Router/cs/castor ; name prefix of the neighbor router consists
69 ; of network, site-name and router-name
70
71 face-uri udp://castor.cs.memphis.edu ; face uri of the face connected to the neighbor
72 link-cost 25 ; cost of the connecting link to neighbor
73 }
74
75 neighbor
76 {
77 name /ndn/edu/memphis/%C1.Router/cs/mira ; name prefix of the neighbor router consists
akmhoque157b0a42014-05-13 00:26:37 -050078 ; of network, site-name and router-name
79
Alexander Afanasyev8388ec62014-08-16 18:38:57 -070080 face-uri udp://mira.cs.memphis.edu ; face uri of the face connected to the neighbor
81 link-cost 30 ; cost of the connecting link to neighbor
82 }
akmhoque157b0a42014-05-13 00:26:37 -050083}
84
85; the hyperbolic section contains the configuration settings of enabling a router to calculate
86; routing table using [hyperbolic routing table calculation](http://arxiv.org/abs/0805.1266) method
87
88hyperbolic
89{
Alexander Afanasyev8388ec62014-08-16 18:38:57 -070090 ; commands in this section follows a strict order
91 ; the switch is used to set hyperbolic routing calculation in NLSR
akmhoque157b0a42014-05-13 00:26:37 -050092
Alexander Afanasyev8388ec62014-08-16 18:38:57 -070093 state off ; default value 'off', set value 'on' to enable hyperbolic routing table
94 ; calculation which turns link state routing 'off'. set value to 'dry-run"
95 ; to test hyperbolic routing and compare with link state routing.
akmhoqueba094742014-02-28 11:47:21 -060096
97
Alexander Afanasyev8388ec62014-08-16 18:38:57 -070098 radius 123.456 ; radius of the router in hyperbolic coordinate system
99 angle 1.45 ; angle of the router in hyperbolic coordinate system
akmhoque157b0a42014-05-13 00:26:37 -0500100}
101
102
103; the fib section is used to configure fib entry's type to ndn FIB updated by NLSR
104
105fib
106{
Alexander Afanasyev8388ec62014-08-16 18:38:57 -0700107 ; the max-faces-per-prefix is used to limit the number of faces for each name prefixes
108 ; by NLSR in ndn FIB
akmhoque157b0a42014-05-13 00:26:37 -0500109
Alexander Afanasyev8388ec62014-08-16 18:38:57 -0700110 max-faces-per-prefix 3 ; default value 0. Valid value 0-60. By default (value 0) NLSR adds
111 ; all available faces for each reachable name prefixes in NDN FIB
Vince Lehman7b616582014-10-17 16:25:39 -0500112
113 ; routing-calc-interval is the time to wait in seconds after a routing table calculation is
114 ; scheduled before actually performing the routing table calculation
115
116 routing-calc-interval 15 ; default value 15. Valid values 0-15. It is recommended that
117 ; routing-calc-interval have a higher value than adj-lsa-build-interval
akmhoque157b0a42014-05-13 00:26:37 -0500118}
119
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700120; the advertising section contains the configuration settings of the name prefixes
akmhoque157b0a42014-05-13 00:26:37 -0500121; hosted by this router
122
123advertising
124{
Alexander Afanasyev8388ec62014-08-16 18:38:57 -0700125 ; the ndnname is used to advertised name from the router. To advertise each name prefix
126 ; configure one block of ndnname configuration command for every name prefix.
akmhoque157b0a42014-05-13 00:26:37 -0500127
Alexander Afanasyev8388ec62014-08-16 18:38:57 -0700128 prefix /ndn/edu/memphis/cs/netlab ; name in ndn URI format
129 prefix /ndn/edu/memphis/sports/basketball
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700130}
131
132security
133{
134 validator
135 {
136 rule
137 {
138 id "NSLR Hello Rule"
139 for data
140 filter
141 {
142 type name
akmhoque93f1a072014-06-19 16:24:28 -0500143 regex ^[^<NLSR><INFO>]*<NLSR><INFO><><>$
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700144 }
145 checker
146 {
147 type customized
148 sig-type rsa-sha256
149 key-locator
150 {
151 type name
152 hyper-relation
153 {
154 k-regex ^([^<KEY><NLSR>]*)<NLSR><KEY><ksk-.*><ID-CERT>$
Yingdi Yu6a3a4dd2014-06-20 14:10:39 -0700155 k-expand \\1
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700156 h-relation equal
akmhoque93f1a072014-06-19 16:24:28 -0500157 p-regex ^([^<NLSR><INFO>]*)<NLSR><INFO><><>$
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700158 p-expand \\1
159 }
160 }
161 }
162 }
163
164 rule
165 {
166 id "NSLR LSA Rule"
167 for data
168 filter
169 {
170 type name
akmhoquea816bee2014-06-24 14:37:40 -0500171 regex ^[^<NLSR><LSA>]*<NLSR><LSA>
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700172 }
173 checker
174 {
175 type customized
176 sig-type rsa-sha256
177 key-locator
178 {
179 type name
180 hyper-relation
181 {
182 k-regex ^([^<KEY><NLSR>]*)<NLSR><KEY><ksk-.*><ID-CERT>$
Yingdi Yu6a3a4dd2014-06-20 14:10:39 -0700183 k-expand \\1
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700184 h-relation equal
akmhoque50125a92014-06-30 08:54:17 -0500185 p-regex ^([^<NLSR><LSA>]*)<NLSR><LSA>(<>*)<><><>$
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700186 p-expand \\1\\2
187 }
188 }
189 }
190 }
191
192 rule
193 {
194 id "NSLR Hierarchy Exception Rule"
195 for data
196 filter
197 {
198 type name
akmhoquecc827532014-07-09 08:48:49 -0500199 regex ^[^<KEY><%C1.Router>]*<%C1.Router>[^<KEY><NLSR>]*<KEY><ksk-.*><ID-CERT><>$
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700200 }
201 checker
202 {
203 type customized
204 sig-type rsa-sha256
205 key-locator
206 {
207 type name
208 hyper-relation
209 {
akmhoquecc827532014-07-09 08:48:49 -0500210 k-regex ^([^<KEY><%C1.Operator>]*)<%C1.Operator>[^<KEY>]*<KEY><ksk-.*><ID-CERT>$
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700211 k-expand \\1
212 h-relation equal
akmhoquecc827532014-07-09 08:48:49 -0500213 p-regex ^([^<KEY><%C1.Router>]*)<%C1.Router>[^<KEY>]*<KEY><ksk-.*><ID-CERT><>$
Yingdi Yu20e3a6e2014-05-26 23:16:10 -0700214 p-expand \\1
215 }
216 }
217 }
218 }
219
220 rule
221 {
222 id "NSLR Hierarchical Rule"
223 for data
224 filter
225 {
226 type name
227 regex ^[^<KEY>]*<KEY><ksk-.*><ID-CERT><>$
228 }
229 checker
230 {
231 type hierarchical
232 sig-type rsa-sha256
233 }
234 }
235
236 trust-anchor
237 {
238 type file
239 file-name "root.cert"
240 }
241 }
Vince Lehman9f51efd2014-09-18 14:46:01 -0500242 ; cert-to-publish "root.cert" ; optional, a file containing the root certificate
243 ; Only the router that is designated to publish the root cert
244 ; needs to specify this
245
246 ; cert-to-publish "site.cert" ; optional, a file containing the site certificate
247 ; Only the router that is designated to publish the site cert
248 ; needs to specify this
249
250 ; cert-to-publish "operator.cert" ; optional, a file containing the operator certificate
251 ; Only the router that is designated to publish the operator
252 ; cert needs to specify this
253
akmhoque50125a92014-06-30 08:54:17 -0500254 cert-to-publish "router.cert" ; required, a file containing the router certificate.
akmhoque157b0a42014-05-13 00:26:37 -0500255}