|
1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // tcpip_ini.h - INI File literals |
|
15 // |
|
16 |
|
17 #ifndef __TCPIP_INI_H__ |
|
18 #define __TCPIP_INI_H__ |
|
19 |
|
20 /** |
|
21 * @file tcpip_ini.h |
|
22 * @ingroup tcpip_ini_parameters |
|
23 * Define TCPIP.INI configuration parameters |
|
24 * @internalComponent |
|
25 */ |
|
26 |
|
27 /** |
|
28 * @defgroup tcpip_ini_parameters TCPIP.INI configuration parameters |
|
29 * |
|
30 * @{ |
|
31 */ |
|
32 |
|
33 // |
|
34 // INI File literals |
|
35 // ***************** |
|
36 // |
|
37 |
|
38 /** The name of the ini-file */ |
|
39 _LIT(TCPIP_INI_DATA, "tcpip.ini"); |
|
40 |
|
41 /** |
|
42 * @name Start Section |
|
43 * |
|
44 * When the protocol stack is loaded into memory, it can automatically start |
|
45 * a number of system daemons. The DNS resolver daemon (dnd.exe) is an example |
|
46 * of such system damoens. When the stack is unloaded, any running daemons are |
|
47 * automatically killed. |
|
48 * |
|
49 * Each daemon has its own section in the TCPIP.INI file. The daemons that |
|
50 * should be started up are listed in the [start] section under the daemons |
|
51 * key, separated by commas. Each daemon specific section contains the |
|
52 * initialization parameters for the daemon. Currently, the only supported |
|
53 * parameter key is filename, which specifies the location of the executable. |
|
54 * For example: |
|
55 @verbatim |
|
56 [start] |
|
57 daemons= dnd,httpserver |
|
58 |
|
59 [dnd] |
|
60 filename= z:\system\programs\dnd.exe |
|
61 |
|
62 [httpserver] |
|
63 filename= d:\system\programs\httpserver.exe |
|
64 @endverbatim |
|
65 * @{ |
|
66 */ |
|
67 /** The section name <tt>[start]</tt> */ |
|
68 _LIT(TCPIP_INI_START, "start"); |
|
69 /** The daemons list. <tt>daemons= dnd,kmd</tt> */ |
|
70 _LIT(TCPIP_INI_DAEMONS, "daemons"); |
|
71 /** The filename daemon. <tt>[dnd]<br>filename= dnd.exe</tt> */ |
|
72 _LIT(TCPIP_INI_FILENAME, "filename"); |
|
73 /** @} */ |
|
74 |
|
75 /** |
|
76 * @name Network layer parameters |
|
77 * @{ |
|
78 */ |
|
79 /** The section name <tt>[ip]</tt> */ |
|
80 _LIT(TCPIP_INI_IP, "ip"); // [ip] |
|
81 /** |
|
82 * Default TTL (time to live) value for IP packets. |
|
83 * |
|
84 * Default: #KTcpipIni_Maxttl |
|
85 */ |
|
86 _LIT(TCPIP_INI_MAXTTL, "maxttl"); // maxttl= 69 |
|
87 /** |
|
88 * Default TTL for link local destinations.(IPv4 and IPv6). |
|
89 * If negative, then default is same as <tt>maxttl</tt>. |
|
90 * |
|
91 * - Default: #KTcpipIni_LinkLocalttl |
|
92 * - Range: [-1..255] |
|
93 */ |
|
94 _LIT(TCPIP_INI_LINKLOCALTTL, "linklocalttl"); |
|
95 /** |
|
96 * Maximum number of simultaneous dial attempts via NifMan. |
|
97 * |
|
98 * - Default: #KTcpipIni_Maxdials |
|
99 * - Range: >= 0 |
|
100 * @deprecated Not used |
|
101 * @since 7.0 |
|
102 */ |
|
103 _LIT(TCPIP_INI_MAXDIALS, "maxdials"); |
|
104 /** |
|
105 * Packet forwarding. |
|
106 * - Default: #KTcpipIni_Forward |
|
107 * - Range: 0 = disabled, > 0 = enabled, and the number of cached flows to use. |
|
108 */ |
|
109 _LIT(TCPIP_INI_FORWARD, "forward"); |
|
110 /** |
|
111 * Enable IPv4 link-local configuration. |
|
112 * When set, the stack will autoconfigure interface for IPv4 linklocal |
|
113 * address space (<tt>169.254.0.0/16</tt>). This happens in addition to |
|
114 * any other configuration if present unless option 3 is specified. Possible |
|
115 * values and their meanings: |
|
116 * |
|
117 * Default: #KTcpipIni_Ipv4Linklocal |
|
118 * |
|
119 * Valid values: |
|
120 * - 0= No IPv4 link-local addresses, |
|
121 * - 1= Always use IPv4 link-local addresses, |
|
122 * - 2= Only use IPv4 link-local addresses when no global address has been configured, |
|
123 * - 3= Use link-local address if no IPv4 address is read from Nif or configuration daemon (e.g., DHCP). |
|
124 */ |
|
125 _LIT(TCPIP_INI_IPV4LINKLOCAL, "ipv4linklocal"); |
|
126 /** |
|
127 * Probe addresses without route from all links. |
|
128 * If set to 1, destination addresses for which no route can be found, |
|
129 * are probed with ND (ARP for IPv4) on all interfaces within scope. |
|
130 * This setting is ignored if disabled if the source address is an IPv4 |
|
131 * link local or else the link local would not function except for |
|
132 * neighbours with routes already discovered and cached. This is |
|
133 * necessary for compliance with the ZEROCONF RFC. |
|
134 * |
|
135 * - Default: #KTcpipIni_ProbeAddress |
|
136 * - Range: 0=disabled, 1=enabled |
|
137 */ |
|
138 _LIT(TCPIP_INI_PROBEADDRESS, "probeaddress"); |
|
139 /** |
|
140 * No id defence. |
|
141 * |
|
142 * Normally the node tries to keep assigned ID reserved for this node, |
|
143 * regardless of the prefix part. Enabling this option, disables this |
|
144 * feature (and allows other hosts use my id with different prefixes). |
|
145 * |
|
146 * - Default: #KTcpipIni_NoDefendId |
|
147 * - Range: 0 = disabled (defend id), 1 = enabled (do not defend id). |
|
148 */ |
|
149 _LIT(TCPIP_INI_NODEFENDID, "nodefendid"); |
|
150 /** |
|
151 * No interface error to attaced flows. |
|
152 * |
|
153 * This is the default value for new sockets (flows). |
|
154 * The default can be changed by a socket option |
|
155 * #KSoNoInterfaceError. |
|
156 * |
|
157 * - Default: #KTcpipIni_Noiferror |
|
158 * - Range: 0= pass, 1= don't pass errors to flow |
|
159 */ |
|
160 _LIT(TCPIP_INI_NOIFERROR, "noiferror"); |
|
161 /** |
|
162 * Max time to wait for route or interface. |
|
163 * |
|
164 * - Default: #KTcpipIni_Maxholdtime |
|
165 * - Range: [0..maxint] |
|
166 */ |
|
167 _LIT(TCPIP_INI_MAXHOLDTIME, "maxholdtime"); |
|
168 /** |
|
169 * Shutdown delay. |
|
170 * How long to wait until to kill daemons after last user (SAP/NIF) exits. |
|
171 * |
|
172 * - Default: #KTcpipIni_ShutdownDelay seconds. |
|
173 * - Range: [0..maxint] |
|
174 */ |
|
175 _LIT(TCPIP_INI_SHUTDOWN_DELAY, "shutdown_delay"); |
|
176 /** |
|
177 * Keep interface up. |
|
178 * |
|
179 * This is the default value for new sockets (flows). |
|
180 * The default can be changed by a socket option |
|
181 * #KSoKeepInterfaceUp. |
|
182 * |
|
183 * When enabled (1), attaching the flow to the interface |
|
184 * increments the flow count on the interface. This |
|
185 * count is part of the process that controls how |
|
186 * long idle interfaces are kept up. |
|
187 * |
|
188 * When disabled (0), the flow is not counted. |
|
189 * |
|
190 * - Default: #KTcpipIni_KeepInterfaceUp |
|
191 * - Range: 0 = disabled, 1 = enabled |
|
192 */ |
|
193 _LIT(TCPIP_INI_KEEP_INTERFACE_UP, "keepinterfaceup"); |
|
194 /** |
|
195 * Max Fragment assemblies. |
|
196 * |
|
197 * Max number of simultaneous incomplete fragment assembly (currently per |
|
198 * protocol version: IPv4 and IPv6). This is a safeguard against denial of |
|
199 * service (DOS) attacks. Prevents overusing the heap space for the |
|
200 * assembly control blocks. |
|
201 * |
|
202 * - Default: #KTcpipIni_FragCount |
|
203 * - Range: [0..maxint] |
|
204 */ |
|
205 _LIT(TCPIP_INI_FRAG_COUNT, "frag_count"); |
|
206 /** |
|
207 * Max Fragment buffering. |
|
208 * |
|
209 * Total amount buffer space that can be allocated (RMBufs) for incomplete |
|
210 * assemblies (per protocol version). This is a safeguard against denial of |
|
211 * service (DOS) attacks. Prevents overusing the RMBuf pool for the |
|
212 * packet content. |
|
213 * |
|
214 * - Default: #KTcpipIni_FragTotal (bytes) |
|
215 * - Range: [0..maxint] |
|
216 */ |
|
217 _LIT(TCPIP_INI_FRAG_TOTAL, "frag_total"); |
|
218 /** |
|
219 * Destination cache. |
|
220 * - Default: 0 (disabled) |
|
221 * - Range: 0 = disabled, |
|
222 * 1 = enabled / one entry per address, |
|
223 * 2 = enabled / one entry per network |
|
224 * |
|
225 * @see MDestinationCache for more information. |
|
226 */ |
|
227 _LIT(TCPIP_INI_DSTCACHE, "dstcache"); |
|
228 /** |
|
229 * Lifetime of dest. cache entry. |
|
230 * |
|
231 * - Default: 600 (secs) |
|
232 */ |
|
233 _LIT(TCPIP_INI_DST_LIFETIME, "dst_lifetime"); |
|
234 /** |
|
235 * Max total size of dest. cache. |
|
236 * |
|
237 * - Default: 2048 (bytes) |
|
238 */ |
|
239 _LIT(TCPIP_INI_DST_MAXSIZE, "dst_maxsize"); |
|
240 /** |
|
241 * Max transmitted ICMP errors or echo replies within ca. 8 second timeslot. |
|
242 * |
|
243 * - Default #KTcpipIni_IcmpLimit |
|
244 */ |
|
245 _LIT(TCPIP_INI_ICMP_LIMIT, "icmp_limit"); |
|
246 /** |
|
247 * Route Information option. |
|
248 * |
|
249 * The type code for RouteInformation has not been defined by the |
|
250 * IANA. This option allows enabling the option by specifying some |
|
251 * non-zero type, which identifies the option in Router Avertisement |
|
252 * message. (Experimental) |
|
253 * |
|
254 * - Default: 0 (not enabled) |
|
255 */ |
|
256 _LIT(TCPIP_INI_RA_OPT_ROUTE, "ra_opt_route"); |
|
257 /** |
|
258 * Recursive DNS Server Option (RDNSS) |
|
259 * |
|
260 * The type code for RouteInformation has not been defined by the |
|
261 * IANA. This option allows enabling the option by specifying some |
|
262 * non-zero type, which identifies the option in Router Avertisement |
|
263 * message. (Experimental) |
|
264 * |
|
265 * - Default: 0 (not enabled) |
|
266 */ |
|
267 _LIT(TCPIP_INI_RA_OPT_RDNSS, "ra_opt_rdnss"); |
|
268 /** @} */ |
|
269 |
|
270 /** |
|
271 * @name TCP Parameters |
|
272 * @{ |
|
273 */ |
|
274 /** The section name <tt>[tcp]</tt> */ |
|
275 _LIT(TCPIP_INI_TCP, "tcp"); |
|
276 /** |
|
277 * TCP maximum segment size. |
|
278 * Upper limit is bounded by the network interface MTU. |
|
279 * |
|
280 * - Default: tcp_mss= 65535 |
|
281 * - Range: [0..65535] |
|
282 */ |
|
283 _LIT(TCPIP_INI_TCP_MSS, "tcp_mss"); |
|
284 /** |
|
285 * TCP receive buffer size. |
|
286 * - Default: tcp_recv_buf= 8192 |
|
287 * - Range: [1024..65535] |
|
288 */ |
|
289 _LIT(TCPIP_INI_TCP_RECV_BUF, "tcp_recv_buf"); |
|
290 |
|
291 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW |
|
292 /** |
|
293 * TCP receive maximum window size. |
|
294 * - Default: tcp_recv_max_buf= 262144 |
|
295 * - Range: [131070-1073741823] |
|
296 */ |
|
297 _LIT(TCPIP_INI_TCP_RECV_MAX_WND, "tcp_recv_max_wnd"); |
|
298 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW |
|
299 |
|
300 /** |
|
301 * TCP send buffer size. |
|
302 * - Default: tcp_send_buf= 8192 |
|
303 * - Range: [1024..65535] |
|
304 */ |
|
305 _LIT(TCPIP_INI_TCP_SEND_BUF, "tcp_send_buf"); |
|
306 /** |
|
307 * Minimum retransmission timeout (ms). |
|
308 * - Default: tcp_min_rto= 1000 |
|
309 * - Range: 1000 ms |
|
310 */ |
|
311 _LIT(TCPIP_INI_TCP_MIN_RTO, "tcp_min_rto"); |
|
312 /** |
|
313 * Maximum retransmission timeout (ms). |
|
314 * - Default: tcp_max_rto= 60000 |
|
315 * - Range: 60000 ms |
|
316 */ |
|
317 _LIT(TCPIP_INI_TCP_MAX_RTO, "tcp_max_rto"); |
|
318 /** |
|
319 * Initial retransmission timeout (ms). |
|
320 * - Default: tcp_initial_rto= 3000 |
|
321 * - Range: [0..] |
|
322 */ |
|
323 _LIT(TCPIP_INI_TCP_INITIAL_RTO, "tcp_initial_rto"); |
|
324 /** |
|
325 * SRTT smoothing. |
|
326 * |
|
327 * alpha = 1 / tcp_srtt_smooth, as defined in RFC2988. |
|
328 * - Default: tcp_srtt_smooth= 8 |
|
329 * - Range: [0..] |
|
330 */ |
|
331 _LIT(TCPIP_INI_TCP_SRTT_SMOOTH, "tcp_srtt_smooth"); |
|
332 /** |
|
333 * MDEV smoothing. |
|
334 * beta = 1 / tcp_rttvar_smooth, as defined in RFC2988. |
|
335 * - Default: tcp_rttvar_smooth= 4 |
|
336 * - Range: [0..] |
|
337 */ |
|
338 _LIT(TCPIP_INI_TCP_RTTVAR_SMOOTH, "tcp_rttvar_smooth"); |
|
339 /** |
|
340 * G value in RTO calculation (RFC2988). |
|
341 * Constant representing clock granularity. |
|
342 * - Default: machine specific. |
|
343 * - Range: [0..] |
|
344 */ |
|
345 _LIT(TCPIP_INI_TCP_RTO_G, "tcp_rto_g"); |
|
346 /** |
|
347 * K value in RTO calculation (RFC2988). |
|
348 * K constant, RTO = SRTT + max(K * RTTVAR, G) (RFC2988) |
|
349 * - Default: tcp_rto_k= 4 |
|
350 * - Range: [0..] |
|
351 */ |
|
352 _LIT(TCPIP_INI_TCP_RTO_K, "tcp_rto_k"); |
|
353 /** |
|
354 * Maximum retransmit burst size |
|
355 * - Default: tcp_max_burst= 2 |
|
356 * - Range: [1..] |
|
357 */ |
|
358 _LIT(TCPIP_INI_TCP_MAX_BURST, "tcp_max_burst"); |
|
359 /** |
|
360 * Delayed acknowledgement delay time (ms). |
|
361 * - Default: tcp_ack_delay= 200 |
|
362 * - Range: [0..] |
|
363 */ |
|
364 _LIT(TCPIP_INI_TCP_ACK_DELAY, "tcp_ack_delay"); |
|
365 /** |
|
366 * Number of retransmissions per connect() attempt. |
|
367 * - Default: tcp_syn_retries= 5 |
|
368 * - Range: [0..] |
|
369 */ |
|
370 _LIT(TCPIP_INI_TCP_SYN_RETRIES, "tcp_syn_retries"); |
|
371 /** |
|
372 * Number of retransmissions before black hole diagnostics. |
|
373 * Maximum retries before MTU reduction. |
|
374 * - Default: tcp_retries1= 3 |
|
375 * - Range: [0..] |
|
376 */ |
|
377 _LIT(TCPIP_INI_TCP_RETRIES1, "tcp_retries1"); |
|
378 /** |
|
379 * Maximum number of retransmissions. |
|
380 * - Default: tcp_retries2= 12 |
|
381 * - Range: [0..] |
|
382 */ |
|
383 _LIT(TCPIP_INI_TCP_RETRIES2, "tcp_retries2"); |
|
384 /** |
|
385 * MSL2 timeout (ms). |
|
386 * TIME-WAIT & FIN-WAIT timeout. |
|
387 * - Default: tcp_msl2= 60000 |
|
388 * - Range: [0..] |
|
389 */ |
|
390 _LIT(TCPIP_INI_TCP_MSL2, "tcp_msl2"); |
|
391 /** |
|
392 * Large initial window (RFC2414). |
|
393 * Set initial cwnd according to RFC2414 |
|
394 * - Default: .tcp_rfc2414= 1 |
|
395 * - Range: 1=enable, 0=disable. |
|
396 */ |
|
397 _LIT(TCPIP_INI_TCP_RFC2414, "tcp_rfc2414"); |
|
398 /** |
|
399 * Initial congestion window size (segments) when RFC2414 is disabled. |
|
400 * - Default: tcp_initial_cwnd= 2 |
|
401 * - Range: [1..] |
|
402 */ |
|
403 _LIT(TCPIP_INI_TCP_INITIAL_CWND, "tcp_initial_cwnd"); |
|
404 /** |
|
405 * TCP timestamps (RFC1323). |
|
406 * - Default: tcp_timestamps= 1 |
|
407 * - Range: 1=enable, 0=disable |
|
408 */ |
|
409 _LIT(TCPIP_INI_TCP_TIMESTAMPS, "tcp_timestamps"); |
|
410 /** |
|
411 * Enable selective acknowledgements (RFC2018). |
|
412 * - Default: tcp_sack= 1 |
|
413 * - Range: 1=enable, 0=disable |
|
414 */ |
|
415 _LIT(TCPIP_INI_TCP_SACK, "tcp_sack"); |
|
416 /** |
|
417 * Apply TIME-WAIT state also to local connections. |
|
418 * - Default: tcp_local_timewait= 0 |
|
419 * - Range: 1=enable, 0=disable |
|
420 */ |
|
421 _LIT(TCPIP_INI_TCP_LOCAL_TIMEWAIT, "tcp_local_timewait"); |
|
422 /** |
|
423 * Typical degree of packet reordering in the network. |
|
424 * - Default: tcp_reordering= 3 |
|
425 * - Range: [0..] |
|
426 */ |
|
427 _LIT(TCPIP_INI_TCP_REORDERING, "tcp_reordering"); |
|
428 /** |
|
429 * Variant of the nagle algorithm. |
|
430 * - Default: tcp_strict_nagle= 0 |
|
431 * - Range: 0 = modern, 1 = strict |
|
432 */ |
|
433 _LIT(TCPIP_INI_TCP_STRICT_NAGLE, "tcp_strict_nagle"); |
|
434 /** |
|
435 * Limited transmit window size in segments (RFC3042). |
|
436 * - Default: tcp_ltx_window= 2 |
|
437 * - Range: 0=disable, [1..] |
|
438 */ |
|
439 _LIT(TCPIP_INI_TCP_LTX_WINDOW, "tcp_ltx_window"); |
|
440 /** |
|
441 * Zero window probe style. |
|
442 * - Default: tcp_probe_style= 0 |
|
443 * - Range: |
|
444 * - 0 = probe with a single byte (standard) |
|
445 * - 1 = probe with a full segment (BSD) |
|
446 * - 2 = probe with an out-of-window acknowledgement (experimental) |
|
447 */ |
|
448 _LIT(TCPIP_INI_TCP_PROBE_STYLE, "tcp_probe_style"); |
|
449 /** |
|
450 * Acknowledge pushed segments immediately. |
|
451 * |
|
452 * - Default: ? |
|
453 * - Range: ? |
|
454 */ |
|
455 _LIT(TCPIP_INI_TCP_PUSH_ACK, "tcp_push_ack"); |
|
456 /** |
|
457 * F-RTO, also disables timestamp spike detection. |
|
458 * |
|
459 * If enabled, the TCP sender tries to probe with new previously |
|
460 * unsent data segments after an RTO whether the RTO was spurious. |
|
461 * If the RTO is detected spurious, the sender continues by sending |
|
462 * new data instead of retransmitting. |
|
463 * - Default: tcp_frto= 0 |
|
464 * - Range: 1 = enable, 0 = disable |
|
465 */ |
|
466 _LIT(TCPIP_INI_TCP_FRTO, "tcp_frto"); |
|
467 /** |
|
468 * Send DSACKs for out-of-order segments. |
|
469 * If enabled, send DSACKs in acknowledgements when receiving |
|
470 * duplicate segments (RFC 2883). The data sender behaviour is |
|
471 * not modified. |
|
472 * - Default: tcp_dsack= 1 |
|
473 * - Range: 1 = enable, 0 = disable |
|
474 */ |
|
475 _LIT(TCPIP_INI_TCP_DSACK, "tcp_dsack"); |
|
476 /** |
|
477 * Interval between keepalive probes. |
|
478 * Delay for sending a TCP Keep-Alive probe after the connection |
|
479 * has become idle (seconds). This is also the interval between |
|
480 * succesful, replied keepalive probes. |
|
481 * - Default: tcp_keepalive_intv= 7200 (= 2h) |
|
482 * - Range: [0..] |
|
483 */ |
|
484 _LIT(TCPIP_INI_TCP_KEEPALIVE_INTV, "tcp_keepalive_intv"); |
|
485 /** |
|
486 * Number of unreplied probes before quitting. |
|
487 * Number of unreplied TCP Keep-Alive probes to send |
|
488 * before the sender gives up and terminates the connection. |
|
489 * - Default: tcp_num_keepalives= 8 |
|
490 * - Range: [1..] |
|
491 */ |
|
492 _LIT(TCPIP_INI_TCP_NUM_KEEPALIVES, "tcp_num_keepalives"); |
|
493 /** |
|
494 * Interval between keepalive rexmits |
|
495 * Interval between consecutive retransmissions of a Keep-Alive |
|
496 * probe if there has been no response from the other end (seconds). |
|
497 * - Default: tcp_keepalive_rxmt= 75 |
|
498 * - Range: [0..1800] |
|
499 */ |
|
500 _LIT(TCPIP_INI_TCP_KEEPALIVE_RXMT, "tcp_keepalive_rxmt"); |
|
501 |
|
502 /** |
|
503 * Number of FIN retransmissions before socket is excluded from route flow count. |
|
504 * After the FIN persistency limit is exceeded, link layer and TCP/IP stack is given permission |
|
505 * to go down if no one else uses them. |
|
506 * Value 0 means that socket is included in the interface flow count until it is really closed, |
|
507 * i.e. in TIME_WAIT state. |
|
508 * - Default: tcp_fin_persistency= 2 |
|
509 * - Range: [0..tcp_retries2] |
|
510 */ |
|
511 _LIT(TCPIP_INI_TCP_FIN_PERSISTENCY, "tcp_fin_persistency"); |
|
512 |
|
513 /** |
|
514 Determines how to set congestion control parameters after spurious RTO. |
|
515 1 = Eifel response (revert ssthresh and cwnd). |
|
516 2 = Half congestion window and ssthresh. |
|
517 3 = Set cwnd to 1 but revert ssthresh (Early versions of DCLOR). |
|
518 |
|
519 - Default: tcp_spurious_rto_response= 1 |
|
520 - Range: [1..3] |
|
521 */ |
|
522 _LIT(TCPIP_INI_TCP_SPURIOUS_RTO_RESPONSE, "tcp_spurious_rto_response"); |
|
523 |
|
524 /** |
|
525 * ECN. |
|
526 * Toggles Explicit Congestion Notification [RFC3168] on and off. |
|
527 * Two alternatives of ECN are available: when parameter value is 1 |
|
528 * the host uses ECN capable bit ECT(1). When value is 2, the host |
|
529 * uses ECN capable bit ECT(0). Of these two, value 2 is recommended, |
|
530 * because some older network nodes may not recognize ECT(1) bit. |
|
531 * - Default: tcp_ecn= 0 |
|
532 * - Range: 0= disabled, 1 & 2 = enabled) |
|
533 */ |
|
534 _LIT(TCPIP_INI_TCP_ECN, "tcp_ecn"); |
|
535 |
|
536 /** |
|
537 TCP Option alignment toggle. |
|
538 If set to 1, TCP options are aligned on 32-bit boundaries using the NOP option. |
|
539 - Default: tcp_alignopt= 0 |
|
540 - Range: 0, 1 |
|
541 */ |
|
542 _LIT(TCPIP_INI_TCP_ALIGNOPT, "tcp_alignopt"); |
|
543 |
|
544 /** |
|
545 * TCP Window scaling option. |
|
546 * Controls TCP window scaling option [RFC 1323]. -1 means window scaling |
|
547 * is disabled. 0 means that window scaling capability is advertised in TCP |
|
548 * handshake and the advertised window scale factor is determined based on |
|
549 * the available receive window. Values 1 to 6 mean that window scaling is |
|
550 * advertised on TCP handshake, but the given scale factor is always used |
|
551 * in advertisement regardless of the receive window size. |
|
552 * |
|
553 * - Default: tcp_winscale= 0 |
|
554 * - Range: [-1..6] |
|
555 */ |
|
556 _LIT(TCPIP_INI_TCP_WINSCALE, "tcp_winscale"); |
|
557 /** @} */ |
|
558 |
|
559 /** |
|
560 * @name UDP parameters |
|
561 * @{ |
|
562 */ |
|
563 /** The section name <tt>[udp]</tt>. */ |
|
564 _LIT(TCPIP_INI_UDP, "udp"); |
|
565 /** |
|
566 * Causes UDP send to block on interface setup. |
|
567 * Block UDP send while waiting for network interface setup. |
|
568 * - Default: udp_wait_nif= 1 |
|
569 * - Range: 1 = enable, 0=disable (1 is conformant with old Symbian IPv4 stack) |
|
570 */ |
|
571 _LIT(TCPIP_INI_UDP_WAIT_NIF, "udp_wait_nif"); |
|
572 /** |
|
573 * Maximum inbound bytes queued by UDP. |
|
574 * UDP receive queue size (octets, including header). Received packets will be |
|
575 * discarded if receive queue is full. The queue will always hold at least one |
|
576 * packet, regardles of packet size. |
|
577 * - Default: udp_recv_buf= 8192 |
|
578 * - Range: [0..655535] |
|
579 */ |
|
580 _LIT(TCPIP_INI_UDP_RECV_BUF, "udp_recv_buf"); |
|
581 /** @} */ |
|
582 |
|
583 /** |
|
584 * @name Generic network group options. |
|
585 * For sections [ip6], [ip], [icmp] and [icmp6]. |
|
586 * The section name is the protocol name.. |
|
587 * @{ |
|
588 */ |
|
589 /** |
|
590 * Maximum inbound bytes queued. |
|
591 * |
|
592 * Maximum inbound bytes queued by ip6, ip, icmp or icmp6 |
|
593 * socket (SAP). |
|
594 * |
|
595 * The test at arrival of new packet goes as follows: |
|
596 * - if already queued packets exceed the limit, packet is dropped |
|
597 * - if already queued packets do not exceed the limit, packet is |
|
598 * queued (even if doing so puts the queue over the limit) |
|
599 * |
|
600 * From above, some useful special cases follow: |
|
601 * |
|
602 * - Zero limits queue to single packet at time. Incoming |
|
603 * packets are dropped until application reads the queued |
|
604 * packet. |
|
605 * |
|
606 * - Negative value, nothing is queued and no data can be |
|
607 * received via this socket (SAP). |
|
608 * |
|
609 * Default value: 8192 |
|
610 */ |
|
611 _LIT(TCPIP_INI_RECV_BUF, "recv_buf"); |
|
612 /** @} */ |
|
613 |
|
614 /** |
|
615 * @name Hostname section |
|
616 * |
|
617 * @{ |
|
618 */ |
|
619 /** The section name <tt>[host]</tt> */ |
|
620 _LIT(TCPIP_INI_HOST, "host"); |
|
621 /** |
|
622 * The host name. |
|
623 * The default value returned by RHostResolver::GetHostName(), |
|
624 * if no SetHostName() has been issued. |
|
625 * |
|
626 * - Default: <tt>hostname= localhost</tt>. |
|
627 */ |
|
628 _LIT(TCPIP_INI_HOSTNAME, "hostname"); |
|
629 /** @} */ |
|
630 |
|
631 /** |
|
632 * @name Hook ordering options |
|
633 * |
|
634 * The ordering of outbound flowhooks, outbound and inbound posthooks |
|
635 * '*' indicates "position" of all hooks that don't match the specific |
|
636 * listed names. |
|
637 * |
|
638 * @note |
|
639 * The options are only examined when a protocol binds to the stack. |
|
640 * The control affects the bind only if the name matches exactly |
|
641 * (case sensitive). The options can include protocol names that are |
|
642 * not installed in the system (there is no harm, as it doesn't match |
|
643 * any protocol). |
|
644 * @{ |
|
645 */ |
|
646 /** The section name <tt>[hook]</tt> */ |
|
647 _LIT(TCPIP_INI_HOOK, "hook"); |
|
648 /** |
|
649 * Controls ordering of the outbound flow hooks. |
|
650 * For example, <tt>hook_flow= ipsec,mip6,*,foobar</tt> says that <tt>ipsec</tt> |
|
651 * hook will be run first, then <tt>mip6</tt>, and <tt>foobar</tt> will be the last. |
|
652 * All other hooks (matched by "*" are run between <tt>mip6</tt> and <tt>foobar</tt>. |
|
653 * If the "*" is missing, it is implicitly assumed to be at the end of the string. |
|
654 */ |
|
655 _LIT(TCPIP_INI_HOOK_FLOW, "hook_flow"); |
|
656 /** |
|
657 * Controls ordering of the inbound protocol hooks. |
|
658 * For example, <tt>hook_any= ipsec,*,foobar</tt> says that <tt>ipsec</tt> |
|
659 * hook will be run first, and <tt>foobar</tt> will be the last. This can |
|
660 * be useful, if <tt>foobar</tt> is a protocol that wants to handle only |
|
661 * packets that have been verified by the IPSEC. |
|
662 */ |
|
663 _LIT(TCPIP_INI_HOOK_INANY, "hook_inany"); |
|
664 /** |
|
665 * Controls the ordering of outbound post-processing hooks. |
|
666 * For example, <tt>hook_outbound= *,probe,qos</tt> says that last two |
|
667 * post-processors before NIF are <tt>probe</tt> and <tt>qos</tt> in this order. |
|
668 * Any other post-processor will be run before them. If the "*" is missing, |
|
669 * it is implicitly assumed to be at the end of the string. |
|
670 */ |
|
671 _LIT(TCPIP_INI_HOOK_OUTBOUND, "hook_outbound"); |
|
672 /** |
|
673 * Controls the ordering of inbound pre-processing hooks. |
|
674 * For example, <tt>hook_inbound= probe</tt> says that packet from the NIF |
|
675 * is given first to <tt>probe</tt>, and to other possible pre-processors after it. |
|
676 * If the "*" is missing, it is implicitly assumed to be at the end of the string. |
|
677 */ |
|
678 _LIT(TCPIP_INI_HOOK_INBOUND, "hook_inbound"); |
|
679 /** |
|
680 * Controls the ordering of packet forwarding hooks. |
|
681 * Usage is similar to the above examples. |
|
682 */ |
|
683 _LIT(TCPIP_INI_HOOK_FORWARD, "hook_forward"); |
|
684 /** @} */ |
|
685 |
|
686 /** |
|
687 * @name Compile time default values |
|
688 * |
|
689 * Many TCPIP.INI file parameters will have a hard coded default, |
|
690 * if the value is not specified in the ini file. Some of the |
|
691 * default constants are defined below. |
|
692 * |
|
693 * The name of the constant is generated directly from the string |
|
694 * literal name according to the following template |
|
695 * <tt> |
|
696 * TCPIP_INI_PARAMETER_NAME => KTcpipIni_ParameterName |
|
697 * </tt> |
|
698 * @{ |
|
699 */ |
|
700 /** <tt>frag_count= 10</tt> */ |
|
701 const TInt KTcpipIni_FragCount = 10; // [0..maxint] |
|
702 /** <tt>frag_total= 30000</tt> */ |
|
703 const TInt KTcpipIni_FragTotal = 30000; // [0..maxint] |
|
704 /** <tt>maxttl= 69</tt> */ |
|
705 const TInt KTcpipIni_Maxttl = 69; // [1..255] |
|
706 /** <tt>linklocalttl= 1</tt> */ |
|
707 const TInt KTcpipIni_LinkLocalttl = 1; // [-1,,255] |
|
708 /** <tt>maxdials= 1</tt> */ |
|
709 const TInt KTcpipIni_Maxdials = 1; // [0..maxint] |
|
710 /** <tt>forward= 0</tt> */ |
|
711 const TInt KTcpipIni_Forward = 0; // [0..1] |
|
712 /** <tt>ipv4linklocal= 0</tt> */ |
|
713 const TInt KTcpipIni_Ipv4Linklocal = 0; // [0..1] |
|
714 /** <tt>probeaddress= 0</tt> */ |
|
715 const TInt KTcpipIni_ProbeAddress = 0; // [0..1] |
|
716 /** <tt>nodefendid= 0</tt> */ |
|
717 const TInt KTcpipIni_NoDefendId = 0; // [0..1] |
|
718 /** <tt>noiferror= 0</tt> */ |
|
719 const TInt KTcpipIni_Noiferror = 0; // [0..1] |
|
720 /** <tt>maxholdtime= 60</tt> */ |
|
721 const TInt KTcpipIni_Maxholdtime = 60; // [0..maxint] |
|
722 /** <tt>icmp_limit= 10</tt> */ |
|
723 const TInt KTcpipIni_IcmpLimit = 30; // [0..maxint] |
|
724 |
|
725 /** <tt>timeoutpriority= 12</tt>. |
|
726 * Hardcoded for now. No tcpip.ini parameter yet. This |
|
727 * defines the CActive priority used by the interface |
|
728 * manager for it's internal CTimeoutManager. |
|
729 */ |
|
730 const TInt KTcpipIni_TimeoutPriority = 12; |
|
731 /** <tt>keepinterfaceup= 1</tt> */ |
|
732 const TInt KTcpipIni_KeepInterfaceUp = 1; // [0..1] |
|
733 /** <tt>shutdowndelay= 10</tt> */ |
|
734 const TInt KTcpipIni_ShutdownDelay = 10; // [0..maxint] (0=no delay) |
|
735 /** <tt>hostname= localhost</tt> */ |
|
736 _LIT(KTcpipIni_Hostname, "localhost"); // default host name |
|
737 /** @} */ |
|
738 |
|
739 /** @} */ |
|
740 |
|
741 #endif |