Cente TCP/IPv4

Cente TCP/IPv4

Cente TCP/IPv4


改版日 2004.07.30
バージョン Ver1.02

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リクエストを送信してルーティングテーブルを構築する機能があるが、不要な場合は送信しないようにできるようにした。