Cente TCP/IPv4

Cente TCP/IPv4

sys_ip_close()時にDHCP情報をリセットするよう変更

sys_ip_close()によってIPリンクを閉じても、DHCPcがRENEW時間に達するとRENEWを行おうとしていた。sys_ip_close()が呼ばれたらDHCP情報も初期化するようにした。

tcp_acp_cep()のタイムアウトと同時に着信を受けると通信不可になる不具合修正

tcp_acp_cep()のタイムアウトと同時に着信を受けてしまうと、tcp_acp_cep()からはE_TMOUTで返るが、TCPモジュール内では接続完了してしまっていた。その場合は、相手にRESETを返して初期上体に戻すようにした。

DHCPサーバからIPアドレスを取得できないことがある不具合修正

Planex社のブロードバンドルータBRL-04ARからIPアドレス割り当てを受けられなかったので修正した。

tcp_rxtaskでE_CTX発生する不具合修正

環境によっては、tcp_rxtask()のwai_sem()でE_CTXが発生することがあったので、環境依存しないコーディング方法に修正。

tcp_cre_cep()に正しくコールバック関数を指定できない不具合修正

コールバック関数のポインタを指定してもコールバック関数が呼ばれない状態だったので修正。tcp_vcre_cep()は正しく設定可能。

TCP着信が失敗することがある不具合修正

同じポート番号から何度もTCP着信を繰り返すと、そのうちにSYNACKに対するACKを受信してRSTを返してしまうことがあったので修正。FTPのデータポート(20)からの着信などで発生する。

tcp_con_cep()で接続した通信で、遅延ACKが動作していない不具合修正

着信して接続した通信では遅延ACKを使用しているが、能動的に接続した通信では未使用になっていたので修正した。

相手から通知されたMSSを正しく使用していない不具合修正

相手から通知されたTCPのMSSを内部変数に反映させる部分の不具合で、1460を通知されても送信MSSは1284になってしまっていたので修正した。

tcp_con_cep()でTMO_FEVRを指定してもE_TMOUTが返る不具合修正

TMO_FEVRを指定しても、定義されている最大回数だけSYNパケットをリトライしたあとE_TMOUTで返っていた。TMO_FEVRの場合は定義されている回数にかかわらずリトライを繰り返すようにした。

環境によっては、送信パケットが正しく構築できない不具合修正

環境によっては送信Ethernetパケットの802.3ヘッダとIPヘッダの間に2byteの空間が空いてしまうことがあったので修正

存在しない相手にパケットを送信し続けると誤動作する対策

ARPのペンディングリストに制限を設け、存在しない相手にパケットを送信し続けてもバッファが枯渇しないようにした。

起動時にRIPリクエストの送信を行うか否かの定義を追加

デフォルトで、起動時にRIPリクエストを送信してルーティングテーブルを構築する機能があるが、不要な場合は送信しないようにできるようにした。

Cente TCP/IPv4

DHCPcで、特定のIPアドレスをDHCPdに要求する機能追加

あらかじめパラメータで決めたIPアドレスをDHCPdに要求する機能を追加。DHCPd側でそれが受け入れられなかった場合は従来どおりの割り当てが行われる。

TCPシーケンス番号不具合修正

TCPシーケンス番号が0xffffffffから0x00000000へラウンドしたときに誤動作する環境があったので、環境依存しないようなコーディング方法に修正。

FTPcのAPPENDコマンド実行中のエラーで誤動作する不具合修正

FTPcで、APPENDコマンドを実行しているときにエラーが発生するとファイルがオープンしたままになってしまう不具合を修正

FTPcマルチセッション対応

FTPcで、同時に複数のFTPdに接続できるよう拡張。

ARPのAPI拡張

DHCPdオプション対応のため、ARPのキャッシュを削除するAPIを追加。

Cente TCP/IPv4

TCP省コピーAPI対応

バッファコピーを行わないTCPのAPIに対応。

TCPキープアライブ対応

RFC1122で規定されているTCPキープアライブ機能に対応。

マルチIP対応

同時に複数のI/FでTCP/IPを利用できるマルチIP機能に対応。

tcp_con_cep()不具合修正

初期化せずに使用している変数が存在したので修正。

tcp_con_cep()でRESETを受信したときの不具合修正

外部に接続を試みたときに相手からRESETを受信すると、内部状態が「接続試行中」のままになり、次回以降tcp_con_cep()を呼ぶと正しく動作しない不具合を修正。

外部からTCPSYNを受信したときの遅延修正

外部からTCP接続を受けたとき、応答のSYNACKを返すまで60msec程度ウエイトが入る不具合修正。

tcp_rcv_dat()の返り値修正

tcp_rcv_dat()でデータ待ちのとき、相手から接続されると長さ0でE_OKを返していたので、E_CLSを返すよう修正。

tcp_snd_dat()不具合修正

TCP接続完了状態でないときにtcp_snd_dat()を呼ぶと関数から戻らなくなる不具合修正。

tcp_rcv_dat()不具合修正

tcp_rcv_dat()を呼んでいるタスクが削除されると、その後tcp_cls_cep()を呼んでも受信状態から抜けられなくなる不具合修正。

Page 9 of 9