Ignore:
Timestamp:
Jul 23, 2017, 2:29:40 PM (7 years ago)
Author:
coas-nagasima
Message:

SVNプロパティを設定

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 to text/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
     31.  リリース 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         追加した。以下に設定する条件を示す。
    2927
    3028         SUPPORT_INET6              .   .  ON  ON  ON  ON
     
    3533         _IP4_CFG                  ON  ON   .  ON  ON  ON
    3634
    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               イルを追加した。 以下にソースファイルの一覧を示す。
    156143
    157144               netinet/tcpn_usrreq.c
     
    162149               netinet/udpn_usrreq_nblk.c
    163150
    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         フィギュレーションパラメータと構造体名は「変更必須項目」になった。
    247224
    248225         [1]   NUM_ROUTE_ENTRY
    249                NUM_IN4_STATIC_ROUTE_ENTRY に変更する。
     226               NUM_IN4_STATIC_ROUTE_ENTRY に変更する。
    250227         [2]   NUM_IN4_REDIRECT_ROUTE_ENTRY
    251                æ–°ãŸã«å®šç¾©ã™ã‚‹ã€‚
     228               新たに定義する。
    252229         [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 に
    288261         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
     3142.  リリース 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
     3933.  リリース 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
     7154.  リリース 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)  以下のコンパイル時コンフィギュレーションパラメータを変更した。
    872801
    873802            NUM_MPF_NET_BUF_4096
    874             ↓
     803           
    875804            NUM_MPF_NET_BUF_REASSM
    876805
    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         定義するように変更した。
    901827
    902828            MAX_TCP_RCV_SEG
     
    905831            LOMTU
    906832
    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 に
    933856
    934857            #include <netinet/in_itron.h>
    935858
    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
     9965.  リリース 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 から
    10971004
    10981005            INCLUDE("<netinet/in.h>");
    10991006
    1100          ã‚’削除し、tinet/netinet/ip.cfg に
     1007         を削除し、tinet/netinet/ip.cfg に
    11011008
    11021009            INCLUDE("<netinet/in.h>");
    11031010
    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
     10596.  リリース 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               順番を見直した。
    12191112
    12201113                  #include "tinet_app_config.h"
    12211114                  #include "tinet_sys_config.h"
    12221115                  #include "tinet_cpu_config.h"
    1223                   ↓
     1116                 
    12241117                  #ifdef SUPPORT_ETHER
    12251118                  #include "tinet_nic_config.h"
     
    12291122                  #include "tinet_app_config.h"
    12301123
    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 として独立して定義した。
    12351128
    12361129                    struct t_if_softc {
     
    12431136                    typedef struct t_if_softc T_IF_SOFTC;
    12441137
    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 に変更した。
    12521145
    12531146                  T_IF_ETHER_SOFTC *sc;
    1254                   ↓
     1147                 
    12551148                  T_IF_SOFTC *ic;
    12561149
    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_SOFTC
    1261                  ã‹ã‚‰ struct t_ed_softc に変更した。
    1262                ãƒ»ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®é–¢æ•°ã®å¼•æ•°ã‚’ T_ED_SOFTC
    1263                  ã‹ã‚‰ 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 のインクルード指定の変更
    12711164
    12721165                    #include <netdev/if_edreg.h>
    1273                     ↓
     1166                   
    12741167                    #include "if_edreg.h"
    12751168
    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                 変更した。
    12811174
    12821175                    ed_xmit
    12831176                    ed_init_sub
    12841177
    1285                ãƒ»é–¢æ•°ã®å¼•æ•°ãŒ T_ED_SOFTC から T_IF_SOFTC に代わったが、
     1178               ・関数の引数が T_ED_SOFTC から T_IF_SOFTC に代わったが、
    12861179
    12871180                    T_ED_SOFTC *sc = ic->sc;
    12881181
    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 の変更
    12921185
    12931186                  INCLUDE("<netdev/if_ed.h>");
    12941187                  INCLUDE("<netdev/if_edreg.h>");
    1295                   ↓
     1188                 
    12961189                  INCLUDE("\"if_edreg.h\"");
    12971190
    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 の変更
    13021195
    13031196                  #ifdef IF_ETHER_CFG_ED
    13041197                  #include "netdev/if_ed.cfg"
    13051198                  #endif   /* of #ifdef IF_ETHER_CFG_ED */
    1306                   ↓
     1199                 
    13071200                  #include "nic.cfg"
    13081201
    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 の定義の後に追加した。
    13171210
    13181211                    ifdef TINET_ROOT
     
    13201213                    endif
    13211214
    1322                ãƒ»ã€Œã‚«ãƒ¼ãƒãƒ«ã«é–¢ã™ã‚‹å®šç¾©ã€ã®å¤‰æ›´
    1323                  ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãƒãƒƒãƒˆãƒ¯ãƒ¼
    1324                  ã‚¯ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®ã‚ªãƒ–ジェクトを含めるため、
    1325                  KERNEL_COBJS の定義の後に追加した。
     1215               ・「カーネルに関する定義」の変更
     1216                 ネットワークインタフェースのディレクトリとネットワー
     1217                 クインタフェースのオブジェクトを含めるため、
     1218                 KERNEL_COBJS の定義の後に追加した。
    13261219
    13271220                    ifdef TINET_ROOT
     
    13301223                    endif
    13311224
    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               クルード順番を以下のように変更した。
    13501243
    13511244                  tinet_defs.h
    13521245                  tinet_config.h
    13531246
    1354          [3]   tinet_cfg.c に出力する標準のインクルードファイルで、 以
    1355                ä¸‹ã®ãƒ•ã‚¡ã‚¤ãƒ«æŒ‡å®šã‚’削除した。
     1247         [3]   tinet_cfg.c に出力する標準のインクルードファイルで、 以
     1248               下のファイル指定を削除した。
    13561249
    13571250                  #include <netinet/in_rename.h>
    13581251
    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         ンを調整する場合に、 調整量を指定する。
    13711264
    13721265            tinet/net/ethernet.h
    13731266
    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         スファイルから以下のファイルを削除した。
    13791271
    13801272            #include <net/net_rename.h>
    13811273            #include <netinet/in_rename.h>
    13821274
    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         態にならないように変更した。
    13891280
    13901281            ed_pio_readmem
    13911282            ed_pio_writemem
    13921283
    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                  #  イーサネット・ディバイスドライバの選択
    14091300                  NET_DEV = if_ed
    14101301
    1411                ã‚’指定するå¿
    1412 è¦ãŒã‚る。
    1413 
    1414    (21)  tinet/netapp/netapp.h に、 コンソールに用いるシリアルポート番
    1415          å·ã®å®šç¾©ã‚’追加した。
     1302               を指定する必要がある。
     1303
     1304   (21)  tinet/netapp/netapp.h に、 コンソールに用いるシリアルポート番
     1305         号の定義を追加した。
    14161306
    14171307            /*
    1418              *  コンソールに用いるシリアルポート番号
     1308             *  コンソールに用いるシリアルポート番号
    14191309             */
    14201310            #ifndef CONSOLE_PORTID
     
    14221312            #endif   /* of #ifndef CONSOLE_PORTID */
    14231313
    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) に関して、
    14401328
    14411329            #define TCP_MSS (IP4_MSS - (IP4_HDR_SIZE + TCP_HDR_SIZE))
    14421330
    1443          ã‹ã‚‰ã€BSD の標準値
     1331         から、BSD の標準値
    14441332
    14451333            #define TCP_MSS 512
    14461334
    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         下の行を追加した。
    14711354
    14721355            { 0xffffffff, 0xffffffff, 0 },
    14731356
    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 に定義した。
Note: See TracChangeset for help on using the changeset viewer.