1 | TCP/IP プロトコルスタック(TINET)
|
---|
2 | リリース 1.5 からリリース 1.7 への移行[2014/11/13]
|
---|
3 |
|
---|
4 | 1. 移行方法
|
---|
5 |
|
---|
6 | TINET リリース 1.5 から TINET リリース 1.7 へ移行では、 TINET リリー
|
---|
7 | ス 1.7 の配布ファイルを TINET リリース 1.5 に上書きすることは推奨しな
|
---|
8 | い。 これは、TINET リリース 1.7 の配布ファイルに含まれているコンパイル
|
---|
9 | 時コンフィギュレーションパラメータファイル(tinet_cpu_config.h 等)に
|
---|
10 | より、 TINET リリース 1.5 用の独自のコンパイル時コンフィギュレーション
|
---|
11 | パラメータファイルの内容が失われる可能性があるためである。 従って、
|
---|
12 | TINET リリース 1.7 の配布ファイルを必ず異なるディレクトリに展開してか
|
---|
13 | ら移行することを推奨する。
|
---|
14 | ここでは、 IPv4 による応用プログラムの TINET を、 TINET リリース 1.5
|
---|
15 | から TINET リリース 1.7 に移行する例を述べる。
|
---|
16 |
|
---|
17 | 1. 1 TOPPERS/ASP 環境における移行方法
|
---|
18 |
|
---|
19 | (1) TINET リリース 1.5 の ASP ルートディレクトリを $(DIR_1.5)、
|
---|
20 | TINET リリース 1.7 の ASP ルートディレクトリを $(DIR_1.7) とする。
|
---|
21 | (2) $(DIR_1.7) に、 TINET リリース 1.7 の配布ファイル
|
---|
22 | tinet-1.7.tar.gz を展開する。
|
---|
23 | (3) $(DIR_1.5) のディレクトリ tinet を削除する。
|
---|
24 | (4) $(DIR_1.7) のディレクトリ tinet を $(DIR_1.5) にコピーする。
|
---|
25 | (5) ルーティング表名の変更(変更必須項目)
|
---|
26 | デュアルスタック対応のためルーティング表名を、IPv6 と IPv4 で
|
---|
27 | 個別に指定する必要がある。 route_cfg.c で定義しているルーティ
|
---|
28 | ング表名を、 以下のように変更する。
|
---|
29 |
|
---|
30 | [1] IPv6 用のルーティング表名 routing_tbl を routing6_tbl
|
---|
31 | に変更する。
|
---|
32 | [2] IPv4 用のルーティング表名 routing_tbl を routing4_tbl
|
---|
33 | に変更する。
|
---|
34 |
|
---|
35 | (6) ルーティング表名の変更後の応用プログラムの生成は TINET リリー
|
---|
36 | ス 1.5 と同じである。
|
---|
37 |
|
---|
38 | 1. 2 TOPPERS/JSP 環境における移行方法
|
---|
39 |
|
---|
40 | (1) TINET リリース 1.5 の JSP ルートディレクトリを $(DIR_1.5)、
|
---|
41 | TINET リリース 1.7 の JSP ルートディレクトリを $(DIR_1.7) とする。
|
---|
42 |
|
---|
43 | (2) $(DIR_1.7) に、 TINET リリース 1.7 の配布ファイル
|
---|
44 | tinet-1.7.tar.gz を展開する。
|
---|
45 |
|
---|
46 | (3) $(DIR_1.5) のディレクトリ tinet を削除する。
|
---|
47 |
|
---|
48 | (4) $(DIR_1.7) のディレクトリ tinet を $(DIR_1.5) にコピーする。
|
---|
49 |
|
---|
50 | (5) $(DIR_1.5)/tinet/cfg で、 TINET-1.7 の TINET コンフィギュレー
|
---|
51 | タを生成する。
|
---|
52 |
|
---|
53 | (6) ルーティング表名の変更(変更必須項目)
|
---|
54 | デュアルスタック対応のためルーティング表名を、IPv6 と IPv4 で
|
---|
55 | 個別に指定する必要がある。 route_cfg.c で定義しているルーティ
|
---|
56 | ング表名を、 以下のように変更する。
|
---|
57 |
|
---|
58 | [1] IPv6 用のルーティング表名 routing_tbl を routing6_tbl
|
---|
59 | に変更する。
|
---|
60 | [2] IPv4 用のルーティング表名 routing_tbl を routing4_tbl
|
---|
61 | に変更する。
|
---|
62 |
|
---|
63 | (7) ルーティング表名の変更後の応用プログラムの生成は TINET リリー
|
---|
64 | ス 1.5 と同じである。
|
---|
65 |
|
---|
66 | 1. 3 TOPPERS/JSP 環境→ TOPPERS/ASP 環境への移行方法
|
---|
67 |
|
---|
68 | 標準的なアプリケーションプログラムの移行方法について述べる。
|
---|
69 |
|
---|
70 | (1) Makefile(Makefile)
|
---|
71 | TINET 用の定義の変更はないが、 それぞれの環境の Makefile は
|
---|
72 | 全く互換性がないので、 TINET ユーザズマニュアルの「7.3 アプリ
|
---|
73 | ケーションの Makefile」を参照して変更すること。
|
---|
74 | (2) サンプルプログラム本体($(UNAME).c)
|
---|
75 | TOPPERS/ASP では、データ型およびマクロは C99 に準拠したもの
|
---|
76 | に変更されているので、 これに合わせて変更する必要がある。
|
---|
77 | また、インクルードファイルが異なっている。 TOPPERS/JSP 環境
|
---|
78 | でのインクルードファイルの指定
|
---|
79 |
|
---|
80 | #include <t_services.h>
|
---|
81 | #include "kernel_id.h"
|
---|
82 | #include "tinet_id.h"
|
---|
83 |
|
---|
84 | を、TOPPERS/ASP 環境では、以下のように変更する。
|
---|
85 |
|
---|
86 | #include <kernel.h>
|
---|
87 | #include <t_syslog.h>
|
---|
88 | #include "kernel_cfg.h"
|
---|
89 | #include "tinet_cfg.h"
|
---|
90 |
|
---|
91 | (3) サンプルプログラムのヘッダファイル($(UNAME).h)
|
---|
92 | TOPPERS/ASP では、データ型およびマクロは C99 に準拠したもの
|
---|
93 | に変更されているので、 これに合わせて変更する必要がある。
|
---|
94 | また、インクルードファイルが異なっている。 TOPPERS/JSP 環境
|
---|
95 | でのインクルードファイルの指定
|
---|
96 |
|
---|
97 | #include <t_services.h>
|
---|
98 |
|
---|
99 | を、TOPPERS/ASP 環境では、以下のように変更する。
|
---|
100 |
|
---|
101 | #include <tinet_defs.h>
|
---|
102 |
|
---|
103 | (4) サンプルプログラム用 ASP コンフィギュレーションファイル
|
---|
104 | ($(UNAME).cfg)
|
---|
105 | #include と INCLUDE の取扱いが異なっているので、 これに合わ
|
---|
106 | せて変更する必要がある。以下に変更例を示す。 TOPPERS/JSP 環境
|
---|
107 | での指定
|
---|
108 |
|
---|
109 | #include "echos4.h"
|
---|
110 | #include "../systask/timer.cfg"
|
---|
111 | #include "../systask/serial.cfg"
|
---|
112 | #include "../systask/logtask.cfg"
|
---|
113 | #include "../tinet.cfg"
|
---|
114 | INCLUDE("\"tinet_id.h\"");
|
---|
115 | INCLUDE("\"echos4.h\"");
|
---|
116 |
|
---|
117 | を、TOPPERS/ASP 環境では、以下のように変更する。
|
---|
118 |
|
---|
119 | #include "echos4.h"
|
---|
120 | INCLUDE("../syssvc/serial.cfg");
|
---|
121 | INCLUDE("../syssvc/logtask.cfg");
|
---|
122 | INCLUDE("target_timer.cfg");
|
---|
123 | INCLUDE("../tinet_asp.cfg");
|
---|
124 |
|
---|
125 | (5) サンプルプログラム用 TINET コンフィギュレーションファイル
|
---|
126 | (tinet_$(UNAME).cfg)
|
---|
127 | #include と INCLUDE の取扱いが異なっているので、 これに合わ
|
---|
128 | せて変更する必要がある。以下に変更例を示す。 TOPPERS/JSP 環境
|
---|
129 | での指定
|
---|
130 |
|
---|
131 | #include "echos4.h"
|
---|
132 | INCLUDE("\"echos4.h\"");
|
---|
133 |
|
---|
134 | を、TOPPERS/ASP 環境では、以下のように変更する。
|
---|
135 |
|
---|
136 | #include "echos4.h"
|
---|
137 |
|
---|
138 | (6) サンプルプログラム用ルーティング表(route_cfg.c)
|
---|
139 | インクルードファイルが異なっている。 TOPPERS/JSP 環境でのイ
|
---|
140 | ンクルードファイルの指定
|
---|
141 |
|
---|
142 | #include <s_services.h>
|
---|
143 | #include <t_services.h>
|
---|
144 |
|
---|
145 | を、TOPPERS/ASP 環境では、以下のように変更する。
|
---|
146 |
|
---|
147 | #include <kernel.h>
|
---|
148 |
|
---|
149 | (7) サンプルプログラム用コンパイル時指定コンフィギュレーション
|
---|
150 | (tinet_app_config.h)
|
---|
151 | 変更点はない。
|
---|
152 |
|
---|
153 | 2. 変更必須項目
|
---|
154 |
|
---|
155 | 以下に、TINET リリース 1.7 で変更され、変更が必須の項目を示す。
|
---|
156 |
|
---|
157 | (1) ルーティング表(route_cfg.c)
|
---|
158 |
|
---|
159 | [1] ルーティング表名
|
---|
160 | デュアルスタック対応のためルーティング表名を、 IPv6 と
|
---|
161 | IPv4 で個別に指定する必要がある。route_cfg.c で定義して
|
---|
162 | いるルーティング表名を、 以下のように変更する。
|
---|
163 |
|
---|
164 | [1] IPv6 用のルーティング表名 routing_tbl を
|
---|
165 | routing6_tbl に変更する。
|
---|
166 | [2] IPv4 用のルーティング表名 routing_tbl を
|
---|
167 | routing4_tbl に変更する。
|
---|
168 |
|
---|
169 | [2] IPv4 用ルーティング表の構造体名(TINET リリース 1.1)
|
---|
170 | T_RT_ENTRY を T_IN4_RTENTRY に変更する。
|
---|
171 |
|
---|
172 | (2) ルーティングに関するコンパイル時コンフィギュレーションパラメー
|
---|
173 | タ
|
---|
174 | デュアルスタック(SUPPORT_INET6 と SUPPORT_INET4 の両方)を
|
---|
175 | 選択した場合、 以下の項目を個別に指定する必要がある。
|
---|
176 |
|
---|
177 | [1] NUM_STATIC_ROUTE_ENTRY
|
---|
178 | NUM_IN6_STATIC_ROUTE_ENTRY(IPv6 用)と
|
---|
179 | NUM_IN4_STATIC_ROUTE_ENTRY(IPv4 用)
|
---|
180 | [2] NUM_REDIRECT_ROUTE_ENTRY
|
---|
181 | NUM_IN6_REDIRECT_ROUTE_ENTRY(IPv6 用)と
|
---|
182 | NUM_IN4_REDIRECT_ROUTE_ENTRY(IPv4 用)
|
---|
183 |
|
---|
184 | (3) TINET リリース 1.1 との互換性のためのコンパイル時コンフィギュ
|
---|
185 | レーションパラメータ
|
---|
186 |
|
---|
187 | [1] NUM_ROUTE_ENTRY
|
---|
188 | NUM_IN4_STATIC_ROUTE_ENTRY に変更する。
|
---|
189 | [2] NUM_IN4_REDIRECT_ROUTE_ENTRY
|
---|
190 | 新たに追加する。
|
---|
191 |
|
---|
192 | 3. 変更推奨項目
|
---|
193 |
|
---|
194 | 以下に、TINET リリース 1.7 で変更され、TINET リリース 1.5 から TINET
|
---|
195 | リリース 1.7 へ移行において、変更または新たに定義すべき推奨項目を示す。
|
---|
196 |
|
---|
197 | (1) ルーティングに関するコンパイル時コンフィギュレーションパラメー
|
---|
198 | タ
|
---|
199 | 以下の項目を個別に指定する事を推奨する。 ただし、デュアルス
|
---|
200 | タック(SUPPORT_INET6 と SUPPORT_INET4 の両方)を選択した場合
|
---|
201 | は変更必須項目である。
|
---|
202 |
|
---|
203 | [1] NUM_STATIC_ROUTE_ENTRY
|
---|
204 | NUM_IN6_STATIC_ROUTE_ENTRY(IPv6 用)と
|
---|
205 | NUM_IN4_STATIC_ROUTE_ENTRY(IPv4 用)
|
---|
206 | [2] NUM_REDIRECT_ROUTE_ENTRY
|
---|
207 | NUM_IN6_REDIRECT_ROUTE_ENTRY(IPv6 用)と
|
---|
208 | NUM_IN4_REDIRECT_ROUTE_ENTRY(IPv4 用)
|
---|