こんにちは、
詳しい説明をありがとうございました。
「3. 現在の構成」 で説明したLinuxコマンドが、 根本的にサポートされていない構成を表しているのか、あるいは私の側に何らかの構成上の不足があるのかどうかを確認したいと思います。
私の現在のテスト環境は以下のとおりです。
• パソコン1台
• このPCには3つのNICが搭載されています
・各NICはボードのEMACポートのいずれかに直接コネクテッドされています。
PC側では、 VLANインターフェースの設定は一切行っていません。単に通常のpingを送信しているだけです。
私が期待する動作は以下のとおりです。
PCがpingを送信すると、ボードは宛先IPアドレスと対応するブリッジドメイン(BD)に基づいてパケットを転送し、そのVLANに属するポートに送信する必要があります。
私が実現したい構成は以下のとおりです。
VLAN10:HIF0、EMAC0
VLAN20:HIF1、EMAC1
VLAN30:HIF2、EMAC2
VLAN40:HIF3、EMAC0、EMAC1、EMAC2
言い換えると:
• EMAC0/1/2 はそれぞれ専用の VLAN (10/20/30)にコネクテッドです。
• 同時に、 HIF3 と通信する 共有 VLAN40 にも参加します 。
現在のLinuxコマンドでは:
• すべてのポートを VLAN1 に設定すると 、すべてが期待どおりに動作します。
• しかし、それらを VLAN10/20/30 に分割すると 、 入力/出力カウンターは VLAN1 でのみ増加し 、VLAN10/20/30 では増加しません。
そこで、私には2つの質問があります。
1. このタイプのVLAN構成はPFE VLAN_BRIDGEモデルでサポートされていますか?それとも、私が何か設定手順を見落としているのでしょうか?
2. 現在、PC はタグなしパケット (通常の ping)を送信しています。
このCASE、PFEが受信トラフィックを特定のVLAN BDに分類することは不可能なのでしょうか?
つまり、この設定ではPCがVLANタグ付きパケットを送信する必要があるのでしょうか?
例えば、タグ付きトラフィックを送信するには、PCをこのように設定すべきでしょうか?
ip link add link eth0 name eth0.40 type vlan id 40
ip link set eth0.40 up
ping -I eth0.40 192.168.xx
この構成が実現可能かどうか、あるいはこのシナリオに適した推奨されるアプローチがあるかどうかについて、ご助言いただければ大変ありがたいです。
よろしくお願いします。
こんにちは、 @minJ さん。
私の回答は以下のとおりです。
マスタースレーブ構成でのフラッディングを回避するための解決策としては、そのモードの使用を避け、代わりにIPCFを使用してフレームを他のドメインに転送することが考えられます。たとえば、M7_0がPFEの所有者である場合、一部のフレームのみをA53/Linuxドメインに転送します。ご要望によっては、これは有効な選択肢となり得ます。このアイデアについてさらに詳しい説明が必要な場合はお知らせください。
他に質問があればお知らせください。
こんにちは、 @minJ さん。
3. 現在の構成について言及している文書はどれですか? PFE Linux ドキュメントのすべての文書を確認しましたが、そのセクションは見つかりませんでした。該当箇所のページ番号と文書の改訂版番号を明記してください。
VLANポートにおけるタグなしパッケージの分類に関して、以前のドキュメントを誤解していました。そのためには、BDをデフォルト設定で構成する必要があります。その説明は以下のとおりです。
デフォルトのBD:
このブリッジドメインの工場出荷時のデフォルトVLAN IDは1です。このドメインは、デフォルトのBD VLAN IDと同じVLANタグを持つ入力フレーム、またはVLANタグがまったくない入力フレーム(タグなしイーサネットフレーム)を処理します。
これはタグなしフレームを処理できる唯一のBD構成です。したがって、この構成ではホストからタグ付きメッセージを送信する必要はありません。さらに、他のタイプのBDはVLANタグのないフレームを処理しません。
先ほどは混乱させてしまい、申し訳ありませんでした。他に質問があれば教えてください。
こんにちは、
「3.私が言及した「現在の構成」とは、最初の質問で述べたLinuxコマンドのことです。
この点をもっと早く明確にしておかなかったことをお詫び申し上げます。
# ブリッジドメインとインターフェースの設定
libfci_cli bd-add --vlan 10
libfci_cli bd-add --vlan 20
libfci_cli bd-add --vlan 30libfci_cli bd-update --vlan 10 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOOD
libfci_cli bd-update --vlan 20 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOOD
libfci_cli bd-update --vlan 30 --ucast-hit FORWARD --ucast-miss FLOOD --mcast-hit FORWARD --mcast-miss FLOODlibfci_cli bd-insif --vlan 10 --i hif0 --tag OFF
libfci_cli bd-insif --vlan 10 --i emac0 --tag OFF
libfci_cli bd-insif --vlan 20 --i hif1 --tag OFF
libfci_cli bd-insif --vlan 20 --i emac1 --tag OFF
libfci_cli bd-insif --vlan 30 --i hif2 --tag OFF
libfci_cli bd-insif --vlan 30 --i emac2 --tag OFF# PHYインターフェースモード設定
libfci_cli phyif-update --i emac0 -E --promisc OFF --mode VLAN_BRIDGE
libfci_cli phyif-update --i emac1 -E --promisc OFF --mode VLAN_BRIDGE
libfci_cli phyif-update --i emac2 -E --promisc OFF --mode VLAN_BRIDGE
libfci_cli phyif-update --i hif0 -E --promisc OFF --mode VLAN_BRIDGE
libfci_cli phyif-update --i hif1 -E --promisc OFF --mode VLAN_BRIDGE
libfci_cli phyif-update --i hif2 -E --promisc ON --mode VLAN_BRIDGElibfci_cli bd-stent-add --vlan 10 --mac
--i hif0
libfci_cli bd-stent-update --vlan 10 --mac--egress hif0
libfci_cli bd-stent-add --vlan 20 --mac--i hif1
libfci_cli bd-stent-update --vlan 20 --mac--egress hif1
libfci_cli bd-stent-add --vlan 30 --mac--i hif2
libfci_cli bd-stent-update --vlan 30 --mac--egress hif2
私が書いた Linux コマンドは、次のドキュメントに基づいています: LNX PFE ドライバ ユーザー マニュアル (Rev.25.0) PFE FCI API リファレンス (Rev.2.7.0) p144。
あなたの回答によると、上記のLinuxコマンドのようにL2ブリッジとVLANを設定した場合、PCから送信されるタグなしパケットは処理できないということでしょうか?
静的MACアドレスを指定した場合でも、タグなしパケットがVLANメンバー(HIF、EMAC)によって処理されないかどうかを知りたいです。
さらに、VLANタグなしで(つまり、タグなしパケットとして)パケットをPCに転送することが可能かどうかについても興味があります。
ありがとう。
こんにちは、 @minJ さん。
返信が遅くなり申し訳ありません。現在、業務が多忙なため、問題の分析にもう少し時間が必要です。
ご辛抱いただきありがとうございます。
こんにちは、 @minJ さん。
大変お待たせして申し訳ございませんでした。「上記のLinuxコマンドのようにL2ブリッジとVLANを設定した場合、PCから送信されるタグなしパケットは処理できないということでしょうか? 」という質問にお答えします。直接的な回答を見つけることができませんでしたが、使用しているコマンドを比較すると、主な違いは、Linux PFE ドキュメントでは VLAN 1 が使用されていることです。これはデフォルトの BDであり (削除できないことに注意してください)、この VLAN は ID 1 または VLAN タグのないすべてのメッセージをキャッチします。明示的には、試みている構成がサポートされていないとは述べられていませんが、デフォルトのBDのみがタグなしフレームを処理でき、標準BDは一致するIDを持つタグ付きフレームのみを取得するため、そのように考えられます。
社内ドキュメントをいくつか調べてみたところ、デフォルトのBDは1つしかなく、別のBDを作成するオプションがないことがわかりました。このユースケースに対する推奨される回避策は、ポートごとに異なるマルチキャストアドレスを使用することです。これが現実的な解決策ではない可能性は承知していますが、言及する価値はあると思います。
重ねてお待たせして申し訳ありませんでした。
他に質問があれば教えてください。