(toppers-users 8) Re: TINET 1.7 - TCPハンドシェイク時のマルチキャストアドレス判定について

Meikyo駒込 komagome @ meikyo.co.jp
2019年 11月 13日 (水) 11:35:09 JST


阿倍先生

明京電機の駒込です。
ご確認いただきありがとうございました。
ご教示していただいた場所を修正し、様子を見ることに致します。

お忙しい中、ご対応ありがとうございました。
これからもよろしくお願いいたします。



2019年11月13日(水) 9:58 阿部 司 <abe @ tomakomai-ct.ac.jp>:

> 明京電機株式会社 駒込様
> CC: 皆様
>
> 苫小牧高専の阿部です。
>
> > この箇所を、
> > まず IPv4, 6パケットかを判別し、
> > それぞれのマルチキャストパケット判断マクロを実行すると
> > 安定するように見受けられます。
> >
> > IN_IS_NET_ADDR_MULTICAST の箇所を以下に変更;
> >
> > if (GET_IP_VER(input)==IPV6_VERSION ?
> IN_IS_ADDR_MULTICAST(&GET_IP6_HDR(input)->dst) :
> > IN4_IS_ADDR_MULTICAST(ntohl(GET_IP4_HDR(input)->dst)))
> >
> >
> > ただし、我々のアプリにTINETを移植した際に漏れがないか、
> > 例えばどこかでIPv4射影アドレスに展開する必要があったのか?
> > なども気にかかっております。
>
> ご指摘の通り、問題を確認しました。
>
> netinet/in_var.h の 143行目を以下のように変更しました。
> 変更内容も論理的には同じです。
>
> #define IN_IS_NET_ADDR_MULTICAST(nbuf) (GET_IP_VER(nbuf)==IPV6_VERSION \
>          ?IN6_IS_ADDR_MULTICAST(&GET_IP6_HDR(nbuf)->dst)        \
>          :IN4_IS_ADDR_MULTICAST(ntohl(GET_IP4_HDR(nbuf)->dst)))
>
> 残念ながら、私の環境では、再現が困難なため、
> TCP の一般的な試験のみ行いました。
>
> IN_IS_NET_ADDR_MULTICAST を使っているのは、検索した結果では、
> netinet/tcp_input.c、netinet/tcp_subr.c だけであるため、
> TCP 以外では問題は発生しないと考えられますが、確実ではありません。
> 変更して使っていただき確認をお願いします。
>
> なお、次期リリースは未定ですが、これ以外の問題も修正して、
> 配布したいと考えております。
>
> ご迷惑をお掛けしますが、よろしくお願いします。
>
> --
> .\" 苫小牧工業高等専門学校 創造工学科 情報科学・工学系
> .\" 教授 阿部 司
> .\" 〒059-1275 北海道苫小牧市字錦岡443番地
> .\" E-mail: abe @ tomakomai-ct.ac.jp  TEL/FAX: 0144-67-8937
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://www.toppers.jp/pipermail/users/attachments/20191113/b793e522/attachment.html>


More information about the USERS mailing list