Cente TCP/IPv4

Cente TCP/IPv4

Cente TCP/IPv4


改版日 2013.07.19
バージョン Ver1.34

・I/F IDを取得する機能を追加
tcp_get_opt()、udp_get_opt()にて、TCP/UDPの通信端点に設定されているI/F IDを取得する機能を追加した。
・FTPdで、データポート接続に失敗すると以後該当ファイルへのアクセスができなくなる
FTPdから発信するデータポートのTCP接続がなんらかの理由で失敗した場合、以後アクセスしようとしていたファイルの上書き・削除ができない状態になっていた。これを修正した。(Cente障害情報:001-0038)
・FTPcでsystemコマンドの実行結果に不要な文字列が付加されてしまう
FTPcで、システムの種別を取得するsystemコマンドを実行した際、ユーザバッファに格納される実行結果(文字列)の後ろに不要な文字列が付加されていた。これを修正した。(Cente障害情報:001-0039)
・Cente Shellでftpcコマンドが終了しなくなる場合がある
シェルでftpcコマンドを実行中にFTPdとの経路が絶たれるなど通信できなくなった場合、ftpcコマンドがいつまでも終了しない状態になっていた。これを修正した。(Cente障害情報:001-0040)
・TCPの着信待ちと着信待ち解除を繰り返すと、それ以降新たなTCP接続ができなくなることがある現象について
相手先からのTCP着信のタイミングと、TCP着信待ちAPIのタイムアウトまたは着信待ち解除のタイミングが一致したとき、通信端点が不正な状態になることがあった。これによって、以後新たなTCP接続ができなくなる状態が発生していた。これを修正した。(Cente障害情報:001-0041)
・DHCPモードにした状態で短時間にリンクアップ/リンクダウンを繰り返すと、IP通信できない状態になる
リンクアップとリンクダウンを短時間に繰り返すと、DHCPの停止を実行している最中に別タスクによるDHCPの開始処理が割り込まれるケースがあった。この部分の排他制御が不足しており、割り込まれたDHCP停止処理が終了しない状態になっていた。これを修正した。(Cente障害情報:001-0042)
・TCPのSelective Ack(SACK)機能を使用しているときに、正しく再送パケットを扱えずに通信できなくなる
SACK機能使用時に、再送が必要な範囲を示すSACKブロック処理部に不具合があり、正しくSACKパケットを送信できない状態だった。これを修正した。(Cente障害情報:001-0043)
・複数のI/Fで同一の自IPアドレスを使用した環境で、FTPd/cのデータポート接続に失敗する
マルチIP環境下において、FTPd/cではデータポートで使用するI/Fを自IPアドレスによって選択していた。そのため、複数のI/Fで同一IPアドレスを自IPアドレスとした場合、本来のI/Fとは異なるI/Fが選択されて、接続に失敗していた。これを修正した。(Cente障害情報:001-0044)
・複数I/Fのうち、あるI/Fをリンクダウンさせると他のI/FもIP通信できなくなる
パッケージのBSPに含まれるEthernetドライバで、送信デスクリプタフル状態になったときにリンクダウンさせると他のI/FのIP通信もできない状態になっていた。これを修正した。(Cente障害情報:099-0002)
・OSのサービスコールを直接呼び出している
del_dtqなどOSのサービスコールを直接呼び出している部分が残っていたので、全てctkernel経由に変更した。
・その他改善
コード上の軽微な改善を行った。