[313] | 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 用)
|
---|