TCP/IP プロトコルスタック(TINET) リリース 1.5 からリリース 1.7 への移行[2014/11/13] 1. 移行方法 TINET リリース 1.5 から TINET リリース 1.7 へ移行では、 TINET リリー ス 1.7 の配布ファイルを TINET リリース 1.5 に上書きすることは推奨しな い。 これは、TINET リリース 1.7 の配布ファイルに含まれているコンパイル 時コンフィギュレーションパラメータファイル(tinet_cpu_config.h 等)に より、 TINET リリース 1.5 用の独自のコンパイル時コンフィギュレーション パラメータファイルの内容が失われる可能性があるためである。 従って、 TINET リリース 1.7 の配布ファイルを必ず異なるディレクトリに展開してか ら移行することを推奨する。 ここでは、 IPv4 による応用プログラムの TINET を、 TINET リリース 1.5 から TINET リリース 1.7 に移行する例を述べる。 1. 1 TOPPERS/ASP 環境における移行方法 (1) TINET リリース 1.5 の ASP ルートディレクトリを $(DIR_1.5)、 TINET リリース 1.7 の ASP ルートディレクトリを $(DIR_1.7) とする。 (2) $(DIR_1.7) に、 TINET リリース 1.7 の配布ファイル tinet-1.7.tar.gz を展開する。 (3) $(DIR_1.5) のディレクトリ tinet を削除する。 (4) $(DIR_1.7) のディレクトリ tinet を $(DIR_1.5) にコピーする。 (5) ルーティング表名の変更(変更必須項目) デュアルスタック対応のためルーティング表名を、IPv6 と IPv4 で 個別に指定する必要がある。 route_cfg.c で定義しているルーティ ング表名を、 以下のように変更する。 [1] IPv6 用のルーティング表名 routing_tbl を routing6_tbl に変更する。 [2] IPv4 用のルーティング表名 routing_tbl を routing4_tbl に変更する。 (6) ルーティング表名の変更後の応用プログラムの生成は TINET リリー ス 1.5 と同じである。 1. 2 TOPPERS/JSP 環境における移行方法 (1) TINET リリース 1.5 の JSP ルートディレクトリを $(DIR_1.5)、 TINET リリース 1.7 の JSP ルートディレクトリを $(DIR_1.7) とする。 (2) $(DIR_1.7) に、 TINET リリース 1.7 の配布ファイル tinet-1.7.tar.gz を展開する。 (3) $(DIR_1.5) のディレクトリ tinet を削除する。 (4) $(DIR_1.7) のディレクトリ tinet を $(DIR_1.5) にコピーする。 (5) $(DIR_1.5)/tinet/cfg で、 TINET-1.7 の TINET コンフィギュレー タを生成する。 (6) ルーティング表名の変更(変更必須項目) デュアルスタック対応のためルーティング表名を、IPv6 と IPv4 で 個別に指定する必要がある。 route_cfg.c で定義しているルーティ ング表名を、 以下のように変更する。 [1] IPv6 用のルーティング表名 routing_tbl を routing6_tbl に変更する。 [2] IPv4 用のルーティング表名 routing_tbl を routing4_tbl に変更する。 (7) ルーティング表名の変更後の応用プログラムの生成は TINET リリー ス 1.5 と同じである。 1. 3 TOPPERS/JSP 環境→ TOPPERS/ASP 環境への移行方法 標準的なアプリケーションプログラムの移行方法について述べる。 (1) Makefile(Makefile) TINET 用の定義の変更はないが、 それぞれの環境の Makefile は 全く互換性がないので、 TINET ユーザズマニュアルの「7.3 アプリ ケーションの Makefile」を参照して変更すること。 (2) サンプルプログラム本体($(UNAME).c) TOPPERS/ASP では、データ型およびマクロは C99 に準拠したもの に変更されているので、 これに合わせて変更する必要がある。 また、インクルードファイルが異なっている。 TOPPERS/JSP 環境 でのインクルードファイルの指定 #include #include "kernel_id.h" #include "tinet_id.h" を、TOPPERS/ASP 環境では、以下のように変更する。 #include #include #include "kernel_cfg.h" #include "tinet_cfg.h" (3) サンプルプログラムのヘッダファイル($(UNAME).h) TOPPERS/ASP では、データ型およびマクロは C99 に準拠したもの に変更されているので、 これに合わせて変更する必要がある。 また、インクルードファイルが異なっている。 TOPPERS/JSP 環境 でのインクルードファイルの指定 #include を、TOPPERS/ASP 環境では、以下のように変更する。 #include (4) サンプルプログラム用 ASP コンフィギュレーションファイル ($(UNAME).cfg) #include と INCLUDE の取扱いが異なっているので、 これに合わ せて変更する必要がある。以下に変更例を示す。 TOPPERS/JSP 環境 での指定 #include "echos4.h" #include "../systask/timer.cfg" #include "../systask/serial.cfg" #include "../systask/logtask.cfg" #include "../tinet.cfg" INCLUDE("\"tinet_id.h\""); INCLUDE("\"echos4.h\""); を、TOPPERS/ASP 環境では、以下のように変更する。 #include "echos4.h" INCLUDE("../syssvc/serial.cfg"); INCLUDE("../syssvc/logtask.cfg"); INCLUDE("target_timer.cfg"); INCLUDE("../tinet_asp.cfg"); (5) サンプルプログラム用 TINET コンフィギュレーションファイル (tinet_$(UNAME).cfg) #include と INCLUDE の取扱いが異なっているので、 これに合わ せて変更する必要がある。以下に変更例を示す。 TOPPERS/JSP 環境 での指定 #include "echos4.h" INCLUDE("\"echos4.h\""); を、TOPPERS/ASP 環境では、以下のように変更する。 #include "echos4.h" (6) サンプルプログラム用ルーティング表(route_cfg.c) インクルードファイルが異なっている。 TOPPERS/JSP 環境でのイ ンクルードファイルの指定 #include #include を、TOPPERS/ASP 環境では、以下のように変更する。 #include (7) サンプルプログラム用コンパイル時指定コンフィギュレーション (tinet_app_config.h) 変更点はない。 2. 変更必須項目 以下に、TINET リリース 1.7 で変更され、変更が必須の項目を示す。 (1) ルーティング表(route_cfg.c) [1] ルーティング表名 デュアルスタック対応のためルーティング表名を、 IPv6 と IPv4 で個別に指定する必要がある。route_cfg.c で定義して いるルーティング表名を、 以下のように変更する。 [1] IPv6 用のルーティング表名 routing_tbl を routing6_tbl に変更する。 [2] IPv4 用のルーティング表名 routing_tbl を routing4_tbl に変更する。 [2] IPv4 用ルーティング表の構造体名(TINET リリース 1.1) T_RT_ENTRY を T_IN4_RTENTRY に変更する。 (2) ルーティングに関するコンパイル時コンフィギュレーションパラメー タ デュアルスタック(SUPPORT_INET6 と SUPPORT_INET4 の両方)を 選択した場合、 以下の項目を個別に指定する必要がある。 [1] NUM_STATIC_ROUTE_ENTRY NUM_IN6_STATIC_ROUTE_ENTRY(IPv6 用)と NUM_IN4_STATIC_ROUTE_ENTRY(IPv4 用) [2] NUM_REDIRECT_ROUTE_ENTRY NUM_IN6_REDIRECT_ROUTE_ENTRY(IPv6 用)と NUM_IN4_REDIRECT_ROUTE_ENTRY(IPv4 用) (3) TINET リリース 1.1 との互換性のためのコンパイル時コンフィギュ レーションパラメータ [1] NUM_ROUTE_ENTRY NUM_IN4_STATIC_ROUTE_ENTRY に変更する。 [2] NUM_IN4_REDIRECT_ROUTE_ENTRY 新たに追加する。 3. 変更推奨項目 以下に、TINET リリース 1.7 で変更され、TINET リリース 1.5 から TINET リリース 1.7 へ移行において、変更または新たに定義すべき推奨項目を示す。 (1) ルーティングに関するコンパイル時コンフィギュレーションパラメー タ 以下の項目を個別に指定する事を推奨する。 ただし、デュアルス タック(SUPPORT_INET6 と SUPPORT_INET4 の両方)を選択した場合 は変更必須項目である。 [1] NUM_STATIC_ROUTE_ENTRY NUM_IN6_STATIC_ROUTE_ENTRY(IPv6 用)と NUM_IN4_STATIC_ROUTE_ENTRY(IPv4 用) [2] NUM_REDIRECT_ROUTE_ENTRY NUM_IN6_REDIRECT_ROUTE_ENTRY(IPv6 用)と NUM_IN4_REDIRECT_ROUTE_ENTRY(IPv4 用)