Changeset 315 for rubycfg_asp/trunk/asp_dcre/tinet/doc/tinet_chg.txt
- Timestamp:
- Jul 23, 2017, 2:29:40 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rubycfg_asp/trunk/asp_dcre/tinet/doc/tinet_chg.txt
-
Property svn:mime-type
changed from
text/plain
totext/plane; charset=UTF-8
r313 r315 1 TINET å¤æ´ã¡ã¢ [2017/4/5] 2 3 1. ãªãªã¼ã¹ 1.5.x ãã 1.7 ã¾ã§ã®å¤æ´ 4 5 (1) IPv6/IPv4 ãã¥ã¢ã«ã¹ã¿ãã¯åãè¡ã£ãããªãªã¼ã¹ 1.7 以åã§ã¯ã 6 Makefile ã§ã ãããã¯ã¼ã¯å±¤ã®é¸æ㯠SUPPORT_INET6 㨠7 SUPPORT_INET4 ã®æå®ã¯ä½ããä¸ã¤ã®ã¿é¸æã§ãããã ãªãªã¼ã¹ 8 1.7 ãã㯠SUPPORT_INET6 㨠SUPPORT_INET4 ã®ä¸¡æ¹ãæå®ã§ãã 9 ããã«ãªã£ãã 10 11 (2) IPv6 ã«å¯¾å¿ããã¢ããªã±ã¼ã·ã§ã³ã§ IPv4 å°å½±ã¢ãã¬ã¹ãå©ç¨ãã¦ã 12 IPv4 ãã¼ã¿ã°ã©ã ãæ±ãå ´åã«æå®ããã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ 13 ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ API_CFG_IP4MAPPED_ADDR ã追å ããã 14 15 (3) IPv6/IPv4 ãã¥ã¢ã«ã¹ã¿ãã¯åã®ãããMakefile.tinet ã§ã¯ãIPv6 16 å°ç¨ã¢ã¸ã¥ã¼ã«ã¨ IPv4 å°ç¨ã¢ã¸ã¥ã¼ã«ã®åºå¥ãããã å 17 ¨ã¦ã³ã³ã 18 ã¤ã«ããããã«å¤æ´ããã 19 20 (4) IPv6/IPv4 ãã¥ã¢ã«ã¹ã¿ãã¯åã®ããã IPv6 å°ç¨ã¢ã¸ã¥ã¼ã«ã¨ 21 IPv4 å°ç¨ã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã®æå¹ã»ç¡å¹ãã½ã¼ã¹ã³ã¼ãã§è¡ 22 ãããã«å¤æ´ããã 23 24 (5) IPv6/IPv4 ãã¥ã¢ã«ã¹ã¿ãã¯å㨠IPv4 å°å½±ã¢ãã¬ã¹ã®å®è£ 25 ã®ããã 26 IPv6 å°ç¨ã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ãæå¹ã«ãããã¯ã _IP6_CFG ã¨ã 27 IPv4 å°ç¨ã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ãæå¹ã«ãããã¯ã _IP4_CFG ã 28 追å ããã以ä¸ã«è¨å®ããæ¡ä»¶ã示ãã 1 TINET 変更メモ [2017/4/5] 2 3 1. リリース 1.5.x から 1.7 までの変更 4 5 (1) IPv6/IPv4 デュアルスタック化を行った。リリース 1.7 以前では、 6 Makefile で、 ネットワーク層の選択は SUPPORT_INET6 と 7 SUPPORT_INET4 の指定は何れか一つのみ選択できたが、 リリース 8 1.7 からは SUPPORT_INET6 と SUPPORT_INET4 の両方を指定できる 9 ようになった。 10 11 (2) IPv6 に対応するアプリケーションで IPv4 射影アドレスを利用して、 12 IPv4 データグラムを扱う場合に指定するコンパイル時コンフィギュ 13 レーションパラメータ API_CFG_IP4MAPPED_ADDR を追加した。 14 15 (3) IPv6/IPv4 デュアルスタック化のため、Makefile.tinet では、IPv6 16 専用モジュールと IPv4 専用モジュールの区別をせず、 全てコンパ 17 イルするように変更した。 18 19 (4) IPv6/IPv4 デュアルスタック化のため、 IPv6 専用モジュールと 20 IPv4 専用モジュールのコンパイルの有効・無効をソースコードで行 21 うように変更した。 22 23 (5) IPv6/IPv4 デュアルスタック化と IPv4 射影アドレスの実装のため、 24 IPv6 専用モジュールのコンパイルを有効にするマクロ _IP6_CFG と、 25 IPv4 専用モジュールのコンパイルを有効にするマクロ _IP4_CFG を 26 追加した。以下に設定する条件を示す。 29 27 30 28 SUPPORT_INET6 . . ON ON ON ON … … 35 33 _IP4_CFG ON ON . ON ON ON 36 34 37 (6) çµè·¯é¸æã«é¢ããå¤æ´ã以ä¸ã«ç¤ºãã 38 39 [1] route_cfg.c ã® IPv6 ç¨ã® routing_tbl ã routing6_tbl ã« 40 å¤æ´ããã 41 [2] route_cfg.c ã® IPv4 ç¨ã® routing_tbl ã routing4_tbl ã« 42 å¤æ´ããã 43 [3] NUM_STATIC_ROUTE_ENTRY ãã IPv6 ã§ã¯ 44 NUM_IN6_STATIC_ROUTE_ENTRYã IPv4 ã§ã¯ 45 NUM_IN4_STATIC_ROUTE_ENTRY ã¨åå¥ã«å®ç¾©ããããã«å¤æ´ããã 46 [4] NUM_REDIRECT_ROUTE_ENTRY ãã IPv6 ã§ã¯ 47 NUM_IN6_REDIRECT_ROUTE_ENTRYã IPv4 ã§ã¯ 48 NUM_IN4_REDIRECT_ROUTE_ENTRY ã¨åå¥ã«å®ç¾©ããããã«å¤æ´ããã 49 50 (7) if_ed.c ã§ãåä¿¡ãããã¬ã¼ã å½¢å¼ã«é¢ããå¤æ´ã以ä¸ã«ç¤ºãã 51 52 [1] SUPPORT_INET6 㨠SUPPORT_INET4 ãæå®ããã¨ãã¯ãèªåã® 53 ä»ã«ã ããã¼ããã£ã¹ãã¨ãã«ããã£ã¹ããåä¿¡ããããã« 54 è¨å®ããã 55 [2] SUPPORT_INET6 ã®ã¿æå®ããæã¯ãèªåã®ä»ã«ã ãã«ãã㣠56 ã¹ãã®ã¿åä¿¡ããããã«è¨å®ããã 57 [3] SUPPORT_INET4 ã®ã¿æå®ããæã¯ã èªåã®ä»ã«ãããã¼ãã㣠58 ã¹ãã®ã¿åä¿¡ããããã«è¨å®ããã 59 60 (8) TCP é信端ç¹ã«é¢ããå¤æ´ã以ä¸ã«ç¤ºãã 61 62 [1] TCP é信端ç¹ã®å®ç¾©ã¯ãTINET å 63 é¨ã®å®è£ 64 ä¸ã IPv6 㨠IPv4 65 ã§åºå¥ããªãããã«å¤æ´ããã 66 [2] TCP é信端ç¹æ§é ä½ã®å¤§å 67 ã®å®ç¾©ã¯ã t_tcp_cep 㨠68 T_TCP_CEP ã§ããã 69 [3] TCP é信端ç¹æ§é ä½ã®å®ç¾©ã§ãã IPv6 ç¨ã® T_TCP6_CEP 㨠70 IPv4 ç¨ã® T_TCP4_CEP ã¯ããã¯ãã§å®ç¾©ãã¦ããã 71 [4] éç API ã® CRE6_TCP_CEP 㨠CRE_TCP_CEP ã«ãã£ã¦å®ç¾©ã 72 ã TCP é信端ç¹ã¯ãå®ç¾©ä¸å¥ã®ãªãã¸ã§ã¯ãã¨ãã¦èå¥ãã 73 ããTCP éä¿¡ç«¯ç¹ ID ã®å¤ã¯é£ç¶ãã¦å²å½ã¦ãã TCP é信端 74 ç¹ ID ã®å¤ã®å²å½ã¦é çªã以ä¸ã«ç¤ºãã 75 76 ã»IPv6 ç¨ã® TCP é信端ç¹ãå²å½ã¦ãéç API ã® 77 TCP6_CRE_CEPã 78 ã»IPv6 ç¨ã® TCP é信端ç¹ã®äºç´ ID ãå²å½ã¦ãéç API ã® 79 VRID_TCP6_CEPã 80 ã»IPv4 ç¨ã® TCP é信端ç¹ãå²å½ã¦ãéç API ã® 81 TCP_CRE_CEPã 82 ã»IPv4 ç¨ã® TCP é信端ç¹ã®äºç´ ID ãå²å½ã¦ãéç API ã® 83 VRID_TCP_CEPã 84 85 [5] TCP é信端ç¹é 86 å tcp_cep ã§ã¯ã IPv6 ç¨ã¨ IPv4 ç¨ãåºå¥ 87 ããªãããªããIPv4 ç¨ã® T_TCP4_CEP ã«ãã£ã¦å®ç¾©ãã TCP 88 é信端ç¹ã®ã¨ã³ããªã®ã¡ã³ã flagsï¼é信端ç¹ãã©ã°ã 89 netinet/tcp_var.h åç 90 §ï¼ã«ã¯ TCP_CEP_FLG_IPV4 ãä»å ããã 91 [6] TCP éä¿¡ç«¯ç¹ ID ã®æ大å¤ã表ãå¤æ° tmax_tcp_cep 㯠IPv6 92 㨠IPv4 ã®åè¨ï¼æ£ç¢ºã«ã¯ tinet_cfg.c ã®å®ç¾©ãåç 93 §ï¼ã§ã 94 ãã ã¾ãã IPv6 ç¨ã® tmax_tcp6_cep 㨠IPv4 ç¨ã® 95 tmax_tcp4_cep ã tinet_cfg.c ã«åºåããSUPPORT_INET6 㨠96 SUPPORT_INET4 ã®ä¸¡æ¹ãæå®ããå ´åã«æå¹ã«ãªãã 97 [7] TCP é信端ç¹æ°ã表ããã¯ã TNUM_TCP_CEPID ã«é¢ãã¦ã 98 IPv6 ç¨ã® TNUM_TCP6_CEPID 㨠IPv4 ç¨ã® TNUM_TCP4_CEPID 99 ã®å®ç¾©ã追å ãã tinet_cfg.hï¼TOPPERS/ASPï¼ãtinet_id.h 100 ï¼TOPPERS/JSPï¼ã«åºåããã 101 [8] 以ä¸ã® API ã§ã¯ãIPv6 ç¨ã® TCP éä¿¡ç«¯ç¹ ID 㨠IPv4 ç¨ã® 102 TCP éä¿¡ç«¯ç¹ ID ãåºå¥ãã¦æå®ããªããã°ãªããªãã ç°ãª 103 ã TCP éä¿¡ç«¯ç¹ ID ãæå®ãããå ´åã¯ãã¨ã©ã¼ E_ID ãè¿ãã 104 105 ã»tcp_acp_cep 106 ã»tcp_con_cep 107 ã»tcp6_acp_cep 108 ã»tcp6_con_cep 109 110 (9) TCP åä»å£ã«é¢ããå¤æ´ã以ä¸ã«ç¤ºãã 111 112 [1] TCP åä»å£é 113 å tcp_rep ã¯ã SUPPORT_INET6 㨠114 SUPPORT_INET4 ã®æå®ã«ããã ãã¯ãã§å®ç¾©ãã IPv6 ç¨ã® 115 tcp6_rep 㨠IPv4 ç¨ã® tcp4_rep ãåå¥ã«å²å½ã¦ãã 116 [2] TCP åä»å£ ID ã®æ大å¤ã表ãå¤æ° tmax_tcp_rep 㯠IPv6 117 㨠IPv4 ã®åè¨ï¼æ£ç¢ºã«ã¯ tinet_cfg.c ã®å®ç¾©ãåç 118 §ï¼ã§ã 119 ãã ã¾ãã IPv6 ç¨ã® tmax_tcp6_rep 㨠IPv4 ç¨ã® 120 tmax_tcp4_rep ã tinet_cfg.c ã«åºåããSUPPORT_INET6 㨠121 SUPPORT_INET4 ã®ä¸¡æ¹ãæå®ããå ´åã«æå¹ã«ãªãã ãã¯ã 122 ã§å®ç¾©ããã 123 [3] TCP é信端ç¹æ°ã表ããã¯ã TNUM_TCP_REPID ã«é¢ãã¦ã 124 IPv6 ç¨ã® TNUM_TCP6_REPID 㨠IPv4 ç¨ã® TNUM_TCP4_REPID 125 ã®å®ç¾©ã追å ãã tinet_cfg.hï¼TOPPERS/ASPï¼ãtinet_id.h 126 ï¼TOPPERS/JSPï¼ã«åºåããã ããã«ä¼´ãã 127 TCP_CFG_PASSIVE_OPEN ã®æå®ã¯ä¸è¦ã«ãªã£ãã 128 129 (10) UDP é信端ç¹ã«é¢ããå¤æ´ã以ä¸ã«ç¤ºãã 130 131 [1] UDP é信端ç¹é 132 å udp_cep ã¯ã SUPPORT_INET6 㨠133 SUPPORT_INET4 ã®æå®ã«ããã ãã¯ãã§å®ç¾©ãã IPv6 ç¨ã® 134 udp6_cep 㨠IPv4 ç¨ã® udp4_cep ãåå¥ã«å²å½ã¦ãã 135 [2] UDP éä¿¡ç«¯ç¹ ID ã®æ大å¤ã表ãå¤æ° tmax_tcp_rep 㯠IPv6 136 㨠IPv4 ã®åè¨ï¼æ£ç¢ºã«ã¯ tinet_cfg.c ã®å®ç¾©ãåç 137 §ï¼ã§ã 138 ãã ã¾ãã IPv6 ç¨ã® tmax_udp6_cep 㨠IPv4 ç¨ã® 139 tmax_udp4_cep ã tinet_cfg.c ã«åºåããSUPPORT_INET6 㨠140 SUPPORT_INET4 ã®ä¸¡æ¹ãæå®ããå ´åã«æå¹ã«ãªãã ãã¯ã 141 ã§å®ç¾©ããã 142 [3] UDP é信端ç¹æ°ã表ããã¯ã TNUM_UDP_REPID ã«é¢ãã¦ã 143 IPv6 ç¨ã® TNUM_UDP6_REPID 㨠IPv4 ç¨ã® TNUM_UDP4_REPID 144 ã®å®ç¾©ã追å ãã tinet_cfg.hï¼TOPPERS/ASPï¼ãtinet_id.h 145 ï¼TOPPERS/JSPï¼ã«åºåããã 146 [4] SEM_UDP_CEP_LOCK<n> ã«é¢ãã¦ã 147 IPv6 ç¨ã® SEM_UDP6_CEP_LOCK<n> 㨠IPv4 ç¨ã® 148 SEM_UDP4_CEP_LOCK<n> ã«å¤æ´ããã 149 [5] DTQ_UDP_RCVQ<n> ã«é¢ãã¦ã 150 IPv6 ç¨ã® DTQ_UDP6_RCVQ<n> 㨠IPv4 ç¨ã® 151 DTQ_UDP4_RCVQ<n> ã«å¤æ´ããã 152 [6] IPv6/IPv4 ãã¥ã¢ã«ã¹ã¿ãã¯åã«ä¼´ããIPv6 㨠IPv4 ã§å 153 ±é 154 ã«ä½¿ç¨ãããé¢æ°çããã¯ãã®è¨å®ã§åãæ¿ããã½ã¼ã¹ãã¡ 155 ã¤ã«ã追å ããã 以ä¸ã«ã½ã¼ã¹ãã¡ã¤ã«ã®ä¸è¦§ã示ãã 35 (6) 経路選択に関する変更を以下に示す。 36 37 [1] route_cfg.c の IPv6 用の routing_tbl を routing6_tbl に 38 変更した。 39 [2] route_cfg.c の IPv4 用の routing_tbl を routing4_tbl に 40 変更した。 41 [3] NUM_STATIC_ROUTE_ENTRY を、 IPv6 では 42 NUM_IN6_STATIC_ROUTE_ENTRY、 IPv4 では 43 NUM_IN4_STATIC_ROUTE_ENTRY と個別に定義するように変更した。 44 [4] NUM_REDIRECT_ROUTE_ENTRY を、 IPv6 では 45 NUM_IN6_REDIRECT_ROUTE_ENTRY、 IPv4 では 46 NUM_IN4_REDIRECT_ROUTE_ENTRY と個別に定義するように変更した。 47 48 (7) if_ed.c で、受信するフレーム形式に関する変更を以下に示す。 49 50 [1] SUPPORT_INET6 と SUPPORT_INET4 を指定したときは、自分の 51 他に、 ブロードキャストとマルチキャストを受信するように 52 設定する。 53 [2] SUPPORT_INET6 のみ指定した時は、自分の他に、 マルチキャ 54 ストのみ受信するように設定する。 55 [3] SUPPORT_INET4 のみ指定した時は、 自分の他に、ブロードキャ 56 ストのみ受信するように設定する。 57 58 (8) TCP 通信端点に関する変更を以下に示す。 59 60 [1] TCP 通信端点の定義は、TINET 内部の実装上、 IPv6 と IPv4 61 で区別しないように変更した。 62 [2] TCP 通信端点構造体の大元の定義は、 t_tcp_cep と 63 T_TCP_CEP である。 64 [3] TCP 通信端点構造体の定義である IPv6 用の T_TCP6_CEP と 65 IPv4 用の T_TCP4_CEP は、マクロで定義している。 66 [4] 静的 API の CRE6_TCP_CEP と CRE_TCP_CEP によって定義す 67 る TCP 通信端点は、定義上別のオブジェクトとして識別する 68 が、TCP 通信端点 ID の値は連続して割当てる。 TCP 通信端 69 点 ID の値の割当て順番を以下に示す。 70 71 ・IPv6 用の TCP 通信端点を割当てる静的 API の 72 TCP6_CRE_CEP。 73 ・IPv6 用の TCP 通信端点の予約 ID を割当てる静的 API の 74 VRID_TCP6_CEP。 75 ・IPv4 用の TCP 通信端点を割当てる静的 API の 76 TCP_CRE_CEP。 77 ・IPv4 用の TCP 通信端点の予約 ID を割当てる静的 API の 78 VRID_TCP_CEP。 79 80 [5] TCP 通信端点配列 tcp_cep では、 IPv6 用と IPv4 用を区別 81 しない。なお、IPv4 用の T_TCP4_CEP によって定義する TCP 82 通信端点のエントリのメンバ flags(通信端点フラグ、 83 netinet/tcp_var.h 参照)には TCP_CEP_FLG_IPV4 を付加する。 84 [6] TCP 通信端点 ID の最大値を表す変数 tmax_tcp_cep は IPv6 85 と IPv4 の合計(正確には tinet_cfg.c の定義を参照)であ 86 る。 また、 IPv6 用の tmax_tcp6_cep と IPv4 用の 87 tmax_tcp4_cep も tinet_cfg.c に出力し、SUPPORT_INET6 と 88 SUPPORT_INET4 の両方を指定した場合に有効になる。 89 [7] TCP 通信端点数を表すマクロ TNUM_TCP_CEPID に関して、 90 IPv6 用の TNUM_TCP6_CEPID と IPv4 用の TNUM_TCP4_CEPID 91 の定義も追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h 92 (TOPPERS/JSP)に出力する。 93 [8] 以下の API では、IPv6 用の TCP 通信端点 ID と IPv4 用の 94 TCP 通信端点 ID を区別して指定しなければならない。 異な 95 る TCP 通信端点 ID が指定された場合は、エラー E_ID を返す。 96 97 ・tcp_acp_cep 98 ・tcp_con_cep 99 ・tcp6_acp_cep 100 ・tcp6_con_cep 101 102 (9) TCP 受付口に関する変更を以下に示す。 103 104 [1] TCP 受付口配列 tcp_rep は、 SUPPORT_INET6 と 105 SUPPORT_INET4 の指定により、 マクロで定義し、 IPv6 用の 106 tcp6_rep と IPv4 用の tcp4_rep を個別に割当てる。 107 [2] TCP 受付口 ID の最大値を表す変数 tmax_tcp_rep は IPv6 108 と IPv4 の合計(正確には tinet_cfg.c の定義を参照)であ 109 る。 また、 IPv6 用の tmax_tcp6_rep と IPv4 用の 110 tmax_tcp4_rep も tinet_cfg.c に出力し、SUPPORT_INET6 と 111 SUPPORT_INET4 の両方を指定した場合に有効になる。 マクロ 112 で定義する。 113 [3] TCP 通信端点数を表すマクロ TNUM_TCP_REPID に関して、 114 IPv6 用の TNUM_TCP6_REPID と IPv4 用の TNUM_TCP4_REPID 115 の定義も追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h 116 (TOPPERS/JSP)に出力する。 これに伴い、 117 TCP_CFG_PASSIVE_OPEN の指定は不要になった。 118 119 (10) UDP 通信端点に関する変更を以下に示す。 120 121 [1] UDP 通信端点配列 udp_cep は、 SUPPORT_INET6 と 122 SUPPORT_INET4 の指定により、 マクロで定義し、 IPv6 用の 123 udp6_cep と IPv4 用の udp4_cep を個別に割当てる。 124 [2] UDP 通信端点 ID の最大値を表す変数 tmax_tcp_rep は IPv6 125 と IPv4 の合計(正確には tinet_cfg.c の定義を参照)であ 126 る。 また、 IPv6 用の tmax_udp6_cep と IPv4 用の 127 tmax_udp4_cep も tinet_cfg.c に出力し、SUPPORT_INET6 と 128 SUPPORT_INET4 の両方を指定した場合に有効になる。 マクロ 129 で定義する。 130 [3] UDP 通信端点数を表すマクロ TNUM_UDP_REPID に関して、 131 IPv6 用の TNUM_UDP6_REPID と IPv4 用の TNUM_UDP4_REPID 132 の定義も追加し、 tinet_cfg.h(TOPPERS/ASP)、tinet_id.h 133 (TOPPERS/JSP)に出力する。 134 [4] SEM_UDP_CEP_LOCK<n> に関して、 135 IPv6 用の SEM_UDP6_CEP_LOCK<n> と IPv4 用の 136 SEM_UDP4_CEP_LOCK<n> に変更した。 137 [5] DTQ_UDP_RCVQ<n> に関して、 138 IPv6 用の DTQ_UDP6_RCVQ<n> と IPv4 用の 139 DTQ_UDP4_RCVQ<n> に変更した。 140 [6] IPv6/IPv4 デュアルスタック化に伴い、IPv6 と IPv4 で共通 141 に使用される関数等をマクロの設定で切り替えるソースファ 142 イルを追加した。 以下にソースファイルの一覧を示す。 156 143 157 144 netinet/tcpn_usrreq.c … … 162 149 netinet/udpn_usrreq_nblk.c 163 150 164 (11) ãã°ãã£ãã¯ã¹ï¼toppers-users é¢ä¿ï¼ 165 166 [1] ãªãã«ã¨ã³ãã£ã¢ã³ã®ããã»ããµã§ãICMP ã¨ã©ã¼ã®å®å 167 ã¢ã 168 ã¬ã¹ã®ãã¤ããªã¼ãã¼ãéã«ãªãåé¡ãä¿®æ£ããã 169 [2] ICMP ã®ã¨ã³ã¼å¿çã§ãéä¿¡å 170 ã¢ãã¬ã¹ãåä¿¡ããã¡ãã»ã¼ã¸ 171 ã®å®å 172 ã¢ãã¬ã¹ã§ã¯ãªãã èª IPv4 ã¢ãã¬ã¹ãè¨å®ãããã 173 ã«ä¿®æ£ããï¼toppers-users 4113ï¼ã 174 [3] tcp_rcv_dat() ãããããã³ã°ãã¦å¼åºãã åä¿¡å¾ 175 ã¡ã®ç¶æ 176 177 ã§ãç¸æãã FIN ã»ã°ã¡ã³ããåä¿¡ãã¦ã復帰ããªãäºãã 178 ãåé¡ãä¿®æ£ããï¼toppers-users 4351ï¼ã 179 [4] tcp_cls_cep() ãããããã³ã°ãã¦å¼åºããåæãã¦ãã ã³ã¼ 180 ã«ããã¯ãããªãåé¡ãä¿®æ£ããï¼toppers-users 4612ï¼ã 181 182 (12) éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãæå¹ã«ããæã TCP ã®åé 183 å¶å¾¡ãæ£ããåä½ããªããã¨ãããåé¡ãä¿®æ£ããã 184 185 (13) ãã¼ã¿ãªã³ã¯å±¤ã®ãã¬ã¼ã æçé·ãå®ç¾©ãã IF_MIN_LEN ã追å ããã 186 187 (14) ã¤ã¼ãµãããã®ãã¬ã¼ã æçé·ãå®ç¾©ãã ETHER_MIN_LEN ã追å ããã 188 189 (15) net/net.h ãããã¤ããªã¼ãã¼é¢ä¿ã®å®ç¾©ã net/net_endian.h ã« 190 åé¢ãããã 191 192 (16) ååãªã¼ãã³ãã¦ããªããã¼ãã«æ¥ç¶è¦æ±ããã£ãå ´åã ç°å¢ã«ã㣠193 ã¦ã¯ä¾å¤ãçºçãããã¨ãããåé¡ãä¿®æ£ããã 194 195 (17) ip_output.c ã§ãSUPPORT_IPSEC ã®æ¡ä»¶ if æã®è¡¨è¨ãä¿®æ£ããã 196 197 (18) TCP_CFG_RWBUF_CSAVE_MAX_QUEUES ãæ¢å®å¤ã§ã¯æªå®ç¾©ã«ããã 198 199 (19) TCP ã®ã³ãã¯ã·ã§ã³ã®ç¢ºç«æã®ã¿ã¤ã ã¢ã¦ãã BSD ã¨åãç´ 75 ç§ 200 ã«è¨å®ããã 201 202 (20) TCP ã®ã³ãã¯ã·ã§ã³ã®ç¢ºç«æã«ããã¦ãããã¯ã¼ã¯ãããã¡ã«ç©ºã 203 ããªãæã«ã åéãè¡ããªãåé¡ãä¿®æ£ããã 204 205 (21) TCP ã®å¦çããã£ã³ã»ã«ããæã åä¿¡åæ§æãã¥ã¼ã¨ã¦ã£ã³ããã 206 ãã¡ãã¥ã¼ãæ£ãã解æ¾ãããªãåé¡ãä¿®æ£ããã 207 208 (22) ãªãã«ã¨ã³ãã£ã¢ã³ã®ããã»ããµããã¦ãåä¸ LAN å 209 ã¸ã®ããã¼ã 210 ãã£ã¹ãã¢ãã¬ã¹ã® UDP ã®åä¿¡ãã§ããªãåé¡ãä¿®æ£ããã 211 212 (23) DHCP_CFG ãæå®ããæã IPV4_ADDR_DEFAULT_GW ãæªå®ç¾©ãªãåé¡ 213 ã«é¢ãã¦ã ãµã³ãã«ããã°ã©ã ã® tinet_app_config.h ã« 214 IPV4_ADDR_DEFAULT_GW ã®å®ç¾©ã追å ããã 215 216 (24) UDP 㧠ICMP/ICMPv6 éç¥ã¡ãã»ã¼ã¸ãå¦çããããã«å¤æ´ãããã 217 ã ããéç¥ã¡ãã»ã¼ã¸ã¯ UDP ã§åä¿¡ãããããã®å¾ã®å¦çã¯æªå®ã§ããã 218 219 (25) in_strtfn() ã§è¡¨ç¤ºããã TFN_TCP_CRE_REP ã TEV_TCP_RCV_OOB 220 ã«å¤æ´ããã 221 222 (26) in_strtfn() ã§è¡¨ç¤ºããã TFN_UDP_CRE_CEP ã TEV_UDP_RCV_DAT 223 ã«å¤æ´ããã 224 225 (27) tinet ã®ç¬èª API ã¨ãã¦ã IPv6 ã¢ãã¬ã¹ãæ´æ°ï¼ç»é²ããã¦ã㪠226 ããã°è¿½å ï¼ããé¢æ° in6_upd_ifaddr ã追å ããã 227 228 (28) ä¹±æ°ã®æ´æ°ã«ä½¿ç¨ãããã ETHER_CFG_COLLECT_ADDR ãå®ç¾©ããã 229 æå®ããã¨ä¸å®å¨æï¼256 åã®ãã¬ã¼ã åä¿¡æ¯ï¼ã«éä¿¡å 230 ã® MAC 㢠231 ãã¬ã¹ã«ããä¹±æ°ãæ´æ°ããã 232 233 (29) DHCP ã使ç¨ããã¨ãã«å®ç¾©ãã DHCP_CFG ã DHCP4_CLI_CFG ã«å¤ 234 æ´ããã ãªããDHCP_CFG ãæå®ãã㨠DHCP4_CLI_CFG ãå®ç¾©ãããã 235 236 (30) DHCPv6 ã使ç¨ããã¨ãã«å®ç¾©ãã DHCP6_CLI_CFG ã追å ããã 237 238 (31) ppp_ccp.c ãã #include <net/net_debug.h> ãåé¤ããã 239 240 (32) TINET ãªãªã¼ã¹ 1.2 ã® tinet/doc/tinet-1.2.txtï¼ï¼ãªãªã¼ã¹ 241 1.1.1 ãããªãªã¼ã¹ 1.2 ã¸ã®ç§»è¡ï¼»2004/7/27ï¼½ï¼ã®ãã3. å¤æ´æ¨ 242 奨é 243 ç®ãã(1) ãã (3) ã«è¿°ã¹ããã¦ãã以ä¸ã®ã³ã³ãã¤ã«æã³ã³ 244 ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ã¨æ§é ä½åã¯ãå¤æ´å¿ 245 é é 246 ç®ãã«ãªã£ãã 151 (11) バグフィックス(toppers-users 関係) 152 153 [1] リトルエンディアンのプロセッサで、ICMP エラーの宛先アド 154 レスのバイトオーダーが逆になる問題を修正した。 155 [2] ICMP のエコー応答で、送信元アドレスを受信したメッセージ 156 の宛先アドレスではなく、 自 IPv4 アドレスを設定するよう 157 に修正した(toppers-users 4113)。 158 [3] tcp_rcv_dat() をブロッキングして呼出し、 受信待ちの状態 159 で、相手から FIN セグメントを受信しても復帰しない事があ 160 る問題を修正した(toppers-users 4351)。 161 [4] tcp_cls_cep() をブロッキングして呼出し、切断しても、 コー 162 ルバックされない問題を修正した(toppers-users 4612)。 163 164 (12) 送信ウィンドバッファの省コピー機能を有効にした時、 TCP の再送 165 制御が正しく動作しないことがある問題を修正した。 166 167 (13) データリンク層のフレーム最短長を定義する IF_MIN_LEN を追加した。 168 169 (14) イーサネットのフレーム最短長を定義する ETHER_MIN_LEN を追加した。 170 171 (15) net/net.h からバイトオーダー関係の定義を net/net_endian.h に 172 分離しした。 173 174 (16) 受動オープンしていないポートに接続要求があった場合、 環境によっ 175 ては例外が発生することがある問題を修正した。 176 177 (17) ip_output.c で、SUPPORT_IPSEC の条件 if 文の表記を修正した。 178 179 (18) TCP_CFG_RWBUF_CSAVE_MAX_QUEUES を既定値では未定義にした。 180 181 (19) TCP のコネクションの確立時のタイムアウトを BSD と同じ約 75 秒 182 に設定した。 183 184 (20) TCP のコネクションの確立時においてネットワークバッファに空き 185 がない時に、 再送を行わない問題を修正した。 186 187 (21) TCP の処理をキャンセルした時、 受信再構成キューとウィンドバッ 188 ファキューが正しく解放されない問題を修正した。 189 190 (22) リトルエンディアンのプロセッサおいて、同一 LAN 内へのブロード 191 キャストアドレスの UDP の受信ができない問題を修正した。 192 193 (23) DHCP_CFG を指定した時、 IPV4_ADDR_DEFAULT_GW が未定義なる問題 194 に関して、 サンプルプログラムの tinet_app_config.h に 195 IPV4_ADDR_DEFAULT_GW の定義を追加した。 196 197 (24) UDP で ICMP/ICMPv6 通知メッセージを処理するように変更した。た 198 だし、通知メッセージは UDP で受信するが、その後の処理は未定である。 199 200 (25) in_strtfn() で表示される TFN_TCP_CRE_REP を TEV_TCP_RCV_OOB 201 に変更した。 202 203 (26) in_strtfn() で表示される TFN_UDP_CRE_CEP を TEV_UDP_RCV_DAT 204 に変更した。 205 206 (27) tinet の独自 API として、 IPv6 アドレスを更新(登録されていな 207 ければ追加)する関数 in6_upd_ifaddr を追加した。 208 209 (28) 乱数の更新に使用するため ETHER_CFG_COLLECT_ADDR を定義した。 210 指定すると一定周期(256 回のフレーム受信毎)に送信元の MAC ア 211 ドレスにより乱数を更新する。 212 213 (29) DHCP を使用するときに定義する DHCP_CFG を DHCP4_CLI_CFG に変 214 更した。 なお、DHCP_CFG を指定すると DHCP4_CLI_CFG も定義される。 215 216 (30) DHCPv6 を使用するときに定義する DHCP6_CLI_CFG を追加した。 217 218 (31) ppp_ccp.c から #include <net/net_debug.h> を削除した。 219 220 (32) TINET リリース 1.2 の tinet/doc/tinet-1.2.txt((リリース 221 1.1.1 からリリース 1.2 への移行[2004/7/27])の、「3. 変更推 222 奨項目」、(1) から (3) に述べられている以下のコンパイル時コン 223 フィギュレーションパラメータと構造体名は「変更必須項目」になった。 247 224 248 225 [1] NUM_ROUTE_ENTRY 249 NUM_IN4_STATIC_ROUTE_ENTRY ã«å¤æ´ããã226 NUM_IN4_STATIC_ROUTE_ENTRY に変更する。 250 227 [2] NUM_IN4_REDIRECT_ROUTE_ENTRY 251 æ°ãã«å®ç¾©ããã228 新たに定義する。 252 229 [3] T_RT_ENTRY 253 T_IN4_RTENTRY ã«å¤æ´ããã 254 255 (33) NUM_IN4_ROUTE_ENTRY ãå®ç¾©ãããã¡ã¤ã«ãã 以ä¸ã®ããã«å¤æ´ããã 256 tinet/netinet/in4_var.h â tinet/tinet_config.h 257 258 (34) NUM_IN6_ROUTE_ENTRY ãå®ç¾©ãããã¡ã¤ã«ãã 以ä¸ã®ããã«å¤æ´ããã 259 tinet/netinet6/in6_var.h â tinet/tinet_config.h 260 261 (35) ARP ã®éè¤æ¤åºã§ã èªåã¨ç¸æã®ã¢ãã¬ã¹ãæªå®ç¾©ã®æã¯ä½ãã㪠262 ãããã«å¤æ´ããã 263 264 (36) in6.h ã«å®ç¾©ããã¦ãããã¤ããªã¼ãã¼ã«ä¾åãã ç¹å¥ãªã¢ãã¬ã¹ 265 ã®ãã§ãã¯ãããã¯ãï¼IN6_IS_ADDR_V4COMPAT çï¼ã in6_var.h 266 ã«ç§»ããã 267 268 (37) IPv6 ã«ã¼ã¿éç¥ãåä¿¡ããæã®ãã°æ 269 å ±ãåãã¦åä¿¡ããæã®ã¿è¡¨ 270 示ããããã«ã«å¤æ´ããã 271 272 (38) ICMPv6 ã§ãµãã¼ããã¦ããªãã¿ã¤ãã®ãã¼ã¿èµãåä¿¡ããæã®è¡¨ç¤º 273 ã®ãã°æ 274 å ±ã®éè¦åº¦ã LOG_NOTICE ãã LOG_INFO ã«å¤æ´ããã 275 276 (39) tinet.pdfã ã7.2 ãã¡ã¤ã«ã®ä½æã è¨å®ãã§ã $(APP_DIR) ã 277 $(APPLDIR) ã«å¤æ´ããã 278 279 (40) tinet.pdfã ã8.2 ãã¡ã¤ã«ã®ä½æãè¨å®ãã§ã$(APP_DIR) ã®è¨è¿° 280 å 281 容ãå¤æ´ããã 282 283 (41) tinet_sample.pdfãã3. TINET ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªãã 284 ã®ãªãã·ã§ã³ãã®è¨è¿°ãå 285 ¨é¢çã«è¦ç´ããã 286 287 (42) Makefile ã« 230 T_IN4_RTENTRY に変更する。 231 232 (33) NUM_IN4_ROUTE_ENTRY を定義するファイルを、 以下のように変更した。 233 tinet/netinet/in4_var.h → tinet/tinet_config.h 234 235 (34) NUM_IN6_ROUTE_ENTRY を定義するファイルを、 以下のように変更した。 236 tinet/netinet6/in6_var.h → tinet/tinet_config.h 237 238 (35) ARP の重複検出で、 自分と相手のアドレスが未定義の時は何もしな 239 いように変更した。 240 241 (36) in6.h に定義されているバイトオーダーに依存し、 特別なアドレス 242 のチェックするマクロ(IN6_IS_ADDR_V4COMPAT 等)を in6_var.h 243 に移した。 244 245 (37) IPv6 ルータ通知を受信した時のログ情報を初めて受信した時のみ表 246 示するようにに変更した。 247 248 (38) ICMPv6 でサポートしていないタイプのデータ蔵を受信した時の表示 249 のログ情報の重要度を LOG_NOTICE から LOG_INFO に変更した。 250 251 (39) tinet.pdf、 「7.2 ファイルの作成、 設定」で、 $(APP_DIR) を 252 $(APPLDIR) に変更した。 253 254 (40) tinet.pdf、 「8.2 ファイルの作成、設定」で、$(APP_DIR) の記述 255 内容を変更した。 256 257 (41) tinet_sample.pdf、「3. TINET コンフィギュレーションスクリプト 258 のオプション」の記述を全面的に見直した。 259 260 (42) Makefile に 288 261 NO_USE_TINET_LIBRARY = true 289 ãæå®ãã¦ã TINET ã®ã©ã¤ãã©ãªãä½æããªãããã«ããå ´åã㪠290 ã³ã¯ãã§ããªãåé¡ãä¿®æ£ããã 291 292 (43) NE2000 äºæ NIC(if_ed) ç¨ã¤ã¼ãµãããã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã§ã 293 éä¿¡ãããã¬ã¼ã ã®ãã¼ã¿é¨ã®é·ãã 46 ãªã¯ãããæªæºã®å ´åã¯ã 294 ãã¼ã¿ã®çµããããã¬ã¼ã ã®çµããï¼CRC ãé¤ãï¼ã¾ã§ 0 ã§åãã 295 ããã«å¤æ´ããã 296 297 (44) ASP ã¸ã®å¯¾å¿ã«é¢ããå¤æ´ã以ä¸ã«ç¤ºãã 298 299 [1] ASP ç¨ TINET ã«ãã㦠TCP ãããã®ãã¬ã¼ã¹åºåæ©è½ã§ã 300 TCP_CFG_TRACE ãæå®ããã¨ã³ã³ãã¤ã«ã§ããªãåé¡ãä¿®æ£ããã 301 [2] ã¿ã¼ã²ãã OS ã ASPããããã¯ã¼ã¯å±¤ã IPv4 ã§ã ãã¼ã¿ 302 ã°ã©ã ã®åå²ã»åæ§æè¡ããã¨ãæå®ãã IP4_CFG_FRAGMENT 303 ãå®ç¾©ããæãSEM_IP4_FRAG_QUEUE ãæªå®ç¾©ã®ã¨ã©ã¼ã¨ãªã 304 åé¡ãä¿®æ£ããã 305 [3] if_loop.c ã ASP ã«å¯¾å¿ãããã 306 [4] TINET ã®ãµã³ãã«ã¢ããªã±ã¼ã·ã§ã³ã® Makefile ã ASP ã®ã 307 ã³ãã¬ã¼ããã£ã¬ã¯ã㪠sample ã® Makefile ããçæãã 308 ããã«å¤æ´ããã 309 [5] ASP ãã³ãã¬ã¼ããã£ã¬ã¯ããªãæå®ãããªãã·ã§ã³ 310 -m <asptemplatedir> ã tinet_asp_configure ã«è¿½å ããã 311 [6] ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ï¼cfgï¼ã®ãã¹åãæå®ãããªãã·ã§ã³ 312 -g <cfg> ã tinet_asp_configure ã«è¿½å ããã 313 [7] ASP-1.7 以éã® cfg1_out.c ã¸ã®å¯¾å¿ãè¡ã£ãã 314 [8] ASP-1.8 以éã® Makefile ã¸ã®å¯¾å¿ãè¡ãããã ã 315 Makefile.tinet ã® ASP ç¨ TINET ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ 316 ã¤ã«ã«é¢ä¿ããã«ã¼ã«ã»å¤æ°çãå¤æ´ããã ASP-1.8 ãã 317 $(LDFLAGS) 㨠$(CFG1_OUT_LDFLAGS) ã®å®ç¾©ãå¥ã«ãªã£ãã 318 $(CFG1_OUT_LDFLAGS) ãæªå®ç¾©ã§ããã°ã ASP-1.7 以åã®å¦ 319 çãè¡ãããã«å¤æ´ããã 320 [9] tinet/tinet_asp.cfg ã« #include "target_sil.h" ã追å ããã 321 [10] tinet/net/net.h ã®ãã¤ããªã¼ãã¼ã®å®ç¾©ã«é¢ãã¦ã ã¿ã¼ã²ã 322 ãã ASP ã®å ´åãSIL_ENDIAN_BIG 㨠SIL_ENDIAN_LITTLE ã® 323 å®ç¾©ãå¤æ´ããªãããã«ä¿®æ£ããã 324 ããã«å¯¾å¿ãã¦ã _NET_CFG_BYTE_ORDERã 325 _NET_CFG_LITTLE_ENDIANã 326 _NET_CFG_BIG_ENDIAN ãå®ç¾©ãã TINET ã®å 327 é¨ã§ã 328 SIL_ENDIANã SIL_ENDIAN_BIGãSIL_ENDIAN_LITTLE ãåç 329 §ã 330 ãªãããã«ä¿®æ£ããã 331 332 (45) JSP ã¸ã®å¯¾å¿ã«é¢ããå¤æ´ã以ä¸ã«ç¤ºãã 333 334 [1] JSP ãªãªã¼ã¹ 1.4.4 ã§ã³ã³ãã¤ã«ã§ããªãåé¡ï¼Makefile 335 ã®ä¸æ´åï¼ãä¿®æ£ããã 336 [2] JSP ãã³ãã¬ã¼ããã£ã¬ã¯ããªãæå®ãããªãã·ã§ã³ 337 -m <jsptemplatedir> ã tinet_jsp_configure ã«è¿½å ããã 338 [3] tinet_sample.pdfãã2. ãµã³ãã«ã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ãã 339 ã(1) TINET ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®å®è¡ãã 340 ã[2] TOPPERS/JSP ç¨ TINET ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãª 341 ããã®å®è¡ãããããªãã·ã§ã³ -d ãåé¤ããã 342 343 2. ãªãªã¼ã¹ 1.4.x ãã 1.5 ã¾ã§ã®å¤æ´ 344 345 (1) ãã¼ã¿ã°ã©ã åæ§æç¨ãããã¯ã¼ã¯ãããã¡ã®å®ç¾©ã«ã 346 IF_ETHER_NIC_NET_BUF_ALIGN ãä¸è¶³ãã¦ããåé¡ãä¿®æ£ããã 347 348 (2) TINET ãããã³ã«ã¹ã¿ãã¯ã®è¨è¿°ãã TOPPERS/ASP ã«ã¼ãã«ã§è¦å® 349 ããã¦ãã TOPPERS å 350 ±éãã¼ã¿åã«å¤æ´ããã 351 352 (3) UDP ã§ã ãã³ããããã³ã°ã³ã¼ã«æ©è½ãçµã¿è¾¼ã¾ããUDP éä¿¡ç«¯ç¹ 353 ã« UDP_PORTANY ãæå®ããã¨ãããã¼ãçªå·ãèªåçã«å²ãå½ã¦ã 354 ããªãåé¡ãä¿®æ£ããã 355 356 (4) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ SUPPORT_IPSEC ã 357 æ°è¨ãããããã¯ãIPSEC ãå¦çããããã®æå®ã§ããã ãã ãã 358 TINET ã¯ã IPSEC ãå¦çããããã®ããã¯ã®ã¿ã ip_input.c 㨠359 ip_output.c ç¨æãã¦ããããã§ã IPSEC èªä½ã¯å®è£ 360 ãã¦ããªãã® 361 ã§ãå¥ã«çµã¿è¾¼ãå¿ 362 è¦ãããã 363 364 (5) TOPPERS/ASP ã«å¯¾å¿ããã 365 366 (6) ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã® PPP ã¨ã«ã¼ãããã¯ãåèå®è£ 367 ã¨ããã 368 369 (7) IPv4/IPv4 ãã¼ã¿ã°ã©ã ã®è¨å®ã®ã 4 ãªã¯ãããå¢çã¾ã§ããã£ã³ 370 ã°ã§åããå¦çã§ã ãããã¯ã¼ã¯ãããã¡ã®é åå¤ã«ããã£ã³ã°ã 371 æ¸ãè¾¼ããã¨ãããåé¡ãä¿®æ£ããã 372 373 (8) PPP ã§ã ãµã¼ãããã® IP ã¢ãã¬ã¹èªååå¾ãã§ããªãåé¡ãä¿®æ£ããã 374 375 (9) IPv4 ã®å 376 ¥åå¦çã§ãä¸ä½å±¤ã ICMP 以å¤ã®å ´åã«è¡ããªãã·ã§ã³ã® 377 æ¶å»ãããããã§ãã¯ãµã ã®æ¤æ»ã®å¾ã«å¤æ´ããã 378 379 (10) IPv4 ã®å 380 ¥åå¦çã§ãåå²ã®ãã§ãã¯ãã RF ããããå¤ããã 381 382 (11) IPv6 ã§ãé信帯åãé£ãã¤ã¶ãæ»æã¸ã®å¯¾å¿ã®ããã ã¿ã¤ã 0 çµ 383 è·¯å¶å¾¡ãããã®å¦çãè¡ããªãããã«å¤æ´ããã 384 385 (12) TCP ã®åºåã§ã éä¿¡ãµã¤ãºãéä¿¡ç¸æã®æ大ã»ã°ã¡ã³ããµã¤ãºã«èª¿ 386 æ´ããå ´åã 誤ã£ããµã¤ãºã«èª¿æ´ãããã¨ãããåé¡ãä¿®æ£ããã 387 388 (13) éä¿¡ç¸æã® TCP ã® MSS ãªãã·ã§ã³ã®å¦çã§ã è¨é²ããå¤ãã 389 TCP_MINMSSï¼216ï¼ãã MAX_TCP_SND_SEGï¼æ¨æºã¯ã IPv4 ã 512ã 390 IPv6 ã 1024ï¼ã«å¶éããããã«å¤æ´ããã 391 392 (14) IPv6 ã§ããªã³ã¯ãã¼ã«ã«ã¢ãã¬ã¹ã®éè¤ãæ¤åºããå ´åããã以é 393 ã®è¿é£æ¢ç´¢ãã±ãããåºåããªããã«å¤æ´ããã 394 395 (15) IPv6 ã§ãã«ã¼ã¿éç¥ã®ãã¬ãã£ãã¯ã¹é·ãä¸æ£ã§ãå¦çãç¶ç¶ãã 396 ãã¬ãã£ãã¯ã¹ãªã¹ãã«ç»é²ããã ã¾ãããªã³ãªã³ã¯ã»ãã©ã°ãæ 397 å¹ã§ããã°ãåä¸ LAN å 398 ã®ã¢ãã¬ã¹ã¨ãã¦æå¹ã¨ãªãããã«å¤æ´ããã 399 400 (16) ITRON TCP/IP API ã®ä»æ§ã«å®ç¾©ããã¦ããã³ã¼ã«ããã¯é¢æ°ã®å¼æ° 401 p_parblk ã«é¢ãã¦ãã¢ãã¬ã¹æ¸¡ããæ£ããããå¤æ¸¡ãã¨ãã¦ããå® 402 è£ 403 ä¸ã®èª¤ããä¿®æ£ãããã¾ããTINET ãªãªã¼ã¹ 1.4 以åã¨äºææ§ã 404 ç¶æããããã«å¤æ¸¡ãã«ããã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ 405 ãã©ã¡ã¼ã¿ TCP_CFG_NON_BLOCKING_COMPAT14 㨠406 UDP_CFG_NON_BLOCKING_COMPAT14 ãæ°è¨ããã 407 408 (17) è½åãªã¼ãã³ï¼TCP_CON_CEP å¼åºãï¼ã§ãã³ããããã³ã°ã³ã¼ã«ã 409 è¡ã£ãæã«ãåæãªã¼ãã³ï¼TCP ã®ç¶æ 410 é·ç§»ããSYN éä¿¡ãâãSYN 411 åä¿¡ãâãã³ãã¯ã·ã§ã³ç¢ºç«ãï¼ãçºçããå ´åã ã³ã¼ã«ããã¯é¢ 412 æ°ãå¼åºãããªãåé¡ãä¿®æ£ããã 413 414 (18) ã¿ã¹ã¯ããã® Time Wait ç¶æ 415 ã® TCP éä¿¡åç¹åé¢æ©è½ãçµè¾¼ãã 416 å ´åã«ã ACK ã»ã°ã¡ã³ããåéããæããã¼ãçªå·ã®ãã¤ããªã¼ãã¼ 417 ã®å¤æã誤ã£ã¦ããåé¡ãä¿®æ£ããã 418 419 (19) TCP 㧠Keep Alive ãæå¹ã«ããæãã¦ã£ã³ããµã¤ãºã 0 ã®ã»ã°ã¡ 420 ã³ããéä¿¡ãããåé¡ãä¿®æ£ããã 421 422 (20) Makefile ã« NO_USE_TINET_LIBRARY = true ãæå®ãã¦ã ã©ã¤ãã© 423 ãªåãããªãæ¹æ³ã«ãããåé¡ãä¿®æ£ããã 424 425 (21) TOPPERS/ASP ã®å®è¡ç°å¢ã GCC 3.x ç³»ã®éçºç°å¢ã§ã¢ããªã±ã¼ã·ã§ 426 ã³ããã°ã©ã ãæ§ç¯ããæãethernet ãããæ§é ä½ã®ãµã¤ãºãä¸ä¸ 427 è´ã«ãªãã åä½ãä¸å®å®ã«ãªããã¨ãããåé¡ãä¿®æ£ããã 428 429 (22) H8 ä¾åé¨ã§ã tinet_sys_config.h ã«æå®ããã¦ãã ED_IPM ã®è¨ 430 å®ããIPM_LEVEL1 ãã IPM_LEVEL0 ã«å¤æ´ããã 431 432 3. ãªãªã¼ã¹ 1.3.x ãã 1.4 ã¾ã§ã®å¤æ´ 433 434 (1) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã« TCP/IPv4 åä»å£ã®äºç´ ID ãå® 435 義ãã VRID_TCP_REP ã追å ããã 436 437 (2) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã« TCP/IPv4 é信端ç¹ã®äºç´ ID ã 438 å®ç¾©ãã VRID_TCP_CEP ã追å ããã 439 440 (3) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã« UDP/IPv4 é信端ç¹ã®äºç´ ID ã 441 å®ç¾©ãã VRID_UDP_CEP ã追å ããã 442 443 (4) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã« TCP/IPv6 åä»å£ã®äºç´ ID ãå® 444 義ãã VRID_TCP6_REP ã追å ããã 445 446 (5) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã« TCP/IPv6 é信端ç¹ã®äºç´ ID ã 447 å®ç¾©ãã VRID_TCP6_CEP ã追å ããã 448 449 (6) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã« UDP/IPv6 é信端ç¹ã®äºç´ ID ã 450 å®ç¾©ãã VRID_UDP6_CEP ã追å ããã 451 452 (7) ITRON TCP/IP API ã® TCP ã®æ¡å¼µæ©è½ãæå¹ã«ããã³ã³ãã¤ã«æã³ 453 ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ TCP_CFG_EXTENTIONS ã追å ããã 454 455 (8) ITRON TCP/IP API ã® UDP ã®æ¡å¼µæ©è½ãæå¹ã«ããã³ã³ãã¤ã«æã³ 456 ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ UDP_CFG_EXTENTIONS ã追å ããã 457 458 (9) ä¸è¬å®æ°ãã¯ã TCP_REP_NONE ã追å ãããå¤ã¯ï¼0ï¼ã 459 460 (10) ä¸è¬å®æ°ãã¯ã TCP_CEP_NONE ã追å ãããå¤ã¯ï¼0ï¼ã 461 462 (11) ä¸è¬å®æ°ãã¯ã UDP_CEP_NONE ã追å ãããå¤ã¯ï¼0ï¼ã 463 464 (12) å 465 ¨åå¤æ°ã¨ãã¦ã ipv6_addrany ããã¯ãã§å®ç¾©ããã å®ä½ã¯ã 466 in6_addr_unspecified ã§ãããããã«ä¼´ã£ã¦ããããã³ã«ã¹ã¿ã㯠467 å 468 é¨åã®ãªãã¼ã ãããin6_addr_unspecified ãå¤ããã 469 470 (13) UDP ã®é信端ç¹ã® myportno ã« UDP_PORTANY ãæå®ã§ããªãåé¡ã 471 ä¿®æ£ããã 472 473 (14) ITRON TCP/IP API ã® TCP/IPv4 åä»å£ãåçã«çæãã API ã® 474 cre_tcp_rep ã追å ããã 475 476 (15) ITRON TCP/IP API ã® TCP é信端ç¹ãåçã«çæãã API ã® 477 cre_tcp_cep ã追å ããã 478 479 (16) ITRON TCP/IP API ã® UDP/IPv4 é信端ç¹ãåçã«çæãã API ã® 480 cre_udp_cep ã追å ããã 481 482 (17) ITRON TCP/IP API ã® TCP åä»å£ãåçã«åé¤ãã API ã® 483 del_tcp_rep ã追å ããã 484 485 (18) ITRON TCP/IP API ã® TCP é信端ç¹ãåçã«åé¤ãã API ã® 486 del_tcp_cep ã追å ããã 487 488 (19) ITRON TCP/IP API ã® UDP é信端ç¹ãåçã«åé¤ãã API ã® 489 del_udp_cep ã追å ããã 490 491 (20) ITRON TCP/IP API ã® TCP/IPv6 åä»å£ãåçã«çæãã API ã® 492 cre_tcp6_rep ã追å ããã 493 494 (21) ITRON TCP/IP API ã® UDP/IPv6 é信端ç¹ãåçã«çæãã API ã® 495 cre_udp6_cep ã追å ããã 496 497 (22) ITRON TCP/IP API ã® TCP é信端ç¹ãªãã·ã§ã³ãè¨å®ãã API ã® 498 tcp_set_opt ã追å ããã 499 500 (23) ITRON TCP/IP API ã® TCP é信端ç¹ãªãã·ã§ã³ãèªåºã API ã® 501 tcp_get_opt ã追å ããã 502 503 (24) ITRON TCP/IP API ã® UDP é信端ç¹ãªãã·ã§ã³ãè¨å®ãã API ã® 504 udp_set_opt ã追å ããã 505 506 (25) ITRON TCP/IP API ã® UDP é信端ç¹ãªãã·ã§ã³ãèªåºã API ã® 507 udp_get_opt ã追å ããã 508 509 (26) å 510 é¨çã«ä½¿ç¨ãã¦ããæ§é ä½åãå¤æ´ããã 511 512 [1] struct t_tcp4_ccep â struct t_tcp4_cep 513 [2] struct t_tcp6_ccep â struct t_tcp6_cep 514 [3] T_TCP_CCEP â T_TCP_IN_CCEP â T_TCP_CEP 515 [4] T_TCP_TW_CCEP â T_TCP_TWCEP 516 [5] T_TCP4_CCEP â T_TCP4_CEP 517 [6] T_TCP4_TW_CCEP â T_TCP4_TWCEP 518 [7] T_TCP6_CCEP â T_TCP6_CEP 519 [8] T_TCP4_TW_CCEP â T_TCP4_TWCEP 520 [9] T_TCP_CREP â T_TCP_IN_CREP â T_TCP_REP 521 [10] T_TCP4_CREP â T_TCP4_REP 522 [11] T_TCP6_CREP â T_TCP6_REP 523 [12] T_UDP_CCEP â T_UDP_IN_CCEP â T_UDP_CEP 524 [13] T_UDP4_CCEP â T_UDP4_CEP 525 [14] T_UDP6_CCEP â T_UDP6_CEP 526 527 (27) å 528 é¨çã«ä½¿ç¨ãã¦ããå¤æ°ã»é 529 ååãå¤æ´ããã 530 531 [1] tcp_crep â tcp_rep 532 [2] tcp_ccep â tcp_cep 533 [3] tcp_tw_ccep â tcp_twcep 534 [4] udp_ccep â udp_cep 535 [5] tmax_tcp_crepid â tmax_tcp_repid 536 [6] tmax_tcp_ccepid â tmax_tcp_cepid 537 [7] tmax_udp_ccepid â tmax_udp_cepid 538 539 (28) å 540 é¨çã«ä½¿ç¨ãã¦ãããã¯ãåãå¤æ´ããã 541 542 [1] VAID_TCP_CREPID â VAID_TCP_REPID 543 [2] VAID_TCP_CCEPID â VAID_TCP_CEPID 544 [3] VAID_UDP_CCEPID â VAID_UDP_CEPID 545 [4] INDEX_TCP_CREP â INDEX_TCP_REP 546 [5] INDEX_TCP_CCEP â INDEX_TCP_CEP 547 [6] INDEX_UDP_CCEP â INDEX_UDP_CEP 548 [7] GET_TCP_CREP â GET_TCP_REP 549 [8] GET_TCP_CCEP â GET_TCP_CEP 550 [9] GET_UDP_CCEP â GET_UDP_CEP 551 [10] GET_TCP_CREPID â GET_TCP_REPID 552 [11] GET_TCP_CCEPID â GET_TCP_CEPID 553 [12] GET_UDP_CCEPID â GET_UDP_CEPID 554 [13] GET_TCP_TW_CCEPID â GET_TCP_TWCEPID 555 [14] TMIN_TCP_RCEPID â TMIN_TCP_REPID 556 [15] TMIN_TCP_CCEPID â TMIN_TCP_CEPID 557 [16] TMIN_UDP_CCEPID â TMIN_UDP_CEPID 558 [17] TMIN_TCP_TW_CCEPID â TMIN_TCP_TWCEPID 559 [18] TNUM_TCP_RCEPID â TNUM_TCP_REPID 560 [19] TNUM_TCP_CCEPID â TNUM_TCP_CEPID 561 [20] TNUM_UDP_CCEPID â TNUM_UDP_CEPID 562 563 (29) å 564 é¨çã«ä½¿ç¨ãã¦ããã«ã¼ãã«ãªãã¸ã§ã¯ãåãå¤æ´ããã 565 566 [1] SEM_TCP_CCEP â SEM_TCP_CEP 567 [2] SEM_UDP_CCEP â SEM_UDP_CEP 568 569 (30) TW ç¨ TCP é信端ç¹ã§ãä¸è¦ãªã¡ã³ããåé¤ããã 570 571 (31) ç·æ¥ãã¼ã¿ã®æå¾ã®ãã¤ãã®ãªãã»ãããè¦å®ããã³ã³ãã¤ã«æã³ 572 ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ TCP_CFG_URG_OFFSET ã追å ããã 573 574 (32) ITRON TCP/IP API ã®ç·æ¥ãã¼ã¿åä¿¡ API ã® tcp_rcv_oob ã追å ããã 575 576 (33) ITRON TCP/IP API ã®ç·æ¥ãã¼ã¿éä¿¡ API ã® tcp_snd_oob ã追å ããã 577 578 (34) UDP ã®ã³ã¼ã«ããã¯ç¨åä¿¡ãã¼ã¿ãã¥ã¼ã使ç¨ããªãããã«ããã 579 580 (35) ãã³ããããã³ã°ã³ã¼ã«ãçµè¾¼ãå ´åã«ãªã³ã¯ãããé¢æ°ã®å®ç¾©ãã 581 udp_usrreq.c ããåé¢ãã udp_usrreq_nblk.c ã«ç§»åããã 582 udp_usrreq_nblk.c ã¯ãudp_usrreq.c ã«ã¤ã³ã¯ã«ã¼ãããã 583 584 (36) TCP ã§ãåéã 12 åè¡ãªã£ã¦ããéä¿¡ãå復ããªãã¨ãã ã³ã㯠585 ã·ã§ã³ãç ´æ£ãããªã»ããã»ã°ã¡ã³ããéä¿¡ãããªãåé¡ãä¿®æ£ããã 586 587 (37) TCP ã§ãACK ãæ£å¸¸ã«éä¿¡ããªããã¨ãããåé¡ãä¿®æ£ããã 588 589 (38) TCP ã§ã é«éå転éã¨é«éãªã«ããªãæ£å¸¸ã«è¡ãªãããªããã¨ãã 590 ãåé¡ãä¿®æ£ããã 591 592 (39) åä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã使ç¨ããã¨ãã TCP ã®ãã¼ 593 ãã¯ãã¼ãºç¶æ 594 ã§ã ãã¼ã¿ãå 595 ¨ã¦åä¿¡ã§ããªããã¨ãããåé¡ãä¿® 596 æ£ããã 597 598 (40) ããã°ã¨ã³ãã£ã¢ã³ã®ããã»ããµã«ããã¦ã TCP ãããã®ãã¬ã¼ã¹ 599 åºåã§ã æ£ããå¤ã表示ããªãåé¡ãä¿®æ£ããã 600 601 (41) TCP ãããã®ãã¬ã¼ã¹åºåã§ã éåä¿¡ãæ··ããå ´åãããåé¡ãä¿® 602 æ£ããã 603 604 (42) ã³ã¼ã«ããã¯ç¨ UDP åä¿¡ãã¥ã¼ãµã¤ãºãæå®ãã 605 NUM_DTQ_UDP_CB_RCVQ ã¯ãã¢ã«ã´ãªãºã ã®å¤æ´ã«ããä¸è¦ã«ãªã£ãã 606 607 (43) TCP åä»å£ã tinet_$(UNAME).cfg ã«æå®ããã¦ããªãå ´åã 608 TCP_CFG_PASSIVE_OPEN ãæªå®ç¾©ã«ããªããã°ããªã³ã¯æã«æªå®ç¾©ã¨ 609 ã©ã¼ã«ãªãåé¡ãä¿®æ£ããã 610 611 (44) T_NET_BUF_IF_PDU ã§ããã¬ã¼ã ã®çµããã®å¢çã®èª¿æ´éãæå®ãã 612 ã¤ã¼ãµãããã¤ã³ã¿ãã§ã¼ã¹ä¾åãã©ã¡ã¼ã¿å®ç¾© 613 IF_PDU_HDR_PADDING ã追å ããã 614 615 (45) å 616 é¨çã«ä½¿ç¨ãã¦ããæ§é ä½åãå¤æ´ããã 617 618 [1] t_net_buf_reassm â t_net_buf4_reassm 619 [2] T_NET_BUF_REASSM â T_NET_BUF4_REASSM 620 621 (46) åæ§æãããã¡ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡æ°ãæå®ããã³ã³ã 622 ã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ NUM_MPF_NET_BUF_REASSM 623 ã NUM_MPF_NET_BUF4_REASSM ã«å¤æ´ãã IPv4 ç¨ã®åæ§æãããã¡ 624 ãµã¤ãºã®ãããã¯ã¼ã¯ãããã¡æ°ãæå®ãããã©ã¡ã¼ã¿ã¨ããã 625 626 (47) ICMP6 ã¨ã©ã¼ã®åºåæã«ãIPv6 MMTUï¼1,280 ãªã¯ãããï¼ãè¶ 627 ãã 628 ãã¼ã¿ã°ã©ã ãåºåããåé¡ãä¿®æ£ããã 629 630 (48) IPv6 ãã¼ã¿ã°ã©ã åæ§æç¨ãããã¯ã¼ã¯ãããã¡ç²å¾ã¿ã¤ã ã¢ã¦ã 631 ãæå®ããã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ 632 TMO_IP6_FRAG_GET_NET_BUF ã追å ããã 633 634 (49) IPv6 ãã¼ã¿ã°ã©ã ã®åå²ã»åæ§æè¡ãå ´åã«æå®ããã³ã³ãã¤ã«æ 635 ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ IP6_CFG_FRAGMENT ã追å ããã 636 637 (50) IPv6 ãã¼ã¿ã°ã©ã åæ§æãã¥ã¼ãµã¤ãºãæå®ããã³ã³ãã¤ã«æã³ã³ 638 ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ NUM_IP6_FRAG_QUEUE ã追å ããã 639 æ¨æºå¤ã¯ 2 ã§ããã 640 641 (51) IPv6 ãã¼ã¿ã°ã©ã åæ§æç¨ãããã¯ã¼ã¯ãããã¡ã®ãµã¤ãºãæå®ã 642 ãã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ 643 IP6_CFG_FRAG_REASSM_SIZE ã追å ãããæ¨æºå¤ã¯ 4096 ã§ããã 644 645 (52) ICMPv6 ã§ãåä¿¡ãããã§ãã¯ãµã ã®è¨ç®ã誤ããã¨ãããåé¡ãä¿® 646 æ£ããã 647 648 (53) IPv6 ã§ã èªèã§ããªã次ãããã³ã¼ããå 649 ¥åããã¨ãã éä¿¡ãã 650 ICMPv6 ã¨ã©ã¼ã¡ãã»ã¼ã¸ã«èª¤ããããåé¡ãä¿®æ£ããã 651 652 (54) IPv6 ã® Traffic Class 㨠Flow Label ããµãã¼ãããªããã ãã 653 ãã« 0 以å¤ã®å¤ãè¨å®ãã¦éä¿¡ãããã¨ãããåé¡ãä¿®æ£ããã 654 655 (55) IPv6 ã§ã ããããªãããã 0 ã® ICMPv6 ã¨ã³ã¼è¦æ±ãã±ãããå 656 ä¿¡ããã¨ãã éä¿¡ãã ICMPv6 ã¨ã³ã¼ã¡ãã»ã¼ã¸ã«èª¤ããããåé¡ 657 ãä¿®æ£ããã 658 659 (56) IPv6 ã§ãéè¤ã¢ãã¬ã¹æ¤åºæã«ã誤ã£ããã¦å 660 ã¢ãã¬ã¹ã®ãã¼ã¿ã° 661 ã©ã ãåä¿¡ããã¨ãã 誤ã£ã¦èªã¢ãã¬ã¹ãéè¤ãã¦ããã¨èªèã㦠662 ãã¾ããã¨ãããåé¡ãä¿®æ£ããã 663 664 (57) IPv6 ã§ãçåæéãåãããã¬ãã£ãã¯ã¹ã®ã¢ãã¬ã¹ãæå¹ã«ãªã 665 äºãããåé¡ãä¿®æ£ããã 666 667 (58) IPv6 ã§ãè¿é£æ¢ç´¢ãã£ãã·ã¥ã®ç¶æ 668 é·ç§»ã«ä¸é¨èª¤ãããã£ãåé¡ã 669 ä¿®æ£ããã 670 671 (59) IPv6 ã§ãè¿é£æ¢ç´¢è¦è«ãã«ããã£ã¹ããã¼ã¿ã°ã©ã ã®éä¿¡å 672 ã¢ã㬠673 ã¹ã¨ãã¦èª¤ã£ãã¢ãã¬ã¹ãè¨å®ããäºãããåé¡ãä¿®æ£ããã 674 675 (60) IPv6 ã§ãã«ã¼ã¿è¦è«ã®åéæéééãã誤ã£ã¦ããåé¡ï¼3 ç§â 4 676 ç§ï¼ãä¿®æ£ããã 677 678 (61) ã»ã°ã¡ã³ãã®ç°ãªããã¹ãã«éä¿¡ããã¨ãã ãã£ãã©ã«ãã«ã¼ã¿ã® 679 æ¤ç´¢ã«å¤±æãããã¨ãããåé¡ãä¿®æ£ããã 680 681 (62) èªèã§ããªãè¿é£æ¢ç´¢ãªãã·ã§ã³ã®å¦çã«é¢ããåé¡ãä¿®æ£ããã 682 683 (63) IPv6 ã§ãã«ã¼ã¿ããéç¥ãããããããªããããæ£ããå¦çãã¦ã 684 ãªãåé¡ãä¿®æ£ããã 685 686 (64) IPv6 ã§ãéè¤ã¢ãã¬ã¹æ¤åºä¸ã« E_QOVR ã¨ã©ã¼ãçºçãããã¨ãã 687 ãåé¡ãä¿®æ£ããã 688 689 (65) IPv6 ã®è¿é£éç¥ã§ã誤ã£ããã©ã°ãè¨å®ãã¦ããåé¡ãä¿®æ£ããã 690 691 (66) IPv6 ã§ã 次ãããã 0 ã® IPv6 ãã¼ã¿ã°ã©ã ãåä¿¡ããã¨ããé 692 ä¿¡ãã ICMPv6 ã¨ã³ã¼ã¡ãã»ã¼ã¸ã«èª¤ããããåé¡ãä¿®æ£ããã 693 694 (67) IPv6 ã§ãè¿é£éç¥ã®ã«ã¼ã¿ãã©ã°ãæ£ããå¦çããªãåé¡ãä¿®æ£ããã 695 696 (68) IPv6 ã§ãè¿é£è¦è«ã®åéæéééããæ¨æºããé·ããªããã¨ããã 697 åé¡ãä¿®æ£ããã 698 699 (69) ãã¬ãã£ãã¯ã¹ãªã¹ãã®ã¨ã³ããªæ°ãæå®ããã³ã³ãã¤ã«æã³ã³ã㣠700 ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ NUM_ND6_PREFIX_ENTRY ã追å ããã 701 702 (70) ã¤ã³ã¿ãã§ã¼ã¹ã®ã¢ãã¬ã¹ãªã¹ãï¼IPv6ï¼ã®ã¨ã³ããªæ°ãæå®ãã 703 ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ 704 NUM_IN6_IFADDR_ENTRY ã追å ããã 705 706 (71) 次ãããç¡ãã® IP ãã¼ã¿ã°ã©ã ãåä¿¡ããã¨ãã誤ã£ã ICMP6 㨠707 ã©ã¼ã¡ãã»ã¼ã¸ãåºåãã¦ããåé¡ãä¿®æ£ããã 708 709 (72) ãã£ãã©ã«ãã«ã¼ã¿ã®æå¹æéãåããæã«ã å¥ã®ãã£ãã©ã«ãã«ã¼ 710 ã¿ã«æ¥ç¶ã§ããªãåé¡ãä¿®æ£ããã 711 712 (73) IPv6 ã§ãã«ã¼ã¿ããéç¥ãããå°éå¯è½ç¶æ 713 ã®æå¹æéãæ£ããå¦ 714 çãã¦ããªãåé¡ãä¿®æ£ããã 715 716 (74) IPv6 ã§ãã«ã¼ã¿ããéç¥ãããã«ã¼ã¿æå¹æéãæ£ããå¦çãã¦ã 717 ãªãåé¡ãä¿®æ£ããã 718 719 (75) ãã«ããã£ã¹ãå®ã® ICMPv6 ã¨ã³ã¼ãªã¯ã¨ã¹ãã¸ã®å¿çã§ã éä¿¡å 720 721 ã¢ãã¬ã¹ãæ£ããè¨å®ãã¦ããªãåé¡ãä¿®æ£ããã 722 723 (76) Path MTU ã¨ãã¹ãæ 724 å ±ãã£ãã·ã¥ãå®è£ 725 ããã 726 727 (77) IPv6 ç¨ãã¹ããã£ãã·ã¥ã®ã¨ã³ããªæ°ãæå®ããã³ã³ãã¤ã«æã³ã³ 728 ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ NUM_IN6_HOSTCACHE_ENTRY ã追å ããã 729 730 (78) ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã« PPP ãé¸æããã¨ããã³ã³ãã¤ã«ã¨ 731 ã©ã¼ã«ãªãåé¡ãä¿®æ£ããã 732 733 (79) ãªãã«ã¨ã³ãã£ã¢ã³ã®ããã»ããµã§ã ã«ã¼ã¿éç¥ãæ£ããå¦çã㪠734 ãåé¡ãä¿®æ£ããã 735 736 (80) ãªãã«ã¨ã³ãã£ã¢ã³ã®ããã»ããµã§ã æçããããæ£ããå¦çã㪠737 ãåé¡ãä¿®æ£ããã 738 739 (81) ESP ç¨ã¨ãã¦ã ãããã¯ã¼ã¯ãããã¡ã®ãã©ã°ã« NB_FLG_DECRYPED 740 ã追å ããããã ããTINET ã¯ãIPSec ãç´æ¥ãµãã¼ãããªãã 741 742 (82) if_ed.c ã§ãIF_ETHER_NIC_HDR_ALIGN åã®ã¢ãã¬ã¹ã調ç¯ãããã 743 ã«å¤æ´ããã 744 745 (83) if_ed.c ã® NIC å²ãè¾¼ã¿ãã³ãã© if_ed_handler ã§ã ã¿ã¼ã²ãã 746 ä¾åé¨ã®å²è¾¼ã¿ã¯ãªã¢é¢æ° ed_inter_clear ãå¼åºãããã«å¤æ´ããã 747 748 (84) config/h8 ã«ãtinet_cpu_config.c ãæ°è¨ããã¿ã¼ã²ããä¾åé¨ã® 749 å²è¾¼ã¿ã¯ãªã¢é¢æ° ed_inter_clear ã追å ããããã ããH8 ã§ã¯ã 750 æ示çã«ããã»ããµã®å²ãè¾¼ã¿ãã¯ãªã¢ããå¿ 751 è¦ã¯ãªãããã ä½ã 752 ããªãé¢æ°ã«ãªã£ã¦ããã 753 754 (85) config/h8 ã® tinet_cpu_config.h ã«ã ã¿ã¼ã²ããä¾åé¨ã®å²è¾¼ã¿ 755 ã¯ãªã¢é¢æ° ed_inter_clear ã®ãããã¿ã¤ã宣è¨ã追å ããã 756 757 (86) config/h8 ã«ã tinet_cpu_config.c ãæ°è¨ãããã¨ã«ä¼´ãã 758 Makefile.tinet ã追å ããã 759 760 (87) IPv6 ã§ã ã«ã¼ã¿ããéç¥ãããå°éå¯è½ç¶æ 761 ã®æå¹æé 762 ï¼Reachable Timeï¼ã®åè¨ç®ã¯ãä»æ§ä¸ã¯ã0.5 ï½ 1.5 åã®ç¯å²ã§ 763 ã©ã³ãã ãªå¤ã«è¨å®ãããã ã¿ã¤ãã¼ã®èµ·åééãèæ 764 ®ãã¦ã 0.5 765 ï½ 1.45 ã®ç¯å²ã«ãªããã調æ´ããã 766 767 (88) ã¤ã¼ãµããããã£ãã¤ã¹ãã©ã¤ãã«ããã ãããã¯ã¼ã¯ãããã¡ã§ã 768 ã¢ã©ã¤ã³èª¿æ´ãè¡ã IF_ETHER_NIC_NET_BUF_ALIGN ã追å ããã 769 770 (89) IPv6 ã§ãã«ã¼ã¿ããéç¥ããããã¬ãã£ãã¯ã¹ã®æå¹æéãéãã 771 ç´å¾ã«ã æå¹ãªã¢ãã¬ã¹ã¨ãã¦å¦çãããã¨ãããåé¡ãä¿®æ£ããã 772 773 (90) ãªãã«ã¨ã³ãã£ã¢ã³ã®ããã»ããµã®ãã§ãã¯ãµã è¨ç®ã®å¦çå¹çã 774 æ¹åããã 775 776 4. ãªãªã¼ã¹ 1.2.x ãããªãªã¼ã¹ 1.3 ã¾ã§ã®å¤æ´ 777 778 (1) IPv6 ã§ããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã«ã«ã¼ãããã¯ã¤ã³ã¿ãã§ã¼ 779 ã¹ãæå®ããã¨ãã ã³ã³ãã¤ã«ã¨ã©ã¼ãçºçããåé¡ãä¿®æ£ããã 780 781 (2) ãã§ãã¯ãµã è¨ç®ã§ã¨ã©ã¼ã«ãªãåé¡ãä¿®æ£ããï¼TOPPERS/TINET 782 ãã°ãã©ãã¯ã·ã¹ãã ID:1ï¼ã 783 784 (3) echos ã§ã TCP_ECHO_SRV_STACK_SIZE ã®äºéå®ç¾©è¦åãåºãåé¡ã 785 ä¿®æ£ããï¼TOPPERS/TINET ãã°ãã©ãã¯ã·ã¹ãã ID:2ï¼ã 786 787 (4) ãããã¯ã¼ã¯ãããã¡ã®åå¾å¤±æã®æã 常ã«è¦åãåºåããããã« 788 å¤æ´ããï¼TOPPERS/TINET ãã°ãã©ãã¯ã·ã¹ãã ID:3ï¼ã 789 790 (5) echos/echos ã®åé¡ãä¿®æ£ããï¼toppers-users 1724ï¼ã 791 792 (6) IP4_CFG_FRAGMENT ãæå®ããã¨ãã tinet/netapp/dbg_cons.c 㨠793 tinet/netinet/ip_output.c ã§ã ã³ã³ãã¤ã«ã¨ã©ã¼ã«ãªãåé¡ãä¿® 794 æ£ããã 795 796 (7) æ¡å¼µãããã®ä»ãã ICMPv6 ã¨ã³ã¼ãªã¯ã¨ã¹ãã«å¯¾ããå¿çã®åé¡ 797 ãä¿®æ£ããã 798 799 (8) è¿é£æ¢ç´¢ã®å°éå¯è½æ§ã®ç¢ºèªã§ã¿ã¤ã ã¢ã¦ãããå¾ã ã¢ãã¬ã¹è§£æ±º 800 ãåºæ¥ãªãåé¡ãä¿®æ£ããã 801 802 (9) TCP ã®å 803 ¥åã»ã°ã¡ã³ãã®åæ§æé¢æ°ã®æ½å¨çãªåé¡ç¹ãä¿®æ£ããã 804 805 (10) UDP ã®ã¿ä½¿ç¨ããã¨ãã® icmp6.c ã§ã_tinet_tcp_notify ã®åç 806 §ã¨ 807 ã©ã¼ãçºçããåé¡ãä¿®æ£ããã 808 809 (11) UDP ã®éä¿¡ã§ã ã¿ã¤ã ã¢ã¦ãããã¨ãããããã¯ã¼ã¯ãããã¡ãé 810 æ¾ããªãåé¡ãä¿®æ£ããã 811 812 (12) TCP ã®å¿çã§ã IP ã®ãã¤ãã¼ããµã¤ãºã誤ãåé¡ãä¿®æ£ãã 813 ï¼TOPPERS/TINET ãã°ãã©ãã¯ã·ã¹ãã ID:5ï¼ã 814 815 (13) udp_rcv_dat ã§ã ã¿ã¤ã ã¢ã¦ãã«æéãæå®ããã¨ããã¿ã¹ã¯ã®å® 816 è¡ããããã¯ãããåé¡ãä¿®æ£ããã 817 818 (14) ãããã¯ã¼ã¯çµ±è¨æ 819 å ±ã®è¨æ¸¬ã®å¤æ°ãµã¤ãºãã _int64_ ãå®ç¾©ãã 820 ã¦ããå ´åã®ã¿ UD ã¨ãªãããã«å¤æ´ããã 821 822 (15) JSP ãªãªã¼ã¹ 1.4.2 ã«æ«å®å¯¾å¿ãããå¤æ´å 823 容ã以ä¸ã«ç¤ºãã 824 825 [1] H8 ä¾åé¨ã®å²è¾¼ã¿ã¬ãã«å°å 826 ¥ã«ä¼´ããif_ed ã¤ã¼ãµãããã» 827 ãã£ãã¤ã¹ãã©ã¤ãã®å²è¾¼ã¿å¦çãå®è£ 828 ãã 829 config/h8/akih8_3069f/tinet_sys_config.c ã追å ããã 830 [2] ed_ena_interãed_dis_inter ã®å¼æ°ã¨æ»ãå¤ãå¤æ´ããã 831 [3] ed_ena_interãed_dis_inter ã®å¼æ°ã¨æ»ãå¤ã®å¤æ´ã«ä¼´ãã 832 tinet/netdev/if_ed/if_ed.c ãå¤æ´ããã 833 [4] ed_ena_interã ed_dis_inter ã®å®ç¾©ãã 834 tinet/netdev/if_ed/if_edreg.h ããã 835 config/h8/akih8_3069f/tinet_sys_config.c ã«å¤æ´ããã 836 837 (16) tcp_cls_cep ã§ã ã¿ã¤ã ã¢ã¦ãããå¾ãtcp_acp_cep ãã¨ã©ã¼ã«ãª 838 ãåé¡ãä¿®æ£ããã 839 840 (17) 誤ã£ã IP SDU é·ã® TCP ãªã»ããã»ã°ã¡ã³ããéä¿¡ããåé¡ãä¿®æ£ããã 841 842 (18) TCP ã®ã·ã¼ã±ã³ã¹çªå·ãã©ã³ãã ã«åæåãããªãåé¡ãä¿®æ£ããã 843 844 (19) ãªãã«ã¨ã³ãã£ã¢ã³ã®ããã»ããµã§ãIPv6 ãããã®ãã¼ã¸ã§ã³ãã 845 ã©ããã¯ã¯ã©ã¹ã ããã¼ã©ãã«ãã£ã¼ã«ãã誤ã£ã¦åç 846 §ã»å¤æ´ãã 847 åé¡ãä¿®æ£ããã 848 849 (20) ãªãã«ã¨ã³ãã£ã¢ã³ã®ããã»ããµã«ãããåé¡ã«å¯¾å¿ããããã®å¤ 850 æ´å 851 容ã以ä¸ã«ç¤ºãã 852 853 [1] tinet/net/net.h ã§ã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æã«ã¨ã©ã¼ã 854 çºçããåé¡ãä¿®æ£ããã 855 [2] ã«ã¼ã¿éç¥ã®åä¿¡ã§ãæå¹æéã誤ãåé¡ãä¿®æ£ããã 856 857 (21) JSP ãªãªã¼ã¹ 1.4.2 ã«å¯¾å¿ãããå¤æ´å 858 容ã以ä¸ã«ç¤ºãã 859 860 [1] å²è¾¼ã¿ãã¯ã¿ã®çæã§ã¨ã©ã¼ã¨ãªãåé¡ãä¿®æ£ããã 861 [2] NE2000 äºæ NIC ã®ãã£ãã¤ã¹ãã©ã¤ã if_ed ã«ããã¦ãã· 862 ã¹ãã ä¾åã§ãã¹ã®åæåãè¡ã ed_bus_init ã¨ãå²è¾¼ã¿ã® 863 ã®åæåãè¡ã ed_inter_init ãæ°è¨ããã 864 [3] åå·éä¿¡è¨è£ 865 ãµã¼ãã¹è£½ NKEV-010H8ï¼H8/3069Fï¼ããµãã¼ãããã 866 867 (22) TCP ã«ããã¦ãéä¿¡å´ã§åæ§æããã åå¾ã¨éãªããããã»ã°ã¡ã³ 868 ãã®åæ§æãæ£ããè¡ãããªãåé¡ãä¿®æ£ããï¼TOPPERS/TINET ã 869 ã°ãã©ãã¯ã·ã¹ãã ID:8ï¼ã 870 871 (23) 以ä¸ã®ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ãå¤æ´ããã 262 を指定して、 TINET のライブラリを作成しないようにした場合、リ 263 ンクができない問題を修正した。 264 265 (43) NE2000 互換 NIC(if_ed) 用イーサネットインタフェースドライバで、 266 送信するフレームのデータ部の長さが 46 オクテット未満の場合は、 267 データの終りからフレームの終わり(CRC を除く)まで 0 で埋める 268 ように変更した。 269 270 (44) ASP への対応に関する変更を以下に示す。 271 272 [1] ASP 用 TINET において TCP ヘッダのトレース出力機能で、 273 TCP_CFG_TRACE を指定するとコンパイルできない問題を修正した。 274 [2] ターゲット OS が ASP、ネットワーク層が IPv4 で、 データ 275 グラムの分割・再構成行うことを指定する IP4_CFG_FRAGMENT 276 を定義した時、SEM_IP4_FRAG_QUEUE が未定義のエラーとなる 277 問題を修正した。 278 [3] if_loop.c を ASP に対応させた。 279 [4] TINET のサンプルアプリケーションの Makefile を ASP のテ 280 ンプレートディレクトリ sample の Makefile から生成する 281 ように変更した。 282 [5] ASP テンプレートディレクトリを指定するオプション 283 -m <asptemplatedir> を tinet_asp_configure に追加した。 284 [6] コンフィギュレータ(cfg)のパス名を指定するオプション 285 -g <cfg> を tinet_asp_configure に追加した。 286 [7] ASP-1.7 以降の cfg1_out.c への対応を行った。 287 [8] ASP-1.8 以降の Makefile への対応を行うため、 。 288 Makefile.tinet の ASP 用 TINET コンフィギュレーションファ 289 イルに関係するルール・変数等を変更した。 ASP-1.8 から 290 $(LDFLAGS) と $(CFG1_OUT_LDFLAGS) の定義が別になった。 291 $(CFG1_OUT_LDFLAGS) が未定義であれば、 ASP-1.7 以前の処 292 理を行うように変更した。 293 [9] tinet/tinet_asp.cfg に #include "target_sil.h" を追加した。 294 [10] tinet/net/net.h のバイトオーダーの定義に関して、 ターゲッ 295 トが ASP の場合、SIL_ENDIAN_BIG と SIL_ENDIAN_LITTLE の 296 定義を変更しないように修正した。 297 これに対応して、 _NET_CFG_BYTE_ORDER、 298 _NET_CFG_LITTLE_ENDIAN、 299 _NET_CFG_BIG_ENDIAN を定義し、 TINET の内部で、 300 SIL_ENDIAN、 SIL_ENDIAN_BIG、SIL_ENDIAN_LITTLE を参照し 301 ないように修正した。 302 303 (45) JSP への対応に関する変更を以下に示す。 304 305 [1] JSP リリース 1.4.4 でコンパイルできない問題(Makefile 306 の不整合)を修正した。 307 [2] JSP テンプレートディレクトリを指定するオプション 308 -m <jsptemplatedir> を tinet_jsp_configure に追加した。 309 [3] tinet_sample.pdf、「2. サンプルアプリケーションの構築」、 310 「(1) TINET コンフィギュレーションスクリプトの実行」、 311 「[2] TOPPERS/JSP 用 TINET コンフィギュレーションスクリ 312 プトの実行」から、オプション -d を削除した。 313 314 2. リリース 1.4.x から 1.5 までの変更 315 316 (1) データグラム再構成用ネットワークバッファの定義に、 317 IF_ETHER_NIC_NET_BUF_ALIGN が不足していた問題を修正した。 318 319 (2) TINET プロトコルスタックの記述を、 TOPPERS/ASP カーネルで規定 320 されている TOPPERS 共通データ型に変更した。 321 322 (3) UDP で、 ノンブロッキングコール機能を組み込まず、UDP 通信端点 323 に UDP_PORTANY を指定したとき、ポート番号が自動的に割り当てら 324 れない問題を修正した。 325 326 (4) コンパイル時コンフィギュレーションパラメータ SUPPORT_IPSEC を 327 新設した。これは、IPSEC を処理するための指定である。 ただし、 328 TINET は、 IPSEC を処理するためのフックのみを ip_input.c と 329 ip_output.c 用意しているたけで、 IPSEC 自体は実装していないの 330 で、別に組み込む必要がある。 331 332 (5) TOPPERS/ASP に対応した。 333 334 (6) ネットワークインタフェースの PPP とループバックを参考実装とした。 335 336 (7) IPv4/IPv4 データグラムの設定の、 4 オクテット境界までパディン 337 グで埋める処理で、 ネットワークバッファの領域外にパディングを 338 書き込むことがある問題を修正した。 339 340 (8) PPP で、 サーバからの IP アドレス自動取得ができない問題を修正した。 341 342 (9) IPv4 の入力処理で、上位層が ICMP 以外の場合に行うオプションの 343 消去をヘッダチェックサムの検査の後に変更した。 344 345 (10) IPv4 の入力処理で、分割のチェックから RF ビットを外した。 346 347 (11) IPv6 で、通信帯域を食いつぶす攻撃への対応のため、 タイプ 0 経 348 路制御ヘッダの処理を行わないように変更した。 349 350 (12) TCP の出力で、 送信サイズを通信相手の最大セグメントサイズに調 351 整する場合、 誤ったサイズに調整することがある問題を修正した。 352 353 (13) 通信相手の TCP の MSS オプションの処理で、 記録する値を、 354 TCP_MINMSS(216)から MAX_TCP_SND_SEG(標準は、 IPv4 が 512、 355 IPv6 が 1024)に制限するように変更した。 356 357 (14) IPv6 で、リンクローカルアドレスの重複を検出した場合、それ以降 358 の近隣探索パケットを出力しなように変更した。 359 360 (15) IPv6 で、ルータ通知のプレフィックス長が不正でも処理を継続し、 361 プレフィックスリストに登録する。 また、オンリンク・フラグが有 362 効であれば、同一 LAN 内のアドレスとして有効となるように変更した。 363 364 (16) ITRON TCP/IP API の仕様に定義されているコールバック関数の引数 365 p_parblk に関して、アドレス渡しが正しいが、値渡しとしていた実 366 装上の誤りを修正した。また、TINET リリース 1.4 以前と互換性を 367 維持するために値渡しにするコンパイル時コンフィギュレーション 368 パラメータ TCP_CFG_NON_BLOCKING_COMPAT14 と 369 UDP_CFG_NON_BLOCKING_COMPAT14 を新設した。 370 371 (17) 能動オープン(TCP_CON_CEP 呼出し)でノンブロッキングコールを 372 行った時に、同時オープン(TCP の状態遷移が「SYN 送信」→「SYN 373 受信」→「コネクション確立」)が発生した場合、 コールバック関 374 数が呼出されない問題を修正した。 375 376 (18) タスクからの Time Wait 状態の TCP 通信単点分離機能を組込んだ 377 場合に、 ACK セグメントを再送する時、ポート番号のバイトオーダー 378 の変換が誤っていた問題を修正した。 379 380 (19) TCP で Keep Alive を有効にした時、ウィンドサイズが 0 のセグメ 381 ントが送信される問題を修正した。 382 383 (20) Makefile に NO_USE_TINET_LIBRARY = true を指定して、 ライブラ 384 リ化させない方法における問題を修正した。 385 386 (21) TOPPERS/ASP の実行環境、 GCC 3.x 系の開発環境でアプリケーショ 387 ンプログラムを構築した時、ethernet ヘッダ構造体のサイズが不一 388 致になり、 動作が不安定になることがある問題を修正した。 389 390 (22) H8 依存部で、 tinet_sys_config.h に指定されている ED_IPM の設 391 定を、IPM_LEVEL1 から IPM_LEVEL0 に変更した。 392 393 3. リリース 1.3.x から 1.4 までの変更 394 395 (1) tinet コンフィギュレーションに TCP/IPv4 受付口の予約 ID を定 396 義する VRID_TCP_REP を追加した。 397 398 (2) tinet コンフィギュレーションに TCP/IPv4 通信端点の予約 ID を 399 定義する VRID_TCP_CEP を追加した。 400 401 (3) tinet コンフィギュレーションに UDP/IPv4 通信端点の予約 ID を 402 定義する VRID_UDP_CEP を追加した。 403 404 (4) tinet コンフィギュレーションに TCP/IPv6 受付口の予約 ID を定 405 義する VRID_TCP6_REP を追加した。 406 407 (5) tinet コンフィギュレーションに TCP/IPv6 通信端点の予約 ID を 408 定義する VRID_TCP6_CEP を追加した。 409 410 (6) tinet コンフィギュレーションに UDP/IPv6 通信端点の予約 ID を 411 定義する VRID_UDP6_CEP を追加した。 412 413 (7) ITRON TCP/IP API の TCP の拡張機能を有効にするコンパイル時コ 414 ンフィギュレーションパラメータ TCP_CFG_EXTENTIONS を追加した。 415 416 (8) ITRON TCP/IP API の UDP の拡張機能を有効にするコンパイル時コ 417 ンフィギュレーションパラメータ UDP_CFG_EXTENTIONS を追加した。 418 419 (9) 一般定数マクロ TCP_REP_NONE を追加した。値は(0)。 420 421 (10) 一般定数マクロ TCP_CEP_NONE を追加した。値は(0)。 422 423 (11) 一般定数マクロ UDP_CEP_NONE を追加した。値は(0)。 424 425 (12) 全域変数として、 ipv6_addrany をマクロで定義した。 実体は、 426 in6_addr_unspecified であり、これに伴って、プロトコルスタック 427 内部名のリネームから、in6_addr_unspecified を外した。 428 429 (13) UDP の通信端点の myportno に UDP_PORTANY を指定できない問題を 430 修正した。 431 432 (14) ITRON TCP/IP API の TCP/IPv4 受付口を動的に生成する API の 433 cre_tcp_rep を追加した。 434 435 (15) ITRON TCP/IP API の TCP 通信端点を動的に生成する API の 436 cre_tcp_cep を追加した。 437 438 (16) ITRON TCP/IP API の UDP/IPv4 通信端点を動的に生成する API の 439 cre_udp_cep を追加した。 440 441 (17) ITRON TCP/IP API の TCP 受付口を動的に削除する API の 442 del_tcp_rep を追加した。 443 444 (18) ITRON TCP/IP API の TCP 通信端点を動的に削除する API の 445 del_tcp_cep を追加した。 446 447 (19) ITRON TCP/IP API の UDP 通信端点を動的に削除する API の 448 del_udp_cep を追加した。 449 450 (20) ITRON TCP/IP API の TCP/IPv6 受付口を動的に生成する API の 451 cre_tcp6_rep を追加した。 452 453 (21) ITRON TCP/IP API の UDP/IPv6 通信端点を動的に生成する API の 454 cre_udp6_cep を追加した。 455 456 (22) ITRON TCP/IP API の TCP 通信端点オプションを設定する API の 457 tcp_set_opt を追加した。 458 459 (23) ITRON TCP/IP API の TCP 通信端点オプションを読出す API の 460 tcp_get_opt を追加した。 461 462 (24) ITRON TCP/IP API の UDP 通信端点オプションを設定する API の 463 udp_set_opt を追加した。 464 465 (25) ITRON TCP/IP API の UDP 通信端点オプションを読出す API の 466 udp_get_opt を追加した。 467 468 (26) 内部的に使用している構造体名を変更した。 469 470 [1] struct t_tcp4_ccep → struct t_tcp4_cep 471 [2] struct t_tcp6_ccep → struct t_tcp6_cep 472 [3] T_TCP_CCEP → T_TCP_IN_CCEP → T_TCP_CEP 473 [4] T_TCP_TW_CCEP → T_TCP_TWCEP 474 [5] T_TCP4_CCEP → T_TCP4_CEP 475 [6] T_TCP4_TW_CCEP → T_TCP4_TWCEP 476 [7] T_TCP6_CCEP → T_TCP6_CEP 477 [8] T_TCP4_TW_CCEP → T_TCP4_TWCEP 478 [9] T_TCP_CREP → T_TCP_IN_CREP → T_TCP_REP 479 [10] T_TCP4_CREP → T_TCP4_REP 480 [11] T_TCP6_CREP → T_TCP6_REP 481 [12] T_UDP_CCEP → T_UDP_IN_CCEP → T_UDP_CEP 482 [13] T_UDP4_CCEP → T_UDP4_CEP 483 [14] T_UDP6_CCEP → T_UDP6_CEP 484 485 (27) 内部的に使用している変数・配列名を変更した。 486 487 [1] tcp_crep → tcp_rep 488 [2] tcp_ccep → tcp_cep 489 [3] tcp_tw_ccep → tcp_twcep 490 [4] udp_ccep → udp_cep 491 [5] tmax_tcp_crepid → tmax_tcp_repid 492 [6] tmax_tcp_ccepid → tmax_tcp_cepid 493 [7] tmax_udp_ccepid → tmax_udp_cepid 494 495 (28) 内部的に使用しているマクロ名を変更した。 496 497 [1] VAID_TCP_CREPID → VAID_TCP_REPID 498 [2] VAID_TCP_CCEPID → VAID_TCP_CEPID 499 [3] VAID_UDP_CCEPID → VAID_UDP_CEPID 500 [4] INDEX_TCP_CREP → INDEX_TCP_REP 501 [5] INDEX_TCP_CCEP → INDEX_TCP_CEP 502 [6] INDEX_UDP_CCEP → INDEX_UDP_CEP 503 [7] GET_TCP_CREP → GET_TCP_REP 504 [8] GET_TCP_CCEP → GET_TCP_CEP 505 [9] GET_UDP_CCEP → GET_UDP_CEP 506 [10] GET_TCP_CREPID → GET_TCP_REPID 507 [11] GET_TCP_CCEPID → GET_TCP_CEPID 508 [12] GET_UDP_CCEPID → GET_UDP_CEPID 509 [13] GET_TCP_TW_CCEPID → GET_TCP_TWCEPID 510 [14] TMIN_TCP_RCEPID → TMIN_TCP_REPID 511 [15] TMIN_TCP_CCEPID → TMIN_TCP_CEPID 512 [16] TMIN_UDP_CCEPID → TMIN_UDP_CEPID 513 [17] TMIN_TCP_TW_CCEPID → TMIN_TCP_TWCEPID 514 [18] TNUM_TCP_RCEPID → TNUM_TCP_REPID 515 [19] TNUM_TCP_CCEPID → TNUM_TCP_CEPID 516 [20] TNUM_UDP_CCEPID → TNUM_UDP_CEPID 517 518 (29) 内部的に使用しているカーネルオブジェクト名を変更した。 519 520 [1] SEM_TCP_CCEP → SEM_TCP_CEP 521 [2] SEM_UDP_CCEP → SEM_UDP_CEP 522 523 (30) TW 用 TCP 通信端点で、不要なメンバを削除した。 524 525 (31) 緊急データの最後のバイトのオフセットを規定するコンパイル時コ 526 ンフィギュレーションパラメータ TCP_CFG_URG_OFFSET を追加した。 527 528 (32) ITRON TCP/IP API の緊急データ受信 API の tcp_rcv_oob を追加した。 529 530 (33) ITRON TCP/IP API の緊急データ送信 API の tcp_snd_oob を追加した。 531 532 (34) UDP のコールバック用受信データキューを使用しないようにした。 533 534 (35) ノンブロッキングコールを組込む場合にリンクされる関数の定義を、 535 udp_usrreq.c から分離し、 udp_usrreq_nblk.c に移動した。 536 udp_usrreq_nblk.c は、udp_usrreq.c にインクルードする。 537 538 (36) TCP で、再送を 12 回行なっても、通信が回復しないとき、 コネク 539 ションを破棄するリセットセグメントが送信されない問題を修正した。 540 541 (37) TCP で、ACK を正常に送信しないことがある問題を修正した。 542 543 (38) TCP で、 高速再転送と高速リカバリが正常に行なわれないことがあ 544 る問題を修正した。 545 546 (39) 受信ウィンドバッファの省コピー機能を使用したとき、 TCP のハー 547 フクローズ状態で、 データを全て受信できないことがある問題を修 548 正した。 549 550 (40) ビッグエンディアンのプロセッサにおいて、 TCP ヘッダのトレース 551 出力で、 正しい値を表示しない問題を修正した。 552 553 (41) TCP ヘッダのトレース出力で、 送受信が混ざる場合がある問題を修 554 正した。 555 556 (42) コールバック用 UDP 受信キューサイズを指定する 557 NUM_DTQ_UDP_CB_RCVQ は、アルゴリズムの変更により不要になった。 558 559 (43) TCP 受付口が tinet_$(UNAME).cfg に指定されていない場合、 560 TCP_CFG_PASSIVE_OPEN を未定義にしなければ、リンク時に未定義エ 561 ラーになる問題を修正した。 562 563 (44) T_NET_BUF_IF_PDU で、フレームの終わりの境界の調整量を指定する 564 イーサネットインタフェース依存パラメータ定義 565 IF_PDU_HDR_PADDING を追加した。 566 567 (45) 内部的に使用している構造体名を変更した。 568 569 [1] t_net_buf_reassm → t_net_buf4_reassm 570 [2] T_NET_BUF_REASSM → T_NET_BUF4_REASSM 571 572 (46) 再構成バッファサイズのネットワークバッファ数を指定するコンパ 573 イル時コンフィギュレーションパラメータ NUM_MPF_NET_BUF_REASSM 574 を NUM_MPF_NET_BUF4_REASSM に変更し、 IPv4 用の再構成バッファ 575 サイズのネットワークバッファ数を指定するパラメータとした。 576 577 (47) ICMP6 エラーの出力時に、IPv6 MMTU(1,280 オクテット)を超える 578 データグラムを出力する問題を修正した。 579 580 (48) IPv6 データグラム再構成用ネットワークバッファ獲得タイムアウト 581 を指定するコンパイル時コンフィギュレーションパラメータ 582 TMO_IP6_FRAG_GET_NET_BUF を追加した。 583 584 (49) IPv6 データグラムの分割・再構成行う場合に指定するコンパイル時 585 コンフィギュレーションパラメータ IP6_CFG_FRAGMENT を追加した。 586 587 (50) IPv6 データグラム再構成キューサイズを指定するコンパイル時コン 588 フィギュレーションパラメータ NUM_IP6_FRAG_QUEUE を追加した。 589 標準値は 2 である。 590 591 (51) IPv6 データグラム再構成用ネットワークバッファのサイズを指定す 592 るコンパイル時コンフィギュレーションパラメータ 593 IP6_CFG_FRAG_REASSM_SIZE を追加した。標準値は 4096 である。 594 595 (52) ICMPv6 で、受信したチェックサムの計算を誤ることがある問題を修 596 正した。 597 598 (53) IPv6 で、 認識できない次ヘッダコードを入力したとき、 送信する 599 ICMPv6 エラーメッセージに誤りがある問題を修正した。 600 601 (54) IPv6 の Traffic Class と Flow Label をサポートしないが、 これ 602 らに 0 以外の値を設定して送信することがある問題を修正した。 603 604 (55) IPv6 で、 ホップリミットが 0 の ICMPv6 エコー要求パケットを受 605 信したとき、 送信する ICMPv6 エコーメッセージに誤りがある問題 606 を修正した。 607 608 (56) IPv6 で、重複アドレス検出時に、誤ったあて先アドレスのデータグ 609 ラムを受信したとき、 誤って自アドレスが重複していると認識して 610 しまうことがある問題を修正した。 611 612 (57) IPv6 で、生存期間が切れたプレフィックスのアドレスが有効になる 613 事がある問題を修正した。 614 615 (58) IPv6 で、近隣探索キャッシュの状態遷移に一部誤りがあった問題を 616 修正した。 617 618 (59) IPv6 で、近隣探索要請マルチキャストデータグラムの送信元アドレ 619 スとして誤ったアドレスを設定する事がある問題を修正した。 620 621 (60) IPv6 で、ルータ要請の再送時間間隔が、誤っていた問題(3 秒→ 4 622 秒)を修正した。 623 624 (61) セグメントの異なるホストに送信するとき、 ディフォルトルータの 625 検索に失敗することがある問題を修正した。 626 627 (62) 認識できない近隣探索オプションの処理に関する問題を修正した。 628 629 (63) IPv6 で、ルータから通知されたホップリミットを正しく処理してい 630 ない問題を修正した。 631 632 (64) IPv6 で、重複アドレス検出中に E_QOVR エラーが発生することがあ 633 る問題を修正した。 634 635 (65) IPv6 の近隣通知で、誤ったフラグを設定していた問題を修正した。 636 637 (66) IPv6 で、 次ヘッダが 0 の IPv6 データグラムを受信したとき、送 638 信する ICMPv6 エコーメッセージに誤りがある問題を修正した。 639 640 (67) IPv6 で、近隣通知のルータフラグを正しく処理しない問題を修正した。 641 642 (68) IPv6 で、近隣要請の再送時間間隔が、標準より長くなることがある 643 問題を修正した。 644 645 (69) プレフィックスリストのエントリ数を指定するコンパイル時コンフィ 646 ギュレーションパラメータ NUM_ND6_PREFIX_ENTRY を追加した。 647 648 (70) インタフェースのアドレスリスト(IPv6)のエントリ数を指定する 649 コンパイル時コンフィギュレーションパラメータ 650 NUM_IN6_IFADDR_ENTRY を追加した。 651 652 (71) 次ヘッダ無しの IP データグラムを受信したとき、誤った ICMP6 エ 653 ラーメッセージを出力していた問題を修正した。 654 655 (72) ディフォルトルータの有効時間が切れた時に、 別のディフォルトルー 656 タに接続できない問題を修正した。 657 658 (73) IPv6 で、ルータから通知された到達可能状態の有効時間を正しく処 659 理していない問題を修正した。 660 661 (74) IPv6 で、ルータから通知されたルータ有効時間を正しく処理してい 662 ない問題を修正した。 663 664 (75) マルチキャスト宛の ICMPv6 エコーリクエストへの応答で、 送信元 665 アドレスを正しく設定していない問題を修正した。 666 667 (76) Path MTU とホスト情報キャッシュを実装した。 668 669 (77) IPv6 用ホストキャッシュのエントリ数を指定するコンパイル時コン 670 フィギュレーションパラメータ NUM_IN6_HOSTCACHE_ENTRY を追加した。 671 672 (78) ネットワークインタフェースに PPP を選択したとき、コンパイルエ 673 ラーになる問題を修正した。 674 675 (79) リトルエンディアンのプロセッサで、 ルータ通知を正しく処理しな 676 い問題を修正した。 677 678 (80) リトルエンディアンのプロセッサで、 断片ヘッダを正しく処理しな 679 い問題を修正した。 680 681 (81) ESP 用として、 ネットワークバッファのフラグに NB_FLG_DECRYPED 682 を追加した。ただし、TINET は、IPSec を直接サポートしない。 683 684 (82) if_ed.c で、IF_ETHER_NIC_HDR_ALIGN 分のアドレスを調節するよう 685 に変更した。 686 687 (83) if_ed.c の NIC 割り込みハンドラ if_ed_handler で、 ターゲット 688 依存部の割込みクリア関数 ed_inter_clear を呼出すように変更した。 689 690 (84) config/h8 に、tinet_cpu_config.c を新設し、ターゲット依存部の 691 割込みクリア関数 ed_inter_clear を追加した。ただし、H8 では、 692 明示的にプロセッサの割り込みをクリアする必要はないため、 何も 693 しない関数になっている。 694 695 (85) config/h8 の tinet_cpu_config.h に、 ターゲット依存部の割込み 696 クリア関数 ed_inter_clear のプロトタイプ宣言を追加した。 697 698 (86) config/h8 に、 tinet_cpu_config.c を新設したことに伴い、 699 Makefile.tinet も追加した。 700 701 (87) IPv6 で、 ルータから通知された到達可能状態の有効時間 702 (Reachable Time)の再計算は、仕様上は、0.5 ~ 1.5 倍の範囲で 703 ランダムな値に設定するが、 タイマーの起動間隔を考慮して、 0.5 704 ~ 1.45 の範囲になるよう調整した。 705 706 (88) イーサネットディバイスドライバにより、 ネットワークバッファで、 707 アライン調整を行う IF_ETHER_NIC_NET_BUF_ALIGN を追加した。 708 709 (89) IPv6 で、ルータから通知されたプレフィックスの有効時間が過ぎた 710 直後に、 有効なアドレスとして処理することがある問題を修正した。 711 712 (90) リトルエンディアンのプロセッサのチェックサム計算の処理効率を 713 改善した。 714 715 4. リリース 1.2.x からリリース 1.3 までの変更 716 717 (1) IPv6 で、ネットワークインタフェースにループバックインタフェー 718 スを指定したとき、 コンパイルエラーが発生する問題を修正した。 719 720 (2) チェックサム計算でエラーになる問題を修正した(TOPPERS/TINET 721 バグトラックシステム ID:1)。 722 723 (3) echos で、 TCP_ECHO_SRV_STACK_SIZE の二重定義警告が出る問題を 724 修正した(TOPPERS/TINET バグトラックシステム ID:2)。 725 726 (4) ネットワークバッファの取得失敗の時、 常に警告を出力するように 727 変更した(TOPPERS/TINET バグトラックシステム ID:3)。 728 729 (5) echos/echos の問題を修正した(toppers-users 1724)。 730 731 (6) IP4_CFG_FRAGMENT を指定したとき、 tinet/netapp/dbg_cons.c と 732 tinet/netinet/ip_output.c で、 コンパイルエラーになる問題を修 733 正した。 734 735 (7) 拡張ヘッダの付いた ICMPv6 エコーリクエストに対する応答の問題 736 を修正した。 737 738 (8) 近隣探索の到達可能性の確認でタイムアウトした後、 アドレス解決 739 が出来ない問題を修正した。 740 741 (9) TCP の入力セグメントの再構成関数の潜在的な問題点を修正した。 742 743 (10) UDP のみ使用するときの icmp6.c で、_tinet_tcp_notify の参照エ 744 ラーが発生する問題を修正した。 745 746 (11) UDP の送信で、 タイムアウトしたとき、ネットワークバッファを開 747 放しない問題を修正した。 748 749 (12) TCP の応答で、 IP のペイロードサイズを誤る問題を修正した 750 (TOPPERS/TINET バグトラックシステム ID:5)。 751 752 (13) udp_rcv_dat で、 タイムアウトに時間を指定したとき、タスクの実 753 行がブロックされる問題を修正した。 754 755 (14) ネットワーク統計情報の計測の変数サイズを、 _int64_ が定義され 756 ている場合のみ UD となるように変更した。 757 758 (15) JSP リリース 1.4.2 に暫定対応した。変更内容を以下に示す。 759 760 [1] H8 依存部の割込みレベル導入に伴い。if_ed イーサネット・ 761 ディバイスドライバの割込み処理を実装する 762 config/h8/akih8_3069f/tinet_sys_config.c を追加した。 763 [2] ed_ena_inter、ed_dis_inter の引数と戻り値を変更した。 764 [3] ed_ena_inter、ed_dis_inter の引数と戻り値の変更に伴い、 765 tinet/netdev/if_ed/if_ed.c も変更した。 766 [4] ed_ena_inter、 ed_dis_inter の定義を、 767 tinet/netdev/if_ed/if_edreg.h から、 768 config/h8/akih8_3069f/tinet_sys_config.c に変更した。 769 770 (16) tcp_cls_cep で、 タイムアウトした後、tcp_acp_cep がエラーにな 771 る問題を修正した。 772 773 (17) 誤った IP SDU 長の TCP リセットセグメントを送信する問題を修正した。 774 775 (18) TCP のシーケンス番号がランダムに初期化されない問題を修正した。 776 777 (19) リトルエンディアンのプロセッサで、IPv6 ヘッダのバージョン、ト 778 ラヒッククラス、 フローラベルフィールドを誤って参照・変更する 779 問題を修正した。 780 781 (20) リトルエンディアンのプロセッサにおける問題に対応するための変 782 更内容を以下に示す。 783 784 [1] tinet/net/net.h で、 コンフィギュレーション時にエラーが 785 発生する問題を修正した。 786 [2] ルータ通知の受信で、有効時間を誤る問題を修正した。 787 788 (21) JSP リリース 1.4.2 に対応した。変更内容を以下に示す。 789 790 [1] 割込みベクタの生成でエラーとなる問題を修正した。 791 [2] NE2000 互換 NIC のディバイスドライバ if_ed において、シ 792 ステム依存でバスの初期化を行う ed_bus_init と、割込みの 793 の初期化を行う ed_inter_init を新設した。 794 [3] 品川通信計装サービス製 NKEV-010H8(H8/3069F)をサポートした。 795 796 (22) TCP において、送信側で再構成され、 前後と重なりがあるセグメン 797 トの再構成が正しく行われない問題を修正した(TOPPERS/TINET バ 798 グトラックシステム ID:8)。 799 800 (23) 以下のコンパイル時コンフィギュレーションパラメータを変更した。 872 801 873 802 NUM_MPF_NET_BUF_4096 874 â803 ↓ 875 804 NUM_MPF_NET_BUF_REASSM 876 805 877 ãã ãã tinet_config.h ã§ããªãªã¼ã¹ 1.2 ã¨ã®äºææ§ã確ä¿ãã¦ããã 878 879 (24) ãããã¯ã¼ã¯ãããã¡ã®åé·ãã®æå®ã§ãç¡æå®ã¾ã㯠0 ãæå®ã 880 ãå ´åã¯ã 対å¿ããåºå®ã¡ã¢ãªãã¼ã«ãå²å½ã¦ãªãããã«å¤æ´ããã 881 882 (25) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ã«ã åæ§æãããã¡ 883 ãµã¤ãºãæå®ãã IP4_CFG_FRAG_REASSM_SIZE ãæ°è¨ããã 884 885 (26) ãããã¯ã¼ã¯ãããã¡ã«æ°ãããµã¤ãºã追å ããã 886 887 [1] T_NET_BUF_IPV6_CSEGããµã¤ãºã¯ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ 888 ã®ããããµã¤ãº + IP ããããµã¤ãº + TCP ããããµã¤ãº 889 [2] T_NET_BUF_IP_MSS ã§ã ãµã¤ãºã¯ IP_MSSï¼ãããã¯ã¼ã¯ã¤ã³ 890 ã¿ãã§ã¼ã¹ã®ããããµã¤ãº + 576 ãªã¯ãããï¼ã 891 [3] T_NET_BUF_IPV6_MMTUããµã¤ãºã¯ IPV6_MMTUï¼ãããã¯ã¼ã¯ã¤ 892 ã³ã¿ãã§ã¼ã¹ã®ããããµã¤ãº + 1280 ãªã¯ãããï¼ã 893 894 (27) TINET å 895 é¨ã®ã¿ã¤ã ã¢ã¦ãå¤ã ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºãå 896 é¨ã®ã¿ 897 ã¹ã¯ã®åªå 898 度ããã¼ã¿ãã¥ã¼ã®ã¨ã³ããªæ°ã åã³ä»¥ä¸ã®ã³ã³ãã¤ã« 899 æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ã¯ãtinet/tinet_config.h 㧠900 å®ç¾©ããããã«å¤æ´ããã 806 ただし、 tinet_config.h で、リリース 1.2 との互換性を確保してある。 807 808 (24) ネットワークバッファの各長さの指定で、無指定または 0 を指定し 809 た場合は、 対応する固定メモリプールを割当てないように変更した。 810 811 (25) コンパイル時コンフィギュレーションパラメータに、 再構成バッファ 812 サイズを指定する IP4_CFG_FRAG_REASSM_SIZE を新設した。 813 814 (26) ネットワークバッファに新しいサイズを追加した。 815 816 [1] T_NET_BUF_IPV6_CSEG、サイズはネットワークインタフェース 817 のヘッダサイズ + IP ヘッダサイズ + TCP ヘッダサイズ 818 [2] T_NET_BUF_IP_MSS で、 サイズは IP_MSS(ネットワークイン 819 タフェースのヘッダサイズ + 576 オクテット)。 820 [3] T_NET_BUF_IPV6_MMTU、サイズは IPV6_MMTU(ネットワークイ 821 ンタフェースのヘッダサイズ + 1280 オクテット)。 822 823 (27) TINET 内部のタイムアウト値、 タスクのスタックサイズ、内部のタ 824 スクの優先度、データキューのエントリ数、 及び以下のコンパイル 825 時コンフィギュレーションパラメータは、tinet/tinet_config.h で 826 定義するように変更した。 901 827 902 828 MAX_TCP_RCV_SEG … … 905 831 LOMTU 906 832 907 (28) TCP ã®ååãªã¼ãã³ããµãã¼ãããå ´åã«æå®ãã 908 SUPPORT_TCP_POPEN ã追å ããã 909 910 (29) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ã«ã 911 NUM_TCP_TW_CEP_ENTRY ã追å ãããããã¯ãã¿ã¹ã¯ãã Time Wait 912 ç¶æ 913 ã® TCP é信端ç¹ãåé¢ããæ©è½ã§ã Time Wait ç¶æ 914 ã® TCP é 915 信端ç¹ã®ã¨ã³ããªæ°ãæå®ãããæå®ããªããã 0 ãæå®ããã¨ã¿ 916 ã¹ã¯ãã Time Wait ç¶æ 917 ã® TCP é信端ç¹ãåé¢ããæ©è½ãçµè¾¼ã¾ãªãã 918 919 (30) TCP ã®ååãªã¼ãã³ããµãã¼ãããå ´åã«æå®ãã 920 SUPPORT_TCP_POPEN 㯠TCP_CFG_PASSIVE_OPEN ã®ããã¥ã¡ã³ã誤ãã 921 922 (31) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãçæãã tinet_cfg.c ã® TCP_CRE_CEP 923 ã«å¯¾å¿ããæ§é ä½ T_TCP_CCEP ã®ãã£ã¼ã«ã sbuf 㨠rbuf ã®å¤ã® 924 åã« (VP) ãã ãã£ã¼ã«ã callback ã®å¤ã®åã« (FP) ãåºåãã 925 ããã«å¤æ´ããã 926 927 (32) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãçæãã tinet_cfg.c ã® 928 TCP6_CRE_CEP ã«å¯¾å¿ããæ§é ä½ T_TCP6_CCEP ã®ãã£ã¼ã«ã sbuf 929 㨠rbuf ã®å¤ã®åã« (VP) ãã ãã£ã¼ã«ã callback ã®å¤ã®åã« 930 (FP) ãåºåããããã«å¤æ´ããã 931 932 (33) tinet ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãçæãã tinet_cfg.c ã« 833 (28) TCP の受動オープンをサポートする場合に指定する 834 SUPPORT_TCP_POPEN を追加した。 835 836 (29) コンパイル時コンフィギュレーションパラメータに、 837 NUM_TCP_TW_CEP_ENTRY を追加した。これは、タスクから Time Wait 838 状態の TCP 通信端点を分離する機能で、 Time Wait 状態の TCP 通 839 信端点のエントリ数を指定する。指定しないか、 0 を指定するとタ 840 スクから Time Wait 状態の TCP 通信端点を分離する機能を組込まない。 841 842 (30) TCP の受動オープンをサポートする場合に指定する 843 SUPPORT_TCP_POPEN は TCP_CFG_PASSIVE_OPEN のドキュメント誤り。 844 845 (31) tinet コンフィギュレータが生成する tinet_cfg.c の TCP_CRE_CEP 846 に対応する構造体 T_TCP_CCEP のフィールド sbuf と rbuf の値の 847 前に (VP) を、 フィールド callback の値の前に (FP) を出力する 848 ように変更した。 849 850 (32) tinet コンフィギュレータが生成する tinet_cfg.c の 851 TCP6_CRE_CEP に対応する構造体 T_TCP6_CCEP のフィールド sbuf 852 と rbuf の値の前に (VP) を、 フィールド callback の値の前に 853 (FP) を出力するように変更した。 854 855 (33) tinet コンフィギュレータが生成する tinet_cfg.c に 933 856 934 857 #include <netinet/in_itron.h> 935 858 936 ãåºåããããã«å¤æ´ããã 937 938 (34) TCP é信端ç¹ã§ã éåä¿¡ç¨ã®äºã¤ã®ã»ããã©ãã¤ãã³ããã©ã°ã«ã 939 ãå®è£ 940 ããã 941 942 (35) TCP é信端ç¹ã®éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ãå®è£ 943 ããã 944 945 (36) TCP é信端ç¹ã®éåä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ç¨ã«ã ä»¥ä¸ 946 ã«ç¤ºãã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ã追å ããã 947 948 [1] TCP_CFG_RWBUF_CSAVE_ONLYã TCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããã 949 ãã¡ã®çã³ãã¼æ©è½ãçµè¾¼ã¿ã ãã®æ©è½ã®ã¿ä½¿ç¨ããã 950 [2] TCP_CFG_RWBUF_CSAVEãTCP é信端ç¹ã®åä¿¡ã¦ã£ã³ããããã¡ 951 ã®çã³ãã¼æ©è½ãçµè¾¼ãã 952 [3] TCP_CFG_SWBUF_CSAVE_ONLYã TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããã 953 ãã¡ã®çã³ãã¼æ©è½ãçµè¾¼ã¿ã ãã®æ©è½ã®ã¿ä½¿ç¨ããã 954 [4] TCP_CFG_SWBUF_CSAVEãTCP é信端ç¹ã®éä¿¡ã¦ã£ã³ããããã¡ 955 ã®çã³ãã¼æ©è½ãçµè¾¼ãã 956 [5] TCP_CFG_RWBUF_CSAVE_MAX_QUEUESã TCP é信端ç¹ã®åä¿¡ã¦ã£ 957 ã³ããããã¡ã®çã³ãã¼æ©è½ã®ã åä¿¡ã¦ã£ã³ããããã¡ãã¥ã¼ 958 ã®æ大ã¨ã³ããªæ°ããã ãã æ£å¸¸ã«åä¿¡ããã»ã°ã¡ã³ããç ´ 959 æ£ããããã åéåæ°ãå¢å ãããã¾ããæå®ããªãã¨å¶é 960 ããªããæ¨æºå¤ã¯ 2 ã§ããã 961 [6] TCP_CFG_SWBUF_CSAVE_MAX_SIZEã TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ 962 ããããã¡ã®çã³ãã¼æ©è½ã§ã éä¿¡ã¦ã£ã³ããããã¡ã«ä½¿ç¨ 963 ãããããã¯ã¼ã¯ãããã¡ã®æ大ãµã¤ãºã æ¨æºå¤ã¯ 964 IF_PDU_SIZE ã§ããã 965 [7] TCP_CFG_SWBUF_CSAVE_MIN_SIZEã TCP é信端ç¹ã®éä¿¡ã¦ã£ã³ 966 ããããã¡ã®çã³ãã¼æ©è½ã§ã éä¿¡ã¦ã£ã³ããããã¡ã«ä½¿ç¨ 967 ãããããã¯ã¼ã¯ãããã¡ã®æ大ãµã¤ãºã æ¨æºå¤ã¯ 0 ã§ããã 968 969 (37) TCP 㨠UDP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½ã®çµè¾¼ã¿ãæå®ããã³ã³ 970 ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ã追å ããã 971 972 [1] TCP_CFG_NON_BLOCKINGã TCP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½ 973 ãçµè¾¼ãã 974 [2] UDP_CFG_NON_BLOCKINGã UDP ã®ãã³ããããã³ã°ã³ã¼ã«æ©è½ 975 ãçµè¾¼ãã 976 977 (38) netinet/in.h ã«ã TINET ã®ãã¼ã¸ã§ã³æ 978 å ± TINET_PRVER ãå®ç¾©ããã 979 980 (39) netinet/in.h ã«ã8 ãããæ¯ã«æå®ãã IPv4 ã¢ãã¬ã¹ã 32 ãã 981 ãã«ãããã¯ã MAKE_IPV4_ADDR ã追å ããã 982 983 (40) TCP 㨠UDP ã®ä¸é¨ãã©ã¤ãã©ãªåããã 984 985 (41) ã¢ããªã±ã¼ã·ã§ã³ã® Makefile ã«ã¤ã³ã¯ã«ã¼ããã TINET ã® 986 Makefile.config ã Makefile.tinet ã«å¤æ´ããã 987 988 (42) int ã®ãµã¤ãºã 16 ãããã®å¦çç³»ã«å¯¾å¿ããï¼åä½ç¢ºèªã¯ã ( æ ª 989 ) ã«ããµã¹è£½ã³ã³ãã¤ã© H8C ã§è¡ã£ãï¼ãå¤æ´å 990 容ã以ä¸ã«ç¤ºãã 991 992 [1] tcp_seq.h ã®ã¤ã³ã©ã¤ã³é¢æ°ã®è¨è¿°ãå¤æ´ããã 993 [2] é¢æ° timeout ã¨é¢æ° untimeout ã®ç¬¬ 1 å¼æ°ã (FP) åã«æ 994 示çã«ãã£ã¹ãããã 995 [3] ãã¯ãå 996 ã§ã·ããæ¼ç®ã®ãªãã©ã³ãã¨ãã¦ä½¿ç¨ããã¦ããå¼ 997 æ°ã®æ¹ãæ示çã«ãã£ã¹ãããã 998 [4] ãã¯ã GET_TCP_CREPIDã GET_TCP_CCEPIDã 999 GET_TCP_TW_CCEPIDã 1000 GET_UDP_CCEPID ã®æ»ãå¤ã ID åã«æ示çã«ãã£ã¹ãããã 1001 [5] tinet/net/net_buf.hããããã¯ã¼ã¯ãããã¡ã®ãã³ãã¬ã¼ã 1002 ã®å®ç¾© struct t_net_buf ã§ã ãããã¡æ¬ä½ã®å¤§ããã 1003 buf[4] ã«å¤æ´ããã 1004 [6] ä¹±æ°é¢æ° rand() ã®é¢æ°åã net_rand() ã«å¤æ´ãã æ»ãå¤ 1005 ã®åã UW ã«å¤æ´ããã 1006 [7] ä¹±æ°åæåé¢æ° srand() ã®é¢æ°åã net_srand() ã«å¤æ´ãã 1007 å¼æ°ã®åã UW ã«å¤æ´ããã 1008 [8] tcp_read_rwbuf_cs() ã®ã³ã³ãã¤ã«ã¨ã©ã¼ï¼(UB*)data += 1009 blenï¼ã®åé¡ãä¿®æ£ããã 1010 [9] MAKE_IPV4_ADDR ã®åå¼æ°ã¸ã®ãã£ã¹ãã UB ãã UW ã«å¤æ´ããã 1011 [10] SYSTIM_HZ ã®å®ç¾©ã§ãå®æ°ã«ãã£ã¹ã (SYSTIM) ã追å ããã 1012 [11] IS_PTR_DEFINED ã®å®ç¾©ã§ã(a) ã«ãã£ã¹ã (VP) ã追å ããã 1013 [12] UB åå¤æ°ãUH åå¤æ°ã¸ã®ä»£å 1014 ¥ã§ã®è¦åã®åé¡ãä¿®æ£ããã 1015 [13] 32 ãããå¹ 1016 ãå¿ 1017 è¦ãªå¤æ°ã®åã«ã¯ã æ示çã« W ã¾ã㯠UW 1018 ã使ç¨ããã 1019 [14] syslog ã®å¼æ°ã®åãæ確ã«ããã 1020 [15] è¦åãåºãé¢æ°ã®å¼æ°ããã£ã¹ãããã 1021 [16] è¦åãåºãé¢æ°ã®æ»ãå¤ããã£ã¹ãããã 1022 [17] 精度ã«é¢ããè¦åãåºã代å 1023 ¥ã®å³è¾ºããã£ã¹ãããã 1024 1025 (43) ãã¯ã ntohs 㨠htons ã®å®ç¾©ã§ã ããã°ã¨ã³ãã£ã¢ã³ã®ããã»ã 1026 ãµã§ã¯ãUH ã®æ»ãå¤ãè¿ãããã«å¤æ´ããã 1027 1028 (44) ãã¯ã ntohl 㨠htonl ã®å®ç¾©ã§ã ããã°ã¨ã³ãã£ã¢ã³ã®ããã»ã 1029 ãµã§ã¯ãUW ã®æ»ãå¤ãè¿ãããã«å¤æ´ããã 1030 1031 (45) TCP ãããã®ãã¬ã¼ã¹åºåæ©è½ã®çµè¾¼ã¿ãæå®ããã³ã³ãã¤ã«æã³ 1032 ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ã追å ããã 1033 1034 [1] TCP_CFG_TRACEãTCP ãããã®ãã¬ã¼ã¹åºåæ©è½ãçµè¾¼ãã 1035 [2] TCP_CFG_TRACE_IPV4_RADDRã ãã¬ã¼ã¹åºå対象ã®ãªã¢ã¼ãã 1036 ã¹ãã® IPv4 ã¢ãã¬ã¹ãæå®ãããIPV4_ADDRANY ãæå®ãã 1037 ã¨ãå 1038 ¨ã¦ã®ãã¹ãã対象ã¨ããã 1039 [3] TCP_CFG_TRACE_LPORTNOããã¬ã¼ã¹åºå対象ã®ãã¼ã«ã«ãã¹ã 1040 ã®ãã¼ãçªå·ãæå®ããã TCP_PORTANY ãæå®ããã¨ãå 1041 ¨ã¦ 1042 ã®ãã¼ãçªå·ã対象ã«ããã 1043 [4] TCP_CFG_TRACE_RPORTNOããã¬ã¼ã¹åºå対象ã®ãªã¢ã¼ããã¹ã 1044 ã®ãã¼ãçªå·ãæå®ãããTCP_PORTANY ãæå®ããã¨ã å 1045 ¨ã¦ 1046 ã®ãã¼ãçªå·ã対象ã«ããã 1047 1048 (46) ãµãã¼ãé¢æ° ip2str ã§ã 第 1 å¼æ°ã« NULL ãæå®ããã¨ãTINET 1049 å 1050 é¨ã§ç¢ºä¿ãã¦ãããããã¡ã«æååãæ¸ãè¾¼ã¿ã ãã®ã¢ãã¬ã¹ã 1051 è¿ãããã«å¤æ´ããã ããã«ä¼´ãããããã¡æ°ãæå®ããã³ã³ã㤠1052 ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ NUM_IPV4ADDR_STR_BUFF ã 1053 追å ããã 1054 1055 (47) ãµãã¼ãé¢æ° ipv62str ã§ã 第 1 å¼æ°ã« NULL ãæå®ããã¨ã 1056 TINET å 1057 é¨ã§ç¢ºä¿ãã¦ãããããã¡ã«æååãæ¸ãè¾¼ã¿ã ãã®ã¢ã 1058 ã¬ã¹ãè¿ãããã«å¤æ´ãããããã«ä¼´ãã ãããã¡æ°ãæå®ããã³ 1059 ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ 1060 NUM_IPV6ADDR_STR_BUFF ã追å ããã 1061 1062 (48) ãµãã¼ãé¢æ° mac2str ã§ã第 1 å¼æ°ã« NULL ãæå®ããã¨ãTINET 1063 å 1064 é¨ã§ç¢ºä¿ãã¦ãããããã¡ã«æååãæ¸ãè¾¼ã¿ã ãã®ã¢ãã¬ã¹ã 1065 è¿ãããã«å¤æ´ãããããã«ä¼´ãã ãããã¡æ°ãæå®ããã³ã³ã㤠1066 ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ NUM_MACADDR_STR_BUFF ã 1067 追å ããã 1068 1069 (49) tinet 㨠tinet/netdev/if_ed ã«ããã Makefile ã®ã¤ã³ã¯ã«ã¼ã 1070 ãã¡ã¤ã«ã Makefile.tinet ã«å¤æ´ããã 1071 1072 (50) éä¿¡ã¦ã£ã³ããããã¡ã®çã³ãã¼æ©è½ã§ãTCP_CFG_SWBUF_SAVE ãæ 1073 å®ããTCP é信端ç¹ãçæããéç API ã«ããã¦ããéä¿¡ã¦ã£ã³ã 1074 ãããã¡ãæå®ããå ´åã 誤ã£ããã¼ã¿ãéä¿¡ããåé¡ãä¿®æ£ããã 1075 1076 (51) tinet/Makefile.tinet ã«ããã TINET_KERNEL_CFG ã®å®ç¾©ãã 1077 tinet_cfg.c ãããtinet_kern.cfgãtinet.cfgãTINET å 1078 é¨ã§ä½¿ç¨ 1079 ããã«ã¼ãã«ãªãã¸ã§ã¯ããå®ç¾©ãã¦ããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ 1080 ãã¡ã¤ã«ã«å¤æ´ããã 1081 1082 (52) 8 ãããæ¯ã«æå®ãã IPv4 ã¢ãã¬ã¹ã 32 ãããã«ãããã¯ã 1083 MAKE_IPV4_ADDR ã追å ããï¼TOPPERS/TINET ãã°ãã©ãã¯ã·ã¹ãã 1084 ID:4ï¼ã 1085 1086 (53) åã½ã¼ã¹ã³ã¼ãã®ã³ãã¼ã©ã¤ããä¿®æ£ããï¼TOPPERS/TINET ãã°ã 1087 ã©ãã¯ã·ã¹ãã ID:6ï¼ã 1088 1089 5. ãªãªã¼ã¹ 1.1.x ãã 1.2 ã¾ã§ã®å¤æ´ 1090 1091 (1) TINET ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã§ã TCP åä»å£ãæå®ã㪠1092 ãã£ãã¨ãã®åé¡ã¯ã tinet/cfg/tinet_parser.cpp ã§ã 1093 tinet_cfg.c ã«ããã¼ã® TCP åä»å£å¤æ°ãåºåããããã«ä¿®æ£ããã 1094 1095 (2) UDP ã®ã¿ä½¿ç¨ããã¨ãã® kernel_cfg.c ã§ã ã³ã³ãã¤ã«ã¨ã©ã¼ãçº 1096 çããåé¡ã¯ãtinet/netinet/tcp.cfg ãã 859 を出力するように変更した。 860 861 (34) TCP 通信端点で、 送受信用の二つのセマフォをイベントフラグによ 862 り実装した。 863 864 (35) TCP 通信端点の送受信ウィンドバッファの省コピー機能を実装した。 865 866 (36) TCP 通信端点の送受信ウィンドバッファの省コピー機能用に、 以下 867 に示すコンパイル時コンフィギュレーションパラメータを追加した。 868 869 [1] TCP_CFG_RWBUF_CSAVE_ONLY、 TCP 通信端点の受信ウィンドバッ 870 ファの省コピー機能を組込み、 この機能のみ使用する。 871 [2] TCP_CFG_RWBUF_CSAVE、TCP 通信端点の受信ウィンドバッファ 872 の省コピー機能を組込む。 873 [3] TCP_CFG_SWBUF_CSAVE_ONLY、 TCP 通信端点の送信ウィンドバッ 874 ファの省コピー機能を組込み、 この機能のみ使用する。 875 [4] TCP_CFG_SWBUF_CSAVE、TCP 通信端点の送信ウィンドバッファ 876 の省コピー機能を組込む。 877 [5] TCP_CFG_RWBUF_CSAVE_MAX_QUEUES、 TCP 通信端点の受信ウィ 878 ンドバッファの省コピー機能の、 受信ウィンドバッファキュー 879 の最大エントリ数。ただし、 正常に受信したセグメントも破 880 棄するため、 再送回数が増加する。また、指定しないと制限 881 しない。標準値は 2 である。 882 [6] TCP_CFG_SWBUF_CSAVE_MAX_SIZE、 TCP 通信端点の送信ウィン 883 ドバッファの省コピー機能で、 送信ウィンドバッファに使用 884 するネットワークバッファの最大サイズ。 標準値は 885 IF_PDU_SIZE である。 886 [7] TCP_CFG_SWBUF_CSAVE_MIN_SIZE、 TCP 通信端点の送信ウィン 887 ドバッファの省コピー機能で、 送信ウィンドバッファに使用 888 するネットワークバッファの最大サイズ。 標準値は 0 である。 889 890 (37) TCP と UDP のノンブロッキングコール機能の組込みを指定するコン 891 パイル時コンフィギュレーションパラメータを追加した。 892 893 [1] TCP_CFG_NON_BLOCKING、 TCP のノンブロッキングコール機能 894 を組込む。 895 [2] UDP_CFG_NON_BLOCKING、 UDP のノンブロッキングコール機能 896 を組込む。 897 898 (38) netinet/in.h に、 TINET のバージョン情報 TINET_PRVER を定義した。 899 900 (39) netinet/in.h に、8 ビット毎に指定した IPv4 アドレスを 32 ビッ 901 トにするマクロ MAKE_IPV4_ADDR を追加した。 902 903 (40) TCP と UDP の一部をライブラリ化した。 904 905 (41) アプリケーションの Makefile にインクルードする TINET の 906 Makefile.config を Makefile.tinet に変更した。 907 908 (42) int のサイズが 16 ビットの処理系に対応した(動作確認は、 ( 株 909 ) ルネサス製コンパイラ H8C で行った)。変更内容を以下に示す。 910 911 [1] tcp_seq.h のインライン関数の記述を変更した。 912 [2] 関数 timeout と関数 untimeout の第 1 引数を (FP) 型に明 913 示的にキャストした。 914 [3] マクロ内でシフト演算のオペランドとして使用されている引 915 数の方を明示的にキャストした。 916 [4] マクロ GET_TCP_CREPID、 GET_TCP_CCEPID、 917 GET_TCP_TW_CCEPID、 918 GET_UDP_CCEPID の戻り値を ID 型に明示的にキャストした。 919 [5] tinet/net/net_buf.h、ネットワークバッファのテンプレート 920 の定義 struct t_net_buf で、 バッファ本体の大きさを 921 buf[4] に変更した。 922 [6] 乱数関数 rand() の関数名を net_rand() に変更し、 戻り値 923 の型を UW に変更した。 924 [7] 乱数初期化関数 srand() の関数名を net_srand() に変更し、 925 引数の型を UW に変更した。 926 [8] tcp_read_rwbuf_cs() のコンパイルエラー((UB*)data += 927 blen)の問題を修正した。 928 [9] MAKE_IPV4_ADDR の各引数へのキャストを UB から UW に変更した。 929 [10] SYSTIM_HZ の定義で、定数にキャスト (SYSTIM) を追加した。 930 [11] IS_PTR_DEFINED の定義で、(a) にキャスト (VP) を追加した。 931 [12] UB 型変数、UH 型変数への代入での警告の問題を修正した。 932 [13] 32 ビット幅が必要な変数の型には、 明示的に W または UW 933 を使用した。 934 [14] syslog の引数の型を明確にした。 935 [15] 警告が出る関数の引数をキャストした。 936 [16] 警告が出る関数の戻り値をキャストした。 937 [17] 精度に関する警告が出る代入の右辺をキャストした。 938 939 (43) マクロ ntohs と htons の定義で、 ビッグエンディアンのプロセッ 940 サでは、UH の戻り値を返すように変更した。 941 942 (44) マクロ ntohl と htonl の定義で、 ビッグエンディアンのプロセッ 943 サでは、UW の戻り値を返すように変更した。 944 945 (45) TCP ヘッダのトレース出力機能の組込みを指定するコンパイル時コ 946 ンフィギュレーションパラメータを追加した。 947 948 [1] TCP_CFG_TRACE、TCP ヘッダのトレース出力機能を組込む。 949 [2] TCP_CFG_TRACE_IPV4_RADDR、 トレース出力対象のリモートホ 950 ストの IPv4 アドレスを指定する。IPV4_ADDRANY を指定する 951 と、全てのホストを対象とする。 952 [3] TCP_CFG_TRACE_LPORTNO、トレース出力対象のローカルホスト 953 のポート番号を指定する。 TCP_PORTANY を指定すると、全て 954 のポート番号を対象にする。 955 [4] TCP_CFG_TRACE_RPORTNO、トレース出力対象のリモートホスト 956 のポート番号を指定する。TCP_PORTANY を指定すると、 全て 957 のポート番号を対象にする。 958 959 (46) サポート関数 ip2str で、 第 1 引数に NULL を指定すると、TINET 960 内部で確保してあるバッファに文字列を書き込み、 そのアドレスを 961 返すように変更した。 これに伴い、バッファ数を指定するコンパイ 962 ル時コンフィギュレーションパラメータ NUM_IPV4ADDR_STR_BUFF を 963 追加した。 964 965 (47) サポート関数 ipv62str で、 第 1 引数に NULL を指定すると、 966 TINET 内部で確保してあるバッファに文字列を書き込み、 そのアド 967 レスを返すように変更した。これに伴い、 バッファ数を指定するコ 968 ンパイル時コンフィギュレーションパラメータ 969 NUM_IPV6ADDR_STR_BUFF を追加した。 970 971 (48) サポート関数 mac2str で、第 1 引数に NULL を指定すると、TINET 972 内部で確保してあるバッファに文字列を書き込み、 そのアドレスを 973 返すように変更した。これに伴い、 バッファ数を指定するコンパイ 974 ル時コンフィギュレーションパラメータ NUM_MACADDR_STR_BUFF を 975 追加した。 976 977 (49) tinet と tinet/netdev/if_ed における Makefile のインクルード 978 ファイルを Makefile.tinet に変更した。 979 980 (50) 送信ウィンドバッファの省コピー機能で、TCP_CFG_SWBUF_SAVE を指 981 定し、TCP 通信端点を生成する静的 API においても、送信ウィンド 982 バッファを指定した場合、 誤ったデータを送信する問題を修正した。 983 984 (51) tinet/Makefile.tinet における TINET_KERNEL_CFG の定義を、 985 tinet_cfg.c から、tinet_kern.cfg、tinet.cfg、TINET 内部で使用 986 するカーネルオブジェクトを定義しているコンフィギュレーション 987 ファイルに変更した。 988 989 (52) 8 ビット毎に指定した IPv4 アドレスを 32 ビットにするマクロ 990 MAKE_IPV4_ADDR を追加した(TOPPERS/TINET バグトラックシステム 991 ID:4)。 992 993 (53) 各ソースコードのコピーライトを修正した(TOPPERS/TINET バグト 994 ラックシステム ID:6)。 995 996 5. リリース 1.1.x から 1.2 までの変更 997 998 (1) TINET コンフィギュレーションファイルで、 TCP 受付口を指定しな 999 かったときの問題は、 tinet/cfg/tinet_parser.cpp で、 1000 tinet_cfg.c にダミーの TCP 受付口変数を出力するように修正した。 1001 1002 (2) UDP のみ使用するときの kernel_cfg.c で、 コンパイルエラーが発 1003 生する問題は、tinet/netinet/tcp.cfg から 1097 1004 1098 1005 INCLUDE("<netinet/in.h>"); 1099 1006 1100 ãåé¤ããtinet/netinet/ip.cfg ã«1007 を削除し、tinet/netinet/ip.cfg に 1101 1008 1102 1009 INCLUDE("<netinet/in.h>"); 1103 1010 1104 ã追å ããã 1105 1106 (3) UDP ã®ã¿ä½¿ç¨ããã¨ãã® ip_icmp.c ã§ã_tinet_tcp_notify ã®åç 1107 § 1108 ã¨ã©ã¼ãçºçããåé¡ã¯ã tinet/netinet/ip_icmp.c ã§ã ICMP 1109 UNREACH ã¡ãã»ã¼ã¸ãç¡è¦ããããã«ä¿®æ£ããã 1110 1111 (4) ã«ã¼ãããã¯ã»ã¤ã³ã¿ãã§ã¼ã¹ã® IP ã¢ãã¬ã¹ãã¹ã¯ã ãã¼ã«ã«ã 1112 ãã¼ããã£ã¹ãã¢ãã¬ã¹ã®å®ç¾©èª¤ããä¿®æ£ããã 1113 1114 (5) tinet/netdev/if_ed/if_ed.c ã§ã ã¬ã¸ã¹ã¿ã SIL çµç±ã§ã¢ã¯ã»ã¹ 1115 ããããã«ä¿®æ£ããã 1116 1117 (6) IPv6 ã«å¯¾å¿ããã 1118 1119 (7) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ã«ã ãã£ãã©ã«ãã» 1120 ã²ã¼ãã¦ã§ã¤ã® IP ã¢ãã¬ã¹ãæå®ãã 1121 IPV4_ADDR_LOCAL_DEFAULT_GW ãæ°è¨ãããããã«ããããã£ãã©ã« 1122 ãã»ã²ã¼ãã¦ã§ã¤ã®ã¿ã®ãããã¯ã¼ã¯ã§ã¯ã éçã«ã¼ãã£ã³ã°æ 1123 å ± 1124 è¨å®ãã¡ã¤ã« route_cfg.c ã®å¤æ´ãä¸è¦ã«ããã 1125 1126 (8) UDP ã®åä¿¡æã åä¿¡ãã¼ãçªå·ãæªå®ç¾©ã®å ´åããããã¯ã¼ã¯ãã 1127 ãã¡ãæ£ãã解æ¾ããªãåé¡ã¨ãICMP ã®ã¨ã©ã¼éç¥ãæ£ããè¡ã㪠1128 ãåé¡ãä¿®æ£ããã 1129 1130 (9) TCP ã®åä¿¡æãåä¿¡ãã¼ãçªå·ãæªå®ç¾©ã®å ´åã ãªã»ããã»ã°ã¡ã³ 1131 ããæ£ããè¿éããªãåé¡ãä¿®æ£ããã 1132 1133 (10) ãããã¯ã¼ã¯çµ±è¨æ 1134 å ±ï¼net_countï¼ã®åå¤æ°ã _tinet_ ã§ãªãã¼ 1135 ã ããªãããã«å¤æ´ããã 1136 1137 (11) ãã¤ããªã¼ãå¤æã®å®ç¾©ã netinet/in.h ããã net/net.h ã«éç´ 1138 ãã ãªãã«ã¨ã³ãã£ã¢ã³ç¨ã®ãã¯ãã追å ããã 1139 1140 (12) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®ããããã§ã ã 1141 ã¯ã SUPPORT_MIB ãå®ç¾©ãããã¨ã«ããã SNMP ç¨ç®¡çæ 1142 å ±ãã¼ã¹ 1143 ï¼MIBï¼ã«æºæ ãããããã¯ã¼ã¯çµ±è¨ã®åå¾ãå¯è½ã¨ãªã£ãããã ãã 1144 TINET èªä½ã¯ã管çæ 1145 å ±ãã¼ã¹ï¼MIBï¼ã«æºæ ãããããã¯ã¼ã¯çµ±è¨ 1146 ãæä¾ããã ãã§ï¼SNMP ããµãã¼ããã¦ããªããã¾ãã RFC1213ã 1147 RFC2465ãRFC2466 ã«å®ç¾©ããã¦ããå 1148 ¨ã¦ã®æ 1149 å ±ãåå¾ã§ãããã㧠1150 ã¯ãªãã åå¾ã§ããæ 1151 å ±ã¯ãé¢ä¿ããã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®æ§é 1152 ä½ã®å®ç¾©ãåç 1153 §ãããã¨ã 1154 1155 (13) PPP ã® HDLC å 1156 ¥åã«ãããåé¡ãä¿®æ£ããã 1157 1158 (14) èªèã§ããªãä¸ä½ãããã³ã«ã¾ãã¯æ¡å¼µããããåä¿¡ããã¨ãã ã³ã¼ 1159 ãçªå· ICMP6_PARAMPROB_NEXTHEADERï¼1ï¼ã® ICMP6_PARAM_PROBï¼4ï¼ 1160 ã¡ãã»ã¼ã¸ãè¿éããããå¤æ´ããã 1161 1162 6. ãªãªã¼ã¹ 1.0 ãã 1.1 ã¾ã§ã®å¤æ´ 1163 1164 (1) TINET ã³ã³ãã£ã°ã¬ã¼ã¿ã®çæã§ããªã³ã¯ãä¸è¦ã«ããã 1165 1166 (2) ãã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ããè¦ç´ãã cpu_config.h ãã 1167 tinet_config.hãcpu_defs.h ãã tinet_defs.h ãåé¤ããã 1168 1169 (3) ã¢ããªã±ã¼ã·ã§ã³ã® Makefile ã®æå®å 1170 容ãä¸é¨å¤æ´ããã 1171 1172 [1] TCP ã®çµè¾¼ã¿ãSUPPORT_TCP ã®æå®ã 1173 [2] UDP ã®çµè¾¼ã¿ãSUPPORT_UDP ã®æå®ã 1174 1175 (4) ãµã³ãã« nserv.c ãã WWW ãµã¼ãæ©è½ã tinet/netapp/wwws.c ã« 1176 移ããã 1177 1178 (5) JSP ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« $(UNAME).cfg ã§ã¯ã 1179 tinet/tinet.cfg ãæå®ããã ãã§ã ãããã³ã«ã¹ã¿ãã¯å 1180 é¨ã®ã«ã¼ 1181 ãã«ãªãã¸ã§ã¯ããåãè¾¼ããããã«å¤æ´ããã 1182 1183 (6) TINET ãããã³ã«ã¹ã¿ãã¯å 1184 é¨ã§ä½¿ç¨ããã«ã¼ãã«ãªãã¸ã§ã¯ãã® 1185 æå®ãã¡ã¤ã« tinet/tinet.cfg ã§ã®ãINCLUDEãéç API ããå㢠1186 ã¸ã¥ã¼ã«ã® JSP ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã«ç§»åããã 1187 1188 (7) tinet/include ã¯å»æ¢ãã ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã以ä¸ã®ããã«ç§» 1189 åããã 1190 1191 [1] tinet/include/net â tinet/netã 1192 [2] tinet/include/netdev â tinet/netdevã 1193 [3] tinet/include/netinet â tinet/netinetã 1194 [4] tinet/include/netapp â tinet/netappã 1195 [5] tinet/include/tinet_config.h â tinet/tinet_config.hã 1196 [6] tinet/include/tinet_defs.h â tinet/tinet_defs.hã 1197 1198 (8) ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ãã£ãã¤ã¹ä¾åé¨ãç¬ç«ããããã® 1199 å¤æ´ãè¡ã£ãã 1200 1201 [1] tinet/netdev ã«ããããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ä¾åé¨ãé 1202 ç½® 1203 ãããã£ã¬ã¯ããªãæ°è¨ããã NE2000 äºæ NIC ã§ã¯ if_ed 1204 ã§ããã以ä¸ãã® NIC ã®è¨å®ã«ã¤ãã¦è¿°ã¹ãã 1205 [2] æ±ç¨ã® JSP ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 1206 nic.cfg ãæ°è¨ããã ç¾å¨ã¯ãif_ed.cfg ãã¤ã³ã¯ã«ã¼ãã 1207 ãããã«ãªã£ã¦ããã 1208 [3] æ±ç¨ã®ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã»ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ 1209 ã³ãã¡ã¤ã« tinet_nic_config.h ãæ°è¨ãããç¾å¨ã¯ã æ±ç¨ 1210 ã®ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã»å¥ååãã¡ã¤ã« 1211 nic_rename.h 㨠if_ed.h ãã¤ã³ã¯ã«ã¼ãããããã«ãªã£ã¦ããã 1212 [4] æ±ç¨ã®ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã»å¥ååãã¡ã¤ã« 1213 nic_rename.h ãæ°è¨ããã 1214 [5] if_ed.c 㨠if_ed.cfg 以å¤ã®ãã¡ã¤ã«ãã if_ed.h 㨠1215 if_edreg.h ãåé¤ããã 1216 [6] tinet/tinet_config.h ã®å¤æ´ 1217 #include <tinet_nic_config.h> ã追å ãã ã¤ã³ã¯ã«ã¼ãã® 1218 é çªãè¦ç´ããã 1011 を追加した。 1012 1013 (3) UDP のみ使用するときの ip_icmp.c で、_tinet_tcp_notify の参照 1014 エラーが発生する問題は、 tinet/netinet/ip_icmp.c で、 ICMP 1015 UNREACH メッセージを無視するように修正した。 1016 1017 (4) ループバック・インタフェースの IP アドレスマスク、 ローカルブ 1018 ロードキャストアドレスの定義誤りを修正した。 1019 1020 (5) tinet/netdev/if_ed/if_ed.c で、 レジスタを SIL 経由でアクセス 1021 するように修正した。 1022 1023 (6) IPv6 に対応した。 1024 1025 (7) コンパイル時コンフィギュレーションパラメータに、 ディフォルト・ 1026 ゲートウェイの IP アドレスを指定する 1027 IPV4_ADDR_LOCAL_DEFAULT_GW を新設した。これにより、ディフォル 1028 ト・ゲートウェイのみのネットワークでは、 静的ルーティング情報 1029 設定ファイル route_cfg.c の変更を不要にした。 1030 1031 (8) UDP の受信時、 受信ポート番号が未定義の場合、ネットワークバッ 1032 ファを正しく解放しない問題と、ICMP のエラー通知を正しく行わな 1033 い問題を修正した。 1034 1035 (9) TCP の受信時、受信ポート番号が未定義の場合、 リセットセグメン 1036 トを正しく返送しない問題を修正した。 1037 1038 (10) ネットワーク統計情報(net_count)の各変数を _tinet_ でリネー 1039 ムしないように変更した。 1040 1041 (11) バイトオーダ変換の定義を netinet/in.h から、 net/net.h に集約 1042 し、 リトルエンディアン用のマクロを追加した。 1043 1044 (12) コンパイル時コンフィギュレーション・ファイルのいずれかで、 マ 1045 クロ SUPPORT_MIB を定義することにより、 SNMP 用管理情報ベース 1046 (MIB)に準拠したネットワーク統計の取得が可能となった。ただし、 1047 TINET 自体は、管理情報ベース(MIB)に準拠したネットワーク統計 1048 を提供するだけで,SNMP をサポートしていない。また、 RFC1213、 1049 RFC2465、RFC2466 に定義されている全ての情報が取得できるわけで 1050 はない。 取得できる情報は、関係するインクルードファイルの構造 1051 体の定義を参照すること。 1052 1053 (13) PPP の HDLC 入力における問題を修正した。 1054 1055 (14) 認識できない上位プロトコルまたは拡張ヘッダを受信したとき、 コー 1056 ド番号 ICMP6_PARAMPROB_NEXTHEADER(1)の ICMP6_PARAM_PROB(4) 1057 メッセージを返送するよう変更した。 1058 1059 6. リリース 1.0 から 1.1 までの変更 1060 1061 (1) TINET コンフィグレータの生成で、リンクを不要にした。 1062 1063 (2) ファイルのインクルードを見直し、 cpu_config.h から 1064 tinet_config.h、cpu_defs.h から tinet_defs.h を削除した。 1065 1066 (3) アプリケーションの Makefile の指定内容を一部変更した。 1067 1068 [1] TCP の組込み、SUPPORT_TCP の指定。 1069 [2] UDP の組込み、SUPPORT_UDP の指定。 1070 1071 (4) サンプル nserv.c から WWW サーバ機能を tinet/netapp/wwws.c に 1072 移した。 1073 1074 (5) JSP システムコンフィギュレーションファイル $(UNAME).cfg では、 1075 tinet/tinet.cfg を指定するだけで、 プロトコルスタック内部のカー 1076 ネルオブジェクトを取り込めるように変更した。 1077 1078 (6) TINET プロトコルスタック内部で使用するカーネルオブジェクトの 1079 指定ファイル tinet/tinet.cfg での「INCLUDE」静的 API を、各モ 1080 ジュールの JSP システムコンフィギュレーションファイルに移動した。 1081 1082 (7) tinet/include は廃止し、 インクルードファイルを以下のように移 1083 動した。 1084 1085 [1] tinet/include/net → tinet/net。 1086 [2] tinet/include/netdev → tinet/netdev。 1087 [3] tinet/include/netinet → tinet/netinet。 1088 [4] tinet/include/netapp → tinet/netapp。 1089 [5] tinet/include/tinet_config.h → tinet/tinet_config.h。 1090 [6] tinet/include/tinet_defs.h → tinet/tinet_defs.h。 1091 1092 (8) ネットワークインタフェースのディバイス依存部を独立するための 1093 変更を行った。 1094 1095 [1] tinet/netdev に、ネットワークインタフェース依存部を配置 1096 するディレクトリを新設した。 NE2000 互換 NIC では if_ed 1097 であり、以下この NIC の設定について述べる。 1098 [2] 汎用の JSP システムコンフィギュレーションファイル 1099 nic.cfg を新設した。 現在は、if_ed.cfg をインクルードす 1100 るようになっている。 1101 [3] 汎用のネットワークインタフェース・コンフィギュレーショ 1102 ンファイル tinet_nic_config.h を新設した。現在は、 汎用 1103 のネットワークインタフェース・別名化ファイル 1104 nic_rename.h と if_ed.h をインクルードするようになっている。 1105 [4] 汎用のネットワークインタフェース・別名化ファイル 1106 nic_rename.h を新設した。 1107 [5] if_ed.c と if_ed.cfg 以外のファイルから if_ed.h と 1108 if_edreg.h を削除した。 1109 [6] tinet/tinet_config.h の変更 1110 #include <tinet_nic_config.h> を追加し、 インクルードの 1111 順番を見直した。 1219 1112 1220 1113 #include "tinet_app_config.h" 1221 1114 #include "tinet_sys_config.h" 1222 1115 #include "tinet_cpu_config.h" 1223 â1116 ↓ 1224 1117 #ifdef SUPPORT_ETHER 1225 1118 #include "tinet_nic_config.h" … … 1229 1122 #include "tinet_app_config.h" 1230 1123 1231 [7] tinet/net/ethernet.h ã®å¤æ´1232 1233 ã»tinet/netdev/if_ed/if_ed.h ã® t_ed_softc ããããã£ã1234 ã¤ã¹éä¾åé¨ã t_if_softc ã¨ãã¦ç¬ç«ãã¦å®ç¾©ããã1124 [7] tinet/net/ethernet.h の変更 1125 1126 ・tinet/netdev/if_ed/if_ed.h の t_ed_softc から、ディバ 1127 イス非依存部を t_if_softc として独立して定義した。 1235 1128 1236 1129 struct t_if_softc { … … 1243 1136 typedef struct t_if_softc T_IF_SOFTC; 1244 1137 1245 ã»ã¡ã³ã timer ã¯ããã£ãã¤ã¹éä¾åé¨ã«ç§»åããã1246 ã»ãã¤ã³ã¿ãã§ã¼ã¹é¸æãã¯ãããã T_IF_SOFTC ãåé¤ããã1247 1248 [8] tinet/net/ethernet.c ã tinet/net/if.cã1249 tinet/netinet/tcp_subr.c ã®å¤æ´1250 #include <netdev/if_ed.h> ãåé¤ããT_IF_ETHER_SOFTC ã1251 ããT_IF_SOFTC ã«å¤æ´ããã1138 ・メンバ timer は、ディバイス非依存部に移動した。 1139 ・「インタフェース選択マクロ」から T_IF_SOFTC を削除した。 1140 1141 [8] tinet/net/ethernet.c、 tinet/net/if.c、 1142 tinet/netinet/tcp_subr.c の変更 1143 #include <netdev/if_ed.h> を削除し、T_IF_ETHER_SOFTC か 1144 ら、T_IF_SOFTC に変更した。 1252 1145 1253 1146 T_IF_ETHER_SOFTC *sc; 1254 â1147 ↓ 1255 1148 T_IF_SOFTC *ic; 1256 1149 1257 [9] tinet/netdev/if_ed/if_ed.h ã®å¤æ´1258 1259 ã»t_ed_softc å®ç¾©ã tinet/netdev/if_ed/if_ed.c ã«ç§»åããã1260 ã»ãNIC é¸æãã¯ããã® T_IF_ETHER_SOFTC ãT_ED_SOFTC1261 ãã struct t_ed_softc ã«å¤æ´ããã1262 ã»ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®é¢æ°ã®å¼æ°ãT_ED_SOFTC1263 ãã T_IF_SOFTC ã«å¤æ´ããã1264 ã»é¢æ° ed_watchdog ã®å¼æ°ã«ãT_IF_SOFTC* ãæå®ãããã1265 ã«å¤æ´ããã1266 1267 [10] tinet/netdev/if_ed/if_ed.c ã®å¤æ´1268 1269 ã»#include <netdev/if_ed.h> ãåé¤ããã1270 ã»if_edreg.h ã®ã¤ã³ã¯ã«ã¼ãæå®ã®å¤æ´1150 [9] tinet/netdev/if_ed/if_ed.h の変更 1151 1152 ・t_ed_softc 定義を tinet/netdev/if_ed/if_ed.c に移動した。 1153 ・「NIC 選択マクロ」の T_IF_ETHER_SOFTC を T_ED_SOFTC 1154 から struct t_ed_softc に変更した。 1155 ・ネットワークインタフェースの関数の引数を T_ED_SOFTC 1156 から T_IF_SOFTC に変更した。 1157 ・関数 ed_watchdog の引数に、T_IF_SOFTC* を指定するよう 1158 に変更した。 1159 1160 [10] tinet/netdev/if_ed/if_ed.c の変更 1161 1162 ・#include <netdev/if_ed.h> を削除した。 1163 ・if_edreg.h のインクルード指定の変更 1271 1164 1272 1165 #include <netdev/if_edreg.h> 1273 â1166 ↓ 1274 1167 #include "if_edreg.h" 1275 1168 1276 ã»t_ed_softc ã®å®ç¾©ãã tinet/netdev/if_ed/if_ed.h ãã1277 移åããã1278 ã»t_ed_softc ã¯ããã£ãã¤ã¹ä¾åé¨ã®ã¿å®ç¾©ããããã«å¤æ´ããã1279 ã»ä»¥ä¸ã®å±æé¢æ°ã®å¼æ°ã T_ED_SOFTC ãã T_IF_SOFTC ã«1280 å¤æ´ããã1169 ・t_ed_softc の定義を、 tinet/netdev/if_ed/if_ed.h から 1170 移動した。 1171 ・t_ed_softc は、ディバイス依存部のみ定義するように変更した。 1172 ・以下の局所関数の引数を T_ED_SOFTC から T_IF_SOFTC に 1173 変更した。 1281 1174 1282 1175 ed_xmit 1283 1176 ed_init_sub 1284 1177 1285 ã»é¢æ°ã®å¼æ°ã T_ED_SOFTC ãã T_IF_SOFTC ã«ä»£ãã£ããã1178 ・関数の引数が T_ED_SOFTC から T_IF_SOFTC に代わったが、 1286 1179 1287 1180 T_ED_SOFTC *sc = ic->sc; 1288 1181 1289 ã§ãT_ED_SOFTC ãåãåºããã¨ãåºæ¥ãã1290 1291 [11] tinet/netdev/if_ed/if_ed.cfg ã®å¤æ´1182 で、T_ED_SOFTC を取り出すことが出来る。 1183 1184 [11] tinet/netdev/if_ed/if_ed.cfg の変更 1292 1185 1293 1186 INCLUDE("<netdev/if_ed.h>"); 1294 1187 INCLUDE("<netdev/if_edreg.h>"); 1295 â1188 ↓ 1296 1189 INCLUDE("\"if_edreg.h\""); 1297 1190 1298 [12] tinet/net_rename.h ã®å¤æ´1299 if_ed ã®é¢æ°ã®ãªãã¼ã å®ç¾©ãã1300 tinet/netdev/if_ed/nic_rename.h ã«ç§»åããã1301 [13] tinet/tinet.cfg ã®å¤æ´1191 [12] tinet/net_rename.h の変更 1192 if_ed の関数のリネーム定義を、 1193 tinet/netdev/if_ed/nic_rename.h に移動した。 1194 [13] tinet/tinet.cfg の変更 1302 1195 1303 1196 #ifdef IF_ETHER_CFG_ED 1304 1197 #include "netdev/if_ed.cfg" 1305 1198 #endif /* of #ifdef IF_ETHER_CFG_ED */ 1306 â1199 ↓ 1307 1200 #include "nic.cfg" 1308 1201 1309 [14] tinet_cpu_config.h 㨠tinet_sys_config.h ã®å¤æ´1310 ãNIC (NE2000 äºæ ) ã«é¢ããå®ç¾©ãã1311 tinet_sys_config.h ã«ç§»åããã1312 [15] $(CPU)/$(SYS)/Makefile.config ã®å¤æ´1313 1314 ã»ãã³ã³ãã¤ã«ãªãã·ã§ã³ãã®å¤æ´1315 ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ãã£ã¬ã¯ããªãå«ããããã1316 INCLUDES ã®å®ç¾©ã®å¾ã«è¿½å ããã1202 [14] tinet_cpu_config.h と tinet_sys_config.h の変更 1203 「NIC (NE2000 互換 ) に関する定義」を 1204 tinet_sys_config.h に移動した。 1205 [15] $(CPU)/$(SYS)/Makefile.config の変更 1206 1207 ・「コンパイルオプション」の変更 1208 ネットワークインタフェースのディレクトリを含めるため、 1209 INCLUDES の定義の後に追加した。 1317 1210 1318 1211 ifdef TINET_ROOT … … 1320 1213 endif 1321 1214 1322 ã»ãã«ã¼ãã«ã«é¢ããå®ç¾©ãã®å¤æ´1323 ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ãã£ã¬ã¯ããªã¨ãããã¯ã¼1324 ã¯ã¤ã³ã¿ãã§ã¼ã¹ã®ãªãã¸ã§ã¯ããå«ããããã1325 KERNEL_COBJS ã®å®ç¾©ã®å¾ã«è¿½å ããã1215 ・「カーネルに関する定義」の変更 1216 ネットワークインタフェースのディレクトリとネットワー 1217 クインタフェースのオブジェクトを含めるため、 1218 KERNEL_COBJS の定義の後に追加した。 1326 1219 1327 1220 ifdef TINET_ROOT … … 1330 1223 endif 1331 1224 1332 [16] åã½ã¼ã¹ãã IF_ETHER_CFG_ED ãåé¤ããã1333 [17] if_ed.h 㨠if_edreg.h ã§ãSUPPORT_ETHER ãåé¤ããã1334 [18] åã½ã¼ã¹ã® PROTO_FLG_ETHER_ED ã PROTO_FLG_ETHER_NIC ã«1335 å¤æ´ããã1336 [19] åã½ã¼ã¹ã® net_count_ether_ed åã³ net_count_ether_ed* ã1337 net_count_ether_nic åã³ net_count_ether_nic* ã«å¤æ´ããã1338 [20] åã½ã¼ã¹ã® NET_COUNT_ETHER_ED åã³ NET_COUNT_ETHER_ED* ã1339 NET_COUNT_ETHER_NIC åã³ NET_COUNT_ETHER_NIC* ã«å¤æ´ããã1340 [21] åã½ã¼ã¹ã® IF_ETHER_CFG_ACCEPT_ALL ã1341 ETHER_CFG_ACCEPT_ALL ã«å¤æ´ããã1342 [22] åã½ã¼ã¹ã® IF_ETHER_* ã IF_ETHER_NIC_* ã«å¤æ´ããã1343 1344 (9) tinet/cfg/tinet_parser.cpp ã®å¤æ´1345 1346 [1] tinet_cfg.c ã«åºåããæ¨æºã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã«1347 tinet_config.h ã追å ããã1348 [2] tinet_cfg.c ã«åºåããæ¨æºã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®ã¤ã³1349 ã¯ã«ã¼ãé çªã以ä¸ã®ããã«å¤æ´ããã1225 [16] 各ソースから IF_ETHER_CFG_ED を削除した。 1226 [17] if_ed.h と if_edreg.h で、SUPPORT_ETHER を削除した。 1227 [18] 各ソースの PROTO_FLG_ETHER_ED を PROTO_FLG_ETHER_NIC に 1228 変更した。 1229 [19] 各ソースの net_count_ether_ed 及び net_count_ether_ed* を 1230 net_count_ether_nic 及び net_count_ether_nic* に変更した。 1231 [20] 各ソースの NET_COUNT_ETHER_ED 及び NET_COUNT_ETHER_ED* を 1232 NET_COUNT_ETHER_NIC 及び NET_COUNT_ETHER_NIC* に変更した。 1233 [21] 各ソースの IF_ETHER_CFG_ACCEPT_ALL を 1234 ETHER_CFG_ACCEPT_ALL に変更した。 1235 [22] 各ソースの IF_ETHER_* を IF_ETHER_NIC_* に変更した。 1236 1237 (9) tinet/cfg/tinet_parser.cpp の変更 1238 1239 [1] tinet_cfg.c に出力する標準のインクルードファイルに 1240 tinet_config.h を追加した。 1241 [2] tinet_cfg.c に出力する標準のインクルードファイルのイン 1242 クルード順番を以下のように変更した。 1350 1243 1351 1244 tinet_defs.h 1352 1245 tinet_config.h 1353 1246 1354 [3] tinet_cfg.c ã«åºåããæ¨æºã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã§ã 以1355 ä¸ã®ãã¡ã¤ã«æå®ãåé¤ããã1247 [3] tinet_cfg.c に出力する標準のインクルードファイルで、 以 1248 下のファイル指定を削除した。 1356 1249 1357 1250 #include <netinet/in_rename.h> 1358 1251 1359 (10) tinet/tinet_defs.h ã« tinet_nic_defs.h ã追å ããã1360 1361 (11) tinet/netdev/if_ed ã« tinet_nic_defs.h ã追å ããã1362 1363 (12) åã½ã¼ã¹ãã¡ã¤ã«ã«ãtinet_defs.hãtinet_config.h ã追å ããã1364 1365 (13) åã½ã¼ã¹ãã¡ã¤ã«ã§ãtinet_defs.hãtinet_config.h ã®é çªã«ã¤ã³1366 ã¯ã«ã¼ãããããã«å¤æ´ããã1367 1368 (14) tinet_nic_defs.h ã« IF_ETHER_NIC_HDR_ALIGN ã追å ãããããã¯ã1369 以ä¸ã®ãã¡ã¤ã«ã«ããã¤ã¼ãµããããããã®å®ç¾©ã§ã æåã«ã¢ã©ã¤1370 ã³ã調æ´ããå ´åã«ã 調æ´éãæå®ããã1252 (10) tinet/tinet_defs.h に tinet_nic_defs.h を追加した。 1253 1254 (11) tinet/netdev/if_ed に tinet_nic_defs.h を追加した。 1255 1256 (12) 各ソースファイルに、tinet_defs.h、tinet_config.h を追加した。 1257 1258 (13) 各ソースファイルで、tinet_defs.h、tinet_config.h の順番にイン 1259 クルードするように変更した。 1260 1261 (14) tinet_nic_defs.h に IF_ETHER_NIC_HDR_ALIGN を追加した。これは、 1262 以下のファイルにあるイーサネットヘッダの定義で、 最初にアライ 1263 ンを調整する場合に、 調整量を指定する。 1371 1264 1372 1265 tinet/net/ethernet.h 1373 1266 1374 (15) TINET ãããã³ã«ã¹ã¿ãã¯å 1375 é¨ã®ãªãã¼ã æå®ãã¡ã¤ã« 1376 tinet/net/net_rename.h 㨠tinet/netinet/in_rename.h ã®ã¤ã³ã¯ 1377 ã«ã¼ãããtinet/tinet_config.h ã§æå®ããããã«å¤æ´ããåã½ã¼ 1378 ã¹ãã¡ã¤ã«ãã以ä¸ã®ãã¡ã¤ã«ãåé¤ããã 1267 (15) TINET プロトコルスタック内部のリネーム指定ファイル 1268 tinet/net/net_rename.h と tinet/netinet/in_rename.h のインク 1269 ルードを、tinet/tinet_config.h で指定するように変更し、各ソー 1270 スファイルから以下のファイルを削除した。 1379 1271 1380 1272 #include <net/net_rename.h> 1381 1273 #include <netinet/in_rename.h> 1382 1274 1383 (16) TINET ã®æ¨æº Makefile.config ãä½æãã ã¢ããªã±ã¼ã·ã§ã³ã® 1384 Makefile ããã¤ã³ã¯ã«ã¼ãããããã«å¤æ´ããã 1385 1386 (17) tinet/netdev/if_ed/if_ed.c ã®ä»¥ä¸ã®é¢æ°ã§ããã£ã¹ãããç¦æ¢ç¶ 1387 æ 1388 ã«ãªããªãããã«å¤æ´ããã 1275 (16) TINET の標準 Makefile.config を作成し、 アプリケーションの 1276 Makefile からインクルードするように変更した。 1277 1278 (17) tinet/netdev/if_ed/if_ed.c の以下の関数で、ディスパッチ禁止状 1279 態にならないように変更した。 1389 1280 1390 1281 ed_pio_readmem 1391 1282 ed_pio_writemem 1392 1283 1393 (18) ã·ã¹ãã æå» (SYSTIM) ã®å¨æ³¢æ°ãSYSTIM_HZ ãå®ç¾©ããã1394 1395 (19) cygwin 㧠g++ ã®ãã¼ã¸ã§ã³ã«ãã£ã¦ã TINET ã³ã³ãã£ã®ã¥ã¬ã¼ã¿1396 ã®çææã«ã¨ã©ã¼ãçºçããåé¡ãä¿®æ£ããã1397 1398 (20) Makefile.config ã«ãããæå®ã®å¤æ´1399 1400 [1] tinet/netdev/if_ed/if_ed.c ã« Makefile.config ãä½æãã1401 TINET ã®æ¨æº Makefile.config ããã¤ã³ã¯ã«ã¼ãããããã«1402 å¤æ´ããã1403 [2] JSP ã®ã·ã¹ãã ä¾åé¨ã® $(CPU)/$(SYS)/Makefile.config ã1404 ãã TINET ã®ãããã¯ã¼ã¯ã»ãã£ãã¤ã¹ã®ä¾åé¨ã®å®ç¾©ãå1405 é¤ããã1406 [3] ã¢ããªã±ã¼ã·ã§ã³ã® Makefile ã«ã¯ã1407 1408 # ã¤ã¼ãµãããã»ãã£ãã¤ã¹ãã©ã¤ãã®é¸æ1284 (18) システム時刻 (SYSTIM) の周波数、SYSTIM_HZ を定義した。 1285 1286 (19) cygwin で g++ のバージョンによって、 TINET コンフィギュレータ 1287 の生成時にエラーが発生する問題を修正した。 1288 1289 (20) Makefile.config における指定の変更 1290 1291 [1] tinet/netdev/if_ed/if_ed.c に Makefile.config を作成し、 1292 TINET の標準 Makefile.config からインクルードするように 1293 変更した。 1294 [2] JSP のシステム依存部の $(CPU)/$(SYS)/Makefile.config か 1295 ら、 TINET のネットワーク・ディバイスの依存部の定義を削 1296 除した。 1297 [3] アプリケーションの Makefile には、 1298 1299 # イーサネット・ディバイスドライバの選択 1409 1300 NET_DEV = if_ed 1410 1301 1411 ãæå®ããå¿ 1412 è¦ãããã 1413 1414 (21) tinet/netapp/netapp.h ã«ã ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçª 1415 å·ã®å®ç¾©ã追å ããã 1302 を指定する必要がある。 1303 1304 (21) tinet/netapp/netapp.h に、 コンソールに用いるシリアルポート番 1305 号の定義を追加した。 1416 1306 1417 1307 /* 1418 * ã³ã³ã½ã¼ã«ã«ç¨ããã·ãªã¢ã«ãã¼ãçªå·1308 * コンソールに用いるシリアルポート番号 1419 1309 */ 1420 1310 #ifndef CONSOLE_PORTID … … 1422 1312 #endif /* of #ifndef CONSOLE_PORTID */ 1423 1313 1424 (22) tcp_cls_cep() ã§ãä»æ§ã§ã¯ã FIN ãéã£ã¦ã³ãã¯ã·ã§ã³ãåæã 1425 ããã¨ã«ãªã£ã¦ãããã æ£ããå®è£ 1426 ãã¦ããªãåé¡ãä¿®æ£ããã 1427 1428 (23) tinet_cpu_config.h ã§å®ç¾©ãã¦ããåä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æå¤§å¤ 1429 ï¼MAX_TCP_RCV_SEGï¼ã éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®æå¤§å¤ 1430 ï¼MAX_TCP_SND_SEGï¼ã éä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤ 1431 ï¼DEF_TCP_SND_SEGï¼ã åä¿¡ã»ã°ã¡ã³ããµã¤ãºã®è¦å®å¤ 1432 ï¼DEF_TCP_RCV_SEGï¼ã®å¤ã«é¢ãã¦ãã¤ã¼ãµãããã使ç¨ããå ´åã 1433 å 1434 ¨ã¦ã®å¤ã 1,460 ã«å¤æ´ããã 1435 1436 (24) ãµã³ãã«ã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦ã TCP ãã£ã¹ã«ã¼ãã¯ã©ã¤ã¢ã³ã 1437 ã追å ããã 1438 1439 (25) TCP ã® MSS (TCP_MSS) ã«é¢ãã¦ã 1314 (22) tcp_cls_cep() で、仕様では、 FIN を送ってコネクションを切断す 1315 ることになっているが、 正しく実装していない問題を修正した。 1316 1317 (23) tinet_cpu_config.h で定義している受信セグメントサイズの最大値 1318 (MAX_TCP_RCV_SEG)、 送信セグメントサイズの最大値 1319 (MAX_TCP_SND_SEG)、 送信セグメントサイズの規定値 1320 (DEF_TCP_SND_SEG)、 受信セグメントサイズの規定値 1321 (DEF_TCP_RCV_SEG)の値に関して、イーサネットを使用する場合、 1322 全ての値を 1,460 に変更した。 1323 1324 (24) サンプルアプリケーションとして、 TCP ディスカードクライアント 1325 を追加した。 1326 1327 (25) TCP の MSS (TCP_MSS) に関して、 1440 1328 1441 1329 #define TCP_MSS (IP4_MSS - (IP4_HDR_SIZE + TCP_HDR_SIZE)) 1442 1330 1443 ãããBSD ã®æ¨æºå¤1331 から、BSD の標準値 1444 1332 1445 1333 #define TCP_MSS 512 1446 1334 1447 ã«å¤æ´ããã 1448 1449 (26) tcp_con_cep ã§ã ã¿ã¤ã ã¢ã¦ãã«ãã³ããããã³ã°ä»¥å¤ãæå®ãã 1450 å ´åã ã¿ã¤ã ã¢ã¦ãåã«ã¨ã©ã¼ã«ãªãå¯è½æ§ãããåé¡ãä¿®æ£ããã 1451 1452 (27) ãããã¯ã¼ã¯ã¿ã¤ãã§ã è¤æ°ã®ã¨ã³ããªãåæã«ã¿ã¤ã ã¢ã¦ãã㦠1453 ãã ç»é²ããã¦ããå 1454 ¨ã¦ã®é¢æ°ãå¼ã³åºããªãåé¡ãä¿®æ£ããã 1455 1456 (28) ããã¼ããã£ã¹ãéä¿¡ãæ£ããå¦çãã¦ããªãã£ãåé¡ãä¿®æ£ããã 1457 次ã®å ´åã¯ãã¤ã¼ãµãããã®éä¿¡å 1458 MAC ã«ã¯ããã¼ããã£ã¹ãã¢ã 1459 ã¬ã¹ãè¨å®ããã 1460 1461 ã»IP ã¢ãã¬ã¹ã®å 1462 ¨ãããã 1 1463 ã»IP ã¢ãã¬ã¹ã®ãã¹ãé¨ã®å 1464 ¨ãããã 1 ã§ã ãããã¯ã¼ã¯é¨ããã¼ 1465 ã«ã«ã¢ãã¬ã¹ 1466 1467 åæã«ã IP ã¢ãã¬ã¹ã®å 1468 ¨ãããã 1 ã®ããã¼ããã£ã¹ãã«å¯¾å¿ã 1469 ããããéççµè·¯è¡¨ (route_cfg.c) ã«ã¯ãæå¾ã®ã¨ã³ããªã¨ãã¦ä»¥ 1470 ä¸ã®è¡ã追å ããã 1335 に変更した。 1336 1337 (26) tcp_con_cep で、 タイムアウトにノンブロッキング以外を指定した 1338 場合、 タイムアウト前にエラーになる可能性がある問題を修正した。 1339 1340 (27) ネットワークタイマで、 複数のエントリが同時にタイムアウトして 1341 も、 登録されている全ての関数を呼び出さない問題を修正した。 1342 1343 (28) ブロードキャスト送信を正しく処理していなかった問題を修正した。 1344 次の場合は、イーサネットの送信先 MAC にはブロードキャストアド 1345 レスを設定する。 1346 1347 ・IP アドレスの全ビットが 1 1348 ・IP アドレスのホスト部の全ビットが 1 で、 ネットワーク部がロー 1349 カルアドレス 1350 1351 同時に、 IP アドレスの全ビットが 1 のブロードキャストに対応す 1352 るため、静的経路表 (route_cfg.c) には、最後のエントリとして以 1353 下の行を追加した。 1471 1354 1472 1355 { 0xffffffff, 0xffffffff, 0 }, 1473 1356 1474 ã¾ãã ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ 1475 NUM_ROUTE_ENTRY ã 1 å¢å ããã 1476 1477 (29) é¢æ° ntohl() ã使ãã¹ãã¨ããã§é¢æ° ntohs() ã使ã£ã¦ããåé¡ 1478 ãä¿®æ£ããã 1479 1480 (30) IP åã³ UDP ã®ãã§ãã¯ãµã ã®å¤ãé¢æ° htons() ã使ã£ã¦ã代å 1481 ¥ã 1482 ã¦ããåé¡ãä¿®æ£ããã 1483 1484 (31) (SIL_ENDIAN == SIL_ENDIAN_LITTLE ã®ãHTONL() HTONS() ã®å®ç¾©èª¤ 1485 ããä¿®æ£ããã 1486 1487 (32) UDP ã®å 1488 ¥åé¢æ° udp_input ã§ãå®å 1489 ã¢ãã¬ã¹ã¨ãã¦æ£ããããã§ã 1490 ã¯ããé¢æ° dstaddr_accept ãå¼åºãåã«ã ãããã¯ã¼ã¯ãã¤ããªã¼ 1491 ããããã¹ããã¤ããªã¼ãã«å¤æãã¦ããªãåé¡ãä¿®æ£ããã 1492 1493 (33) NE2000 äºæ NIC ã®éåä¿¡ãããã¡ãã¼ã¸ãµã¤ãºã®å®ç¾©èª¤ããä¿®æ£ããã 1494 1495 (34) NE2000 äºæ NIC ã§ã NIC ã®å 1496 èµ SRAM ã¸ã®ãã¼ã¿ã®æ¸è¾¼ã¿çµäºå¾ã 1497 ä¸è¦ã®ããæ¸è¾¼ã¿å®äºãå¾ 1498 ããªãããã«å¤æ´ããã 1499 1500 (35) UDP ã§ã ããã¼ããã£ã¹ãã»ãã¼ã¿ã°ã©ã ãåä¿¡ããããã«ä¿®æ£ããã 1501 1502 (36) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ DHCP_CFG ãæ°è¨ 1503 ãããããã¯ãDHCP ã¡ãã»ã¼ã¸ãåä¿¡ããå ´åã«æå®ããããã ãã 1504 TINET ã¯ãDHCP ãå®è£ 1505 ãã¦ããªããå¿ç¨ããã°ã©ã ã§ã DHCP ã¡ã 1506 ã»ã¼ã¸ãåä¿¡ããããã®å®ç¾©ã§ããã DHCP_CFG ãæå®ããã¨ã 1507 IPV4_ADDR_LOCAL ãæªå®ç¾©ï¼å 1508 ¨ã¦ 0ï¼ã§ããUDP ã«éããDHCP ã¡ã 1509 ã»ã¼ã¸ãåä¿¡ãããã¨ãå¯è½ã«ãªãã 1510 1511 (37) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ 1512 IPV4_ADDR_LOCAL_BC ãåé¤ããèªåã® IP ã¢ãã¬ã¹ã®ãµããããã 1513 ã¹ã¯ãæå®ãã IPV4_ADDR_LOCAL_MASK ãæ°è¨ããã 1514 1515 (38) ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ã« IPv4 ã¢ãã¬ã¹ã追å ããé¢æ° 1516 in4_add_ifaddr ãæ°è¨ããã ãã ãã ãã®é¢æ°ã¯ ITRON TCP/IP 1517 API éäºæã§ããã ãããã¯ã¼ã¯ã¤ã³ã¿ãã§ã¼ã¹ãã¤ã¼ãµãããã® 1518 ã¨ãã®ã¿æå¹ã§ããã 1519 1520 (39) çµè·¯è¡¨ã«ã¨ã³ããªã追å ããé¢æ° in4_add_route ãæ°è¨ããããã 1521 ãã ãã®é¢æ°ã¯ ITRON TCP/IP API éäºæã§ããããããã¯ã¼ã¯ã¤ 1522 ã³ã¿ãã§ã¼ã¹ãã¤ã¼ãµãããã®ã¨ãã®ã¿æå¹ã§ããã 1523 1524 (40) ARP ãã£ãã·ã¥ã§ã 空ãããªãã£ãå ´åãã¿ã¤ã ã¢ã¦ãã¾ã§æéã 1525 æçã®ã¨ã³ããªã¼ãæ¢ç´¢ããé¨åã®åé¡ãä¿®æ£ããã 1526 1527 (41) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ 1528 ETHER_NIC_CFG_RELEASE_NET_BUF ãæ°è¨ããã ããã¯ã¤ã¼ãµããã 1529 åºåæã«ãNIC 㧠net_buf ãéæ¾ããå ´åã«æå®ããã 1530 1531 (42) ARP å 1532 ¥åã§ãIP ã¢ãã¬ã¹ã®éè¤æ¤åºãè¡ãããã«å¤æ´ãããæ¤åºã 1533 ãå ´åã¯ãéè¤ç¸æã® MAC ã¢ãã¬ã¹ã syslog ã«åºåããéè¤ç¸æ 1534 ã«ãéè¤ãããã¨ãä¼ããã 1535 1536 (43) ã³ã³ãã¤ã«æã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã©ã¡ã¼ã¿ 1537 ARP_CFG_CALLBACK_DUPLICATED ãæ°è¨ããããããæå®ããã¨ãARP 1538 å 1539 ¥å㧠IP ã¢ãã¬ã¹ã®éè¤ãæ¤åºããæã«ã å¿ç¨ããã°ã©ã ã§ç¨æ 1540 ããã³ã¼ã«ããã¯é¢æ° arp_callback_duplicated ãå¼ã³åºãã 1541 1542 (44) IP åºåæã«ãARP ãã£ãã·ã¥ã®ã¿ã¤ã ã¢ã¦ãå¤ãæ´æ°ãã¦ãããã 1543 FreeBSD ã®å®è£ 1544 ã«ãããã¦ã æ´æ°ããªãããã«å¤æ´ãããARP ãã£ã 1545 ã·ã¥ã®ã¿ã¤ã ã¢ã¦ãå¤ã¯ ARP å 1546 ¥åã§ã®ã¿æ´æ°ãããã 1547 1548 (45) tinet/net/net.h ã§ããã¤ããªã¼ãã®å®ç¾©ãè¡ã£ã¦ãããã 1549 tinet/net/net.h ãã¤ã³ã¯ã«ã¼ãããªãã¢ããªã±ã¼ã·ã§ã³ããã°ã© 1550 ã ç¨ã«ã¿ã¼ã²ããä¾åããªããã¤ããªã¼ãé¢æ°ã 1551 tinet/netinet/in.h 㨠tinet/netinet/in_subr.c ã«å®ç¾©ããã 1357 また、 コンパイル時コンフィギュレーションパラメータ 1358 NUM_ROUTE_ENTRY を 1 増加した。 1359 1360 (29) 関数 ntohl() を使うべきところで関数 ntohs() を使っていた問題 1361 を修正した。 1362 1363 (30) IP 及び UDP のチェックサムの値を関数 htons() を使って、代入し 1364 ていた問題を修正した。 1365 1366 (31) (SIL_ENDIAN == SIL_ENDIAN_LITTLE の、HTONL() HTONS() の定義誤 1367 りを修正した。 1368 1369 (32) UDP の入力関数 udp_input で、宛先アドレスとして正しいかチェッ 1370 クする関数 dstaddr_accept を呼出す前に、 ネットワークバイトオー 1371 ダからホストバイトオーダに変換していない問題を修正した。 1372 1373 (33) NE2000 互換 NIC の送受信バッファページサイズの定義誤りを修正した。 1374 1375 (34) NE2000 互換 NIC で、 NIC の内蔵 SRAM へのデータの書込み終了後、 1376 不要のため書込み完了を待たないように変更した。 1377 1378 (35) UDP で、 ブロードキャスト・データグラムも受信するように修正した。 1379 1380 (36) コンパイル時コンフィギュレーションパラメータ DHCP_CFG を新設 1381 した。これは、DHCP メッセージを受信する場合に指定する。ただし、 1382 TINET は、DHCP を実装していない。応用プログラムで、 DHCP メッ 1383 セージを受信するための定義である。 DHCP_CFG を指定すると、 1384 IPV4_ADDR_LOCAL が未定義(全て 0)でも、UDP に限り、DHCP メッ 1385 セージを受信することが可能になる。 1386 1387 (37) コンパイル時コンフィギュレーションパラメータ 1388 IPV4_ADDR_LOCAL_BC を削除し、自分の IP アドレスのサブネットマ 1389 スクを指定する IPV4_ADDR_LOCAL_MASK を新設した。 1390 1391 (38) ネットワークインタフェースに IPv4 アドレスを追加する関数 1392 in4_add_ifaddr を新設した。 ただし、 この関数は ITRON TCP/IP 1393 API 非互換であり、 ネットワークインタフェースがイーサネットの 1394 ときのみ有効である。 1395 1396 (39) 経路表にエントリを追加する関数 in4_add_route を新設した。ただ 1397 し、 この関数は ITRON TCP/IP API 非互換であり、ネットワークイ 1398 ンタフェースがイーサネットのときのみ有効である。 1399 1400 (40) ARP キャッシュで、 空きがなかった場合、タイムアウトまで時間が 1401 最短のエントリーを探索する部分の問題を修正した。 1402 1403 (41) コンパイル時コンフィギュレーションパラメータ 1404 ETHER_NIC_CFG_RELEASE_NET_BUF を新設した。 これはイーサネット 1405 出力時に、NIC で net_buf を開放する場合に指定する。 1406 1407 (42) ARP 入力で、IP アドレスの重複検出を行うように変更した。検出し 1408 た場合は、重複相手の MAC アドレスを syslog に出力し、重複相手 1409 にも重複したことを伝える。 1410 1411 (43) コンパイル時コンフィギュレーションパラメータ 1412 ARP_CFG_CALLBACK_DUPLICATED を新設した。これを指定すると、ARP 1413 入力で IP アドレスの重複を検出した時に、 応用プログラムで用意 1414 したコールバック関数 arp_callback_duplicated を呼び出す。 1415 1416 (44) IP 出力時に、ARP キャッシュのタイムアウト値を更新していたが、 1417 FreeBSD の実装にあわせて、 更新しないように変更した。ARP キャッ 1418 シュのタイムアウト値は ARP 入力でのみ更新される。 1419 1420 (45) tinet/net/net.h でもバイトオーダの定義を行っているが、 1421 tinet/net/net.h をインクルードしないアプリケーションプログラ 1422 ム用にターゲット依存しないバイトオーダ関数を 1423 tinet/netinet/in.h と tinet/netinet/in_subr.c に定義した。 -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.