2016-12-07 11 views
1

sendmsg()に発信IPv6アドレスを指定するためにIPV6_PKTINFOオプションを使いたいと思います。ソケットはアドレスにもインターフェースにも束縛されません。私はいつも、送信元アドレスと一緒にifIndexを指定する必要がありますソケットオプションIPV6_PKTINFO

(RFC3542によると:

カーネルは、要求された送信元アドレスがアドレスがスコープされたノードに割り当てられた ユニキャストアドレスが実際にあることを確認する必要があり 1。そのような場合、 カーネルは、宛先アドレスの ゾーンまたは発信インターフェイスに基づいて、適切なスコープゾーンを最初に決定する必要があります(知られている場合) アドレスを修飾します。これはまた、実現可能でないことを意味します 発信インターフェイスが である場合を除いて、 IPV6_PKTINFO固定オプションによって、バインドされていないソケットの送信元アドレスを指定します。アプリケーションは、 の目的のために単にbind()を使うべきです。 )

ifindexを指定しないと、このオプションは無視する必要がありますか? ありがとう、Renata

答えて

0

インターフェイスインデックスがわかっている場合は、それを指定できます。 IPv6リンクローカルアドレスを設定しようとしている場合を除き、必須ではありません。

関連する問題