こんにちは、
私は S32G と SJA1110 で bsp43 を実行しており、IGMP スヌーピングを有効にしてマルチキャスト ストリームを動的にルーティングしようとしています。IGMP に関連するいくつかの固有の問題を特定しましたが、解決方法がわかりません。IGMP スヌーピングを無効にすると、マルチキャスト パケットがスイッチに溢れるようになることを確認しました。SO、IGMP スヌーピング オプションが何かを実行しているということです... ただし、これは予期された動作ではありません。
- マルチキャストトラフィックは常に、列挙された最も低いアクティブポートに転送されます。
- ポート 3 のノードが IGMP 経由のトラフィックを要求し、ポート 4 から出力されるストリームは、ポート 1 がトラフィックを要求したかのように、ポート 1 から出力されます (そのリンクがアクティブな場合)。ポート 1 のリンクがアクティブでない場合、そのリンクがアクティブであればトラフィックはポート 2 に転送されます。
- mdbを使用してトラフィックを手動でルーティングすることはできますが、IGMPスヌーピングがこれを自動的に管理することを期待しています。
- マルチキャストクエリーを有効にしても、スイッチポートからメンバーシップクエリーが出力されない
- DSAブリッジインターフェースにはIGMPクエリがありますが、スイッチにコネクテッドされた他のリンクにはIGMPクエリが表示されません。
- ブリッジ ポートからの IGMP クエリをトラップし、スイッチ ポートにリダイレクトするための tc ルールを設定する必要があるのではないかと思います。
これが Linux 構成の問題なのか、スイッチ ハードウェアの制限なのかはわかりません。
ご提案があればよろしくお願いします。