source: EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/tinet_target_config.h@ 270

Last change on this file since 270 was 270, checked in by coas-nagasima, 7 years ago

mruby版ECNLプロトタイピング・ツールを追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-chdr
File size: 15.9 KB
Line 
1/*
2 * TINET (TCP/IP Protocol Stack)
3 *
4 * Copyright (C) 2001-2009 by Dep. of Computer Science and Engineering
5 * Tomakomai National College of Technology, JAPAN
6 *
7 * 上記著作権者
8は,以下の (1)~(4) の条件か,Free Software Foundation
9 * によってå…
10¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
11 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
12 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
13å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
14 * 利用と呼ぶ)することを無償で許諾する.
15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
17 * スコード中に含まれていること.
18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
19 * 用できる形で再é…
20å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
21å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
22 * 者
23マニュアルなど)に,上記の著作権表示,この利用条件および下記
24 * の無保証規定を掲載すること.
25 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
26 * 用できない形で再é…
27å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®æ¡ä»¶ã‚’満たすこと.
28 * (a) 再é…
29å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
30マニュアルなど)に,上記の著
31 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
32 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
33 * 害からも,上記著作権者
34およびTOPPERSプロジェクトをå…
35è²¬ã™ã‚‹ã“と.
36 *
37 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
38お
39 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
40 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
41 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
42 *
43 * @(#) $Id: tinet_target_config.h 270 2017-02-09 04:03:47Z coas-nagasima $
44 */
45
46#ifndef _TINET_TARGET_CONFIG_H_
47#define _TINET_TARGET_CONFIG_H_
48
49/*
50 * TCP/IP に関する定義
51 */
52
53/* TCP に関する定義 */
54
55/*
56 * MAX_TCP_SND_SEG: 送信セグメントサイズの最大値
57 *
58 * 相手から MSS オプションでセグメントサイズを指定されても、
59 * この値で、セグメントサイズを制限できる。
60 */
61
62#ifndef MAX_TCP_SND_SEG
63#define MAX_TCP_SND_SEG (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
64#endif /* of #ifndef MAX_TCP_SND_SEG */
65
66/*
67 * DEF_TCP_RCV_SEG: 受信セグメントサイズの規定値
68 */
69
70#ifndef DEF_TCP_RCV_SEG
71#define DEF_TCP_RCV_SEG (IF_MTU - (IP_HDR_SIZE + TCP_HDR_SIZE))
72#endif /* of #ifndef DEF_TCP_RCV_SEG */
73
74/*
75 * セグメントの順番をå…
76¥ã‚Œæ›¿ãˆã‚‹ã¨ãã«æ–°ãŸã«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒƒãƒ•ã‚¡ã‚’割当てて、
77 * データをコピーするサイズのしきい値
78 */
79#define MAX_TCP_REALLOC_SIZE 1024
80
81#define TCP_CFG_OPT_MSS /* コネクション開設時に、セグメントサイズオプションをつけて送信する。*/
82#define TCP_CFG_DELAY_ACK /* ACK を遅
83らせるときはコメントを外す。 */
84#define TCP_CFG_ALWAYS_KEEP /* 常にキープアライブする時はコメントを外す。 */
85
86/* UDP に関する定義 */
87
88#define UDP_CFG_IN_CHECKSUM /* UDP のå…
89¥åŠ›ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’行う場合はコメントを外す。 */
90#define UDP_CFG_OUT_CHECKSUM /* UDP の出力チェックサムを行う場合はコメントを外す。 */
91
92/* ICMPv4/v6 に関する定義 */
93
94#define ICMP_REPLY_ERROR /* ICMP エラーメッセージを送信する場合はコメントを外す。*/
95
96/* IPv4 に関する定義 */
97
98#define IP4_CFG_FRAGMENT /* データグラムの分割・再構成行う場合はコメントを外す。 */
99#define NUM_IP4_FRAG_QUEUE 2 /* データグラム再構成キューサイズ */
100#define IP4_CFG_FRAG_REASSM_SIZE 4096 /* IPv4 再構成バッファサイズ */
101
102/* IPv6 に関する定義 */
103
104#define NUM_IP6_DAD_COUNT 1 /* 重複アドレス検出で送信する近隣要請の回数、 */
105 /* 0 を指定すると、重複アドレス検出を行わない。 */
106#define NUM_ND6_CACHE_ENTRY 10 /* 近隣キャッシュのエントリ数 */
107
108/*
109 * IPv6 用ホストキャッシュのエントリ数。
110 * 0 を指定するとIPv6 用ホストキャッシュを組込まない。
111 */
112#define NUM_IN6_HOSTCACHE_ENTRY 4
113
114#ifdef SUPPORT_ETHER
115
116#define IP6_CFG_AUTO_LINKLOCAL /* リンクローカルアドレスの自動設定を行う場合はコメントを外す。*/
117
118/*
119 * ディフォルトルータリストに関する定義
120 */
121
122/*
123 * ディフォルトルータリストのエントリ数。
124 * 最大値は 16、0 を指定するとルータ通知を受信しない。
125 */
126#define NUM_ND6_DEF_RTR_ENTRY 4
127
128/*
129 * プレフィックスリストに関する定義。
130 * 最大値は 16。
131 */
132#define NUM_ND6_PREFIX_ENTRY 4 /* プレフィックスリストのエントリ数 */
133
134/*
135 * 起動時のルータ要請出力回数。
136 * 0 を指定するとルータ要請を出力しない。
137 */
138#define NUM_ND6_RTR_SOL_RETRY 3
139
140#define IP6_CFG_FRAGMENT /* データグラムの分割・再構成行う場合はコメントを外す。 */
141#define NUM_IP6_FRAG_QUEUE 2 /* データグラム再構成キューサイズ */
142#define IP6_CFG_FRAG_REASSM_SIZE 4096 /* IPv6 再構成バッファサイズ */
143
144#endif /* of #ifdef SUPPORT_ETHER */
145
146/*
147 * データリンク層 (ネットワークインタフェース) に関する定義
148 */
149
150/*
151 * PPP、モデムに関する定義
152 */
153
154#define MODEM_CFG_DIAL "ATD" /* ダイアルコマンド文字列 */
155#define MODEM_CFG_RETRY_CNT 3 /* ダイアルリトライ回数 */
156#define MODEM_CFG_RETRY_WAIT 10000 /* ダイアルリトライまでの待
157ち時間 [ms] */
158
159/*
160 * PPP、HDLC に関する定義
161 */
162
163#define DEF_LOCAL_ACCM ULONG_C(0x000a0000) /* 自分の ACCM、XON と XOFF のみ変換 */
164#define DEF_REMOTE_ACCM ULONG_C(0xffffffff) /* 相手の ACCM、初期値はå…
165¨ã¦å¤‰æ› */
166
167/*
168 * PPP、LCP に関する定義
169 */
170
171#define LCP_CFG_MRU UINT_C(0x0001) /* MRU */
172#define LCP_CFG_ACCM UINT_C(0x0002) /* ACCM */
173#define LCP_CFG_MAGIC UINT_C(0x0004) /* マジック番号 */
174#define LCP_CFG_PCOMP UINT_C(0x0008) /* プロトコル部圧縮機能 */
175#define LCP_CFG_ACCOMP UINT_C(0x0010) /* アドレス・制御部圧縮 */
176#define LCP_CFG_PAP UINT_C(0x0020) /* PAP */
177/*#define LCP_CFG_CHAP UINT_C(0x0040) CHAP は実装
178予定 */
179
180#ifdef LCP_CFG_MAGIC
181
182#define LCP_ECHO_INTERVAL (20*NET_TIMER_HZ) /* インターバル時間 */
183#define LCP_ECHO_FAILS 9 /* 失敗閾値 */
184
185#endif /* of #ifdef LCP_CFG_MAGIC */
186
187/*
188 * PPP、PAP に関する定義
189 */
190
191#define DEF_PAP_TIMEOUT (3*NET_TIMER_HZ)
192#define DEF_PAP_REQTIME (30*NET_TIMER_HZ) /* タイムアウト処理を行うときはコメントを外す。*/
193#define MAX_PAP_REXMT 10 /* 認証要求の最大再送回数 */
194
195/*
196 * MBED Ethernet Controler に関する定義
197 */
198
199#define NUM_IF_MBED_TXBUF NUM_OF_TX_DESCRIPTOR /* 送信バッファ数 */
200#define NUM_IF_MBED_RXBUF NUM_OF_RX_DESCRIPTOR /* 受信バッファ数 */
201
202#define TMO_IF_MBED_GET_NET_BUF 1000 /* [ms]、受信用 net_buf 獲得タイムアウト */
203 /* [s]、 送信タイムアウト */
204#define TMO_IF_MBED_XMIT (2*IF_TIMER_HZ)
205
206/*#define IF_MBED_CFG_ACCEPT_ALL マルチキャスト、エラーフレームも受信するときはコメントを外す。*/
207
208/*
209 * イーサネット出力時に、NIC で net_buf を開放する場合に指定する。
210 *
211 * 注意: 以下の指定は、指定例であり、if_mbed では、
212 * 開放しないので、以下のコメントを外してはならない。
213 */
214
215/*#define ETHER_NIC_CFG_RELEASE_NET_BUF*/
216
217/*
218 * MBED Ethernet Controler に関する定義
219 */
220
221#define INHNO_IF_MBED ETHERI_IRQn /* IRQ5 */
222#define INTNO_IF_MBED ETHERI_IRQn /* IRQ5 */
223#define INTATR_IF_MBED (TA_NULL) /* 割込み属性 */
224#define INTPRI_IF_MBED (-1) /* 割込み優å…
225ˆåº¦ */
226
227/*
228 * ARP に関する定義
229 */
230
231#define NUM_ARP_ENTRY 10 /* ARP キャッシュエントリ数 */
232
233/*
234 * DHCP に関する定義
235 *
236 * ・注意: TINET は、DHCP を実装
237していない。応用プログラムで、
238 * DHCP メッセージを受信するための定義である。
239 * また、現在は IPv4 のみ有効である。
240 */
241
242/*#define DHCP_CFG DHCP を処理する場合はコメントを外す。*/
243
244/*
245 * Ethernet に関する定義
246 */
247
248/*#define ETHER_CFG_ACCEPT_ALL マルチキャスト、エラーフレームも受信するときはコメントを外す。 */
249/*#define ETHER_CFG_UNEXP_WARNING 非サポートフレームの警告を表示するときはコメントを外す。 */
250/*#define ETHER_CFG_802_WARNING IEEE 802.3 フレームの警告を表示するときはコメントを外す。 */
251/*#define ETHER_CFG_MCAST_WARNING マルチキャストの警告を表示するときはコメントを外す。 */
252#define ETHER_CFG_MULTICAST /* マルチキャストを送受信 */
253
254/*
255 * アドレスリストに関する定義。
256 */
257#define NUM_IN6_IFADDR_ENTRY 5 /* インタフェースのアドレスリストのエントリ数 */
258
259/*
260 * 汎用ネットワークに関する定義
261 */
262
263/*
264 * ネットワークバッファに関する定義
265 */
266
267/* ネットワークバッファ数 */
268
269#ifdef SUPPORT_PPP
270
271/*
272 * PPP では、受信用の ネットワークバッファは PDU (1502) サイズを常に
273 * 割り当てなければならないので PDU サイズを多めに確保する。
274 */
275
276#ifndef NUM_MPF_NET_BUF_CSEG
277#define NUM_MPF_NET_BUF_CSEG 2 /* IF + IP + TCP、2 以上*/
278#endif /* of #ifndef NUM_MPF_NET_BUF_CSEG */
279
280#ifndef NUM_MPF_NET_BUF_64
281#define NUM_MPF_NET_BUF_64 0 /* 64 オクテット */
282#endif /* of #ifndef NUM_MPF_NET_BUF_64 */
283
284#ifndef NUM_MPF_NET_BUF_128
285#define NUM_MPF_NET_BUF_128 0 /* 128 オクテット */
286#endif /* of #ifndef NUM_MPF_NET_BUF_128 */
287
288#ifndef NUM_MPF_NET_BUF_256
289#define NUM_MPF_NET_BUF_256 0 /* 256 オクテット */
290#endif /* of #ifndef NUM_MPF_NET_BUF_256 */
291
292#ifndef NUM_MPF_NET_BUF_512
293#define NUM_MPF_NET_BUF_512 0 /* 512 オクテット */
294#endif /* of #ifndef NUM_MPF_NET_BUF_512 */
295
296#ifndef NUM_MPF_NET_BUF_1024
297#define NUM_MPF_NET_BUF_1024 0 /* 1024 オクテット */
298#endif /* of #ifndef NUM_MPF_NET_BUF_1024 */
299
300#ifndef NUM_MPF_NET_BUF_IF_PDU
301#define NUM_MPF_NET_BUF_IF_PDU 2 /* IF 最大 PDU サイズ */
302#endif /* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
303
304#ifndef NUM_MPF_NET_BUF4_REASSM
305
306#if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT)
307#define NUM_MPF_NET_BUF4_REASSM 2 /* IPv4 再構成バッファサイズ */
308#else
309#define NUM_MPF_NET_BUF4_REASSM 0 /* IPv4 再構成バッファサイズ */
310#endif
311
312#endif /* of #ifndef NUM_MPF_NET_BUF4_REASSM */
313
314#ifndef NUM_MPF_NET_BUF6_REASSM
315
316#if defined(SUPPORT_INET6) && defined(IP6_CFG_FRAGMENT)
317#define NUM_MPF_NET_BUF6_REASSM 2 /* IPv6 再構成バッファサイズ */
318#else
319#define NUM_MPF_NET_BUF6_REASSM 0 /* IPv6 再構成バッファサイズ */
320#endif
321
322#endif /* of #ifndef NUM_MPF_NET_BUF6_REASSM */
323
324#endif /* of #ifdef SUPPORT_PPP */
325
326#ifdef SUPPORT_ETHER
327
328/*
329 * イーサネットの場合のネットワークバッファ数の割り当て
330 */
331
332/*
333 * 注意!!
334 *
335 * MBED Ethernet Controler のディバイスドライバ(if_mbed)の最低割当て長は
336 * 60(アラインして 62)オクテットのため IF + IP +TCP よりは
337 * 64 オクテットのネットワークバッファの方が最適である。
338 */
339
340#ifndef NUM_MPF_NET_BUF_CSEG
341#define NUM_MPF_NET_BUF_CSEG 0 /* IF + IP + TCP */
342#endif /* of #ifndef NUM_MPF_NET_BUF_CSEG */
343
344#ifndef NUM_MPF_NET_BUF_64
345#define NUM_MPF_NET_BUF_64 2 /* 64 オクテット */
346#endif /* of #ifndef NUM_MPF_NET_BUF_64 */
347
348#ifndef NUM_MPF_NET_BUF_128
349#define NUM_MPF_NET_BUF_128 0 /* 128 オクテット */
350#endif /* of #ifndef NUM_MPF_NET_BUF_128 */
351
352#ifndef NUM_MPF_NET_BUF_256
353#define NUM_MPF_NET_BUF_256 0 /* 256 オクテット */
354#endif /* of #ifndef NUM_MPF_NET_BUF_256 */
355
356#ifndef NUM_MPF_NET_BUF_512
357#define NUM_MPF_NET_BUF_512 0 /* 512 オクテット */
358#endif /* of #ifndef NUM_MPF_NET_BUF_512 */
359
360#if defined(SUPPORT_INET4)
361
362#ifndef NUM_MPF_NET_BUF_IP_MSS
363#define NUM_MPF_NET_BUF_IP_MSS 0 /* IF + 576 オクテット */
364#endif /* of #ifndef NUM_MPF_NET_BUF_IP_MSS */
365
366#endif /* of #if defined(SUPPORT_INET4) */
367
368#ifndef NUM_MPF_NET_BUF_1024
369#define NUM_MPF_NET_BUF_1024 0 /* 1024 オクテット */
370#endif /* of #ifndef NUM_MPF_NET_BUF_1024 */
371
372#if defined(SUPPORT_INET6)
373
374#ifndef NUM_MPF_NET_BUF_IPV6_MMTU
375#define NUM_MPF_NET_BUF_IPV6_MMTU 0 /* IF + 1280 */
376#endif /* of #ifndef NUM_MPF_NET_BUF_IPV6_MMTU */
377
378#endif /* of #if defined(SUPPORT_INET6) */
379
380#ifndef NUM_MPF_NET_BUF_IF_PDU
381#define NUM_MPF_NET_BUF_IF_PDU 4 /* IF 最大 PDU サイズ */
382#endif /* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
383
384#ifndef NUM_MPF_NET_BUF4_REASSM
385
386#if defined(SUPPORT_INET4) && defined(IP4_CFG_FRAGMENT)
387#define NUM_MPF_NET_BUF4_REASSM 2 /* IPv4 再構成バッファサイズ */
388#else
389#define NUM_MPF_NET_BUF4_REASSM 0 /* IPv4 再構成バッファサイズ */
390#endif
391
392#endif /* of #ifndef NUM_MPF_NET_BUF4_REASSM */
393
394#ifndef NUM_MPF_NET_BUF6_REASSM
395
396#if defined(SUPPORT_INET6) && defined(IP6_CFG_FRAGMENT)
397#define NUM_MPF_NET_BUF6_REASSM 2 /* IPv6 再構成バッファサイズ */
398#else
399#define NUM_MPF_NET_BUF6_REASSM 0 /* IPv6 再構成バッファサイズ */
400#endif
401
402#endif /* of #ifndef NUM_MPF_NET_BUF6_REASSM */
403
404#endif /* of #ifdef SUPPORT_ETHER */
405
406#ifdef SUPPORT_LOOP
407
408#ifndef NUM_MPF_NET_BUF_CSEG
409#define NUM_MPF_NET_BUF_CSEG 2 /* IF + IP + TCP */
410#endif /* of #ifndef NUM_MPF_NET_BUF_CSEG */
411
412#ifndef NUM_MPF_NET_BUF_64
413#define NUM_MPF_NET_BUF_64 0 /* 64 オクテット */
414#endif /* of #ifndef NUM_MPF_NET_BUF_64 */
415
416#ifndef NUM_MPF_NET_BUF_128
417#define NUM_MPF_NET_BUF_128 0 /* 128 オクテット、2 以上 */
418#endif /* of #ifndef NUM_MPF_NET_BUF_128 */
419
420#ifndef NUM_MPF_NET_BUF_256
421#define NUM_MPF_NET_BUF_256 0 /* 256 オクテット */
422#endif /* of #ifndef NUM_MPF_NET_BUF_256 */
423
424#ifndef NUM_MPF_NET_BUF_512
425#define NUM_MPF_NET_BUF_512 0 /* 512 オクテット */
426#endif /* of #ifndef NUM_MPF_NET_BUF_512 */
427
428#ifndef NUM_MPF_NET_BUF_1024
429#define NUM_MPF_NET_BUF_1024 0 /* 1024 オクテット */
430#endif /* of #ifndef NUM_MPF_NET_BUF_1024 */
431
432#ifndef NUM_MPF_NET_BUF_IF_PDU
433#define NUM_MPF_NET_BUF_IF_PDU 4 /* IF 最大 PDU サイズ */
434#endif /* of #ifndef NUM_MPF_NET_BUF_IF_PDU */
435
436#endif /* of #ifdef SUPPORT_PPP */
437
438/*
439 * ネットワーク統計情
440報の計測
441 *
442 * ネットワーク統計情
443報の計測を行う場合は、tinet/include/net/net.h
444 * で定義されているプロトコル識別フラグを指定する。
445 */
446
447#if 1
448
449#ifdef SUPPORT_INET4
450
451#define NET_COUNT_ENABLE (0 \
452 | PROTO_FLG_PPP_HDLC \
453 | PROTO_FLG_PPP_PAP \
454 | PROTO_FLG_PPP_LCP \
455 | PROTO_FLG_PPP_IPCP \
456 | PROTO_FLG_PPP \
457 | PROTO_FLG_LOOP \
458 | PROTO_FLG_ETHER_NIC \
459 | PROTO_FLG_ETHER \
460 | PROTO_FLG_ARP \
461 | PROTO_FLG_IP4 \
462 | PROTO_FLG_ICMP4 \
463 | PROTO_FLG_UDP \
464 | PROTO_FLG_TCP \
465 | PROTO_FLG_NET_BUF \
466 )
467
468#endif /* of #ifdef SUPPORT_INET4 */
469
470#ifdef SUPPORT_INET6
471
472#define NET_COUNT_ENABLE (0 \
473 | PROTO_FLG_PPP_HDLC \
474 | PROTO_FLG_PPP_PAP \
475 | PROTO_FLG_PPP_LCP \
476 | PROTO_FLG_PPP_IPCP \
477 | PROTO_FLG_PPP \
478 | PROTO_FLG_LOOP \
479 | PROTO_FLG_ETHER_NIC \
480 | PROTO_FLG_ETHER \
481 | PROTO_FLG_IP6 \
482 | PROTO_FLG_ICMP6 \
483 | PROTO_FLG_ND6 \
484 | PROTO_FLG_UDP \
485 | PROTO_FLG_TCP \
486 | PROTO_FLG_NET_BUF \
487 )
488
489#endif /* of #ifdef SUPPORT_INET6 */
490
491#else /* of #if 0 */
492
493#define NET_COUNT_ENABLE (0 \
494 )
495
496#endif /* of #if 0 */
497
498#ifndef TOPPERS_MACRO_ONLY
499
500/*
501 * 関数
502 */
503
504extern void mbed_bus_init (void);
505extern void mbed_inter_init (void);
506
507#endif /* of #ifndef TOPPERS_MACRO_ONLY */
508
509#endif /* _TINET_TARGET_CONFIG_H_ */
Note: See TracBrowser for help on using the repository browser.