omnet ++を使用して、マルチキャストグループアドレスの特定のルートエントリを変更しています。通常、マルチキャストルートエントリは、メッセージの送信元に最適な(最短の)ルートを使用して追加されます。C++でのルートエントリ条件
しかし、私がする必要があるのは、特定のマルチキャストアドレスに対してこの動作を変更して、ソース条件に最短のパスを使用せず、代わりに「最初のエントリ」を使用することです。
私が言っていることは、次のような到着時刻の3つのインターフェイスを経由してルータ上で(マルチキャストルートエントリがない)マルチキャストパケットを受信した場合です。1.eth0 2.eth1 3.eth2、iteth自動的にインターフェイスeth0をRPFとして設定し、これが最適なパスであるかどうかを計算しません。
正常な動作は既にomnettにコード化されていましたが、新しいルートを追加する機能が見つかったとき、どこに新しいルートを追加するのか分かりません。
私は正しいものを見つけたと思いますか?これはPIMDM.ccの新しいルートを作成します。 https://image.prntscr.com/image/YwhBxpDpRnqCAZCgmYINow.png ただし、存在しない場合にのみ作成されます。すぐに正しいRPFをチェックしていませんか?ソースへのパスが短いマルチキャストパケットが他のインターフェイスに来たら、RPF intをそのインターフェイスに変更する必要があります。 https://image.prntscr.com/image/ckEIO1XWRCS1jEgVjcUOlw.png –
わかりません。それらは 'addMulticastRoute'メソッドを呼び出す他のコードかもしれません。あなたが投稿した画像は、無関係のコード断片しか含まれていないので、本当に役立たない。ライブラリやそれが実装する標準のドキュメントを見ましたか? –